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.