packer: Print command help if "--help" is given

This commit is contained in:
Mitchell Hashimoto 2013-06-02 11:49:01 -07:00
parent bbafcfa938
commit aa1304f860
1 changed files with 11 additions and 1 deletions

View File

@ -154,7 +154,8 @@ func (e *coreEnvironment) Provisioner(name string) (p Provisioner, err error) {
func (e *coreEnvironment) Cli(args []string) (result int, err error) { func (e *coreEnvironment) Cli(args []string) (result int, err error) {
log.Printf("Environment.Cli: %#v\n", args) log.Printf("Environment.Cli: %#v\n", args)
if len(args) == 0 || args[0] == "--help" || args[0] == "-h" { // If we have no arguments, just short-circuit here and print the help
if len(args) == 0 {
e.printHelp() e.printHelp()
return 1, nil return 1, nil
} }
@ -188,6 +189,15 @@ func (e *coreEnvironment) Cli(args []string) (result int, err error) {
} }
} }
// If we're supposed to print help, then print the help of the
// command rather than running it.
for _, arg := range args {
if arg == "--help" || arg == "-h" {
e.ui.Say(command.Help())
return 0, nil
}
}
log.Printf("Executing command: %s\n", args[0]) log.Printf("Executing command: %s\n", args[0])
return command.Run(e, args[1:]), nil return command.Run(e, args[1:]), nil
} }