Selaa lähdekoodia

Handle --no-build and --watch args

Signed-off-by: Joana Hrotko <[email protected]>
Joana Hrotko 1 vuosi sitten
vanhempi
sitoutus
dd5614ec3b
2 muutettua tiedostoa jossa 10 lisäystä ja 0 poistoa
  1. 4 0
      cmd/compose/up.go
  2. 6 0
      cmd/formatter/shortcut.go

+ 4 - 0
cmd/compose/up.go

@@ -137,6 +137,7 @@ func upCommand(p *ProjectOptions, dockerCli command.Cli, backend api.Service, ex
 	return upCmd
 }
 
+//nolint:gocyclo
 func validateFlags(up *upOptions, create *createOptions) error {
 	if up.exitCodeFrom != "" {
 		up.cascadeStop = true
@@ -159,6 +160,9 @@ func validateFlags(up *upOptions, create *createOptions) error {
 	if create.recreateDeps && create.noRecreate {
 		return fmt.Errorf("--always-recreate-deps and --no-recreate are incompatible")
 	}
+	if create.noBuild && up.watch {
+		return fmt.Errorf("--no-build and --watch are incompatible")
+	}
 	return nil
 }
 

+ 6 - 0
cmd/formatter/shortcut.go

@@ -259,6 +259,12 @@ func (lk *LogKeyboard) StartWatch(ctx context.Context, project *types.Project, o
 	} else {
 		eg.Go(tracing.EventWrapFuncForErrGroup(ctx, "menu/watch", tracing.SpanOptions{},
 			func(ctx context.Context) error {
+				if options.Create.Build == nil {
+					err := fmt.Errorf("Cannot run watch mode with flag --no-build")
+					lk.keyboardError("Watch", err)
+					return err
+				}
+
 				lk.Watch.newContext(ctx)
 				buildOpts := *options.Create.Build
 				buildOpts.Quiet = true