24 lines
836 B
Go
24 lines
836 B
Go
package packer
|
|
|
|
// A command is a runnable sub-command of the `packer` application.
|
|
// When `packer` is called with the proper subcommand, this will be
|
|
// called.
|
|
//
|
|
// The mapping of command names to command interfaces is in the
|
|
// Environment struct.
|
|
type Command interface {
|
|
// Help should return long-form help text that includes the command-line
|
|
// usage, a brief few sentences explaining the function of the command,
|
|
// and the complete list of flags the command accepts.
|
|
Help() string
|
|
|
|
// Run should run the actual command with the given environmet and
|
|
// command-line arguments. It should return the exit status when it is
|
|
// finished.
|
|
Run(env Environment, args []string) int
|
|
|
|
// Synopsis should return a one-line, short synopsis of the command.
|
|
// This should be less than 50 characters ideally.
|
|
Synopsis() string
|
|
}
|