|
|
|
|
@ -23,12 +23,14 @@ func (Command) Help() string {
|
|
|
|
|
func (c Command) Run(env packer.Environment, args []string) int {
|
|
|
|
|
var cfgDebug bool
|
|
|
|
|
var cfgForce bool
|
|
|
|
|
var cfgParallel bool
|
|
|
|
|
buildOptions := new(cmdcommon.BuildOptions)
|
|
|
|
|
|
|
|
|
|
cmdFlags := flag.NewFlagSet("build", flag.ContinueOnError)
|
|
|
|
|
cmdFlags.Usage = func() { env.Ui().Say(c.Help()) }
|
|
|
|
|
cmdFlags.BoolVar(&cfgDebug, "debug", false, "debug mode for builds")
|
|
|
|
|
cmdFlags.BoolVar(&cfgForce, "force", false, "force a build if artifacts exist")
|
|
|
|
|
cmdFlags.BoolVar(&cfgParallel, "parallel", true, "enable/disable parallelization")
|
|
|
|
|
cmdcommon.BuildOptionFlags(cmdFlags, buildOptions)
|
|
|
|
|
if err := cmdFlags.Parse(args); err != nil {
|
|
|
|
|
return 1
|
|
|
|
|
@ -176,6 +178,11 @@ func (c Command) Run(env packer.Environment, args []string) int {
|
|
|
|
|
wg.Wait()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if !cfgParallel {
|
|
|
|
|
log.Printf("Parallelization disabled, waiting for build to finish: %s", b.Name())
|
|
|
|
|
wg.Wait()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if interrupted {
|
|
|
|
|
log.Println("Interrupted, not going to start any more builds.")
|
|
|
|
|
break
|
|
|
|
|
|