Documentation
¶
Overview ¶
Package command holds support functions and types for writing gb and gb plugins
Index ¶
- func FindProjectroot(path string) (string, error)
- func ImportPaths(ctx Context, cwd string, args []string) []string
- func MergeEnv(env []string, args map[string]string) []string
- func MustGetwd() string
- func NewContext(projectroot string, options ...func(*gb.Context) error) (*gb.Context, error)
- func RunCommand(fs *flag.FlagSet, cmd *Command, projectroot, goroot string, args []string) error
- type Command
- type Context
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindProjectroot ¶
FindProjectroot works upwards from path seaching for the src/ directory which identifies the project root.
func ImportPaths ¶
importPaths returns the import paths to use for the given command line.
func NewContext ¶
NewContext creates a gb.Context for the project root.
Types ¶
type Command ¶
type Command struct {
// Name of the command
Name string
// UsageLine demonstrates how to use this command
UsageLine string
// Single line description of the purpose of the command
Short string
// Description of this command
Long string
// Run is invoked with a Context derived from the Project and arguments
// left over after flag parsing.
Run func(ctx *gb.Context, args []string) error
// AddFlags installs additional flags to be parsed before Run.
AddFlags func(fs *flag.FlagSet)
// Allow plugins to modify arguments
FlagParse func(fs *flag.FlagSet, args []string) error
// ParseArgs provides an alternative method to parse arguments.
// By default, arguments will be parsed as import paths with
// ImportPaths
ParseArgs func(ctx *gb.Context, cwd string, args []string) []string
}
Command represents a subcommand, or plugin that is executed within a gb project.
Click to show internal directories.
Click to hide internal directories.