From 58e495c60b081fede3475d7acc3eb60fecaea753 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Tue, 23 Feb 2021 09:35:26 +0100 Subject: [PATCH] only display experimental warning on command error Signed-off-by: Nicolas De Loof --- cli/cmd/compose/compose.go | 8 +++++--- cli/main.go | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cli/cmd/compose/compose.go b/cli/cmd/compose/compose.go index 147904b1e..7c6d33aa9 100644 --- a/cli/cmd/compose/compose.go +++ b/cli/cmd/compose/compose.go @@ -17,8 +17,6 @@ package compose import ( - "fmt" - "github.com/compose-spec/compose-go/cli" "github.com/compose-spec/compose-go/types" "github.com/spf13/cobra" @@ -27,6 +25,9 @@ import ( "github.com/docker/compose-cli/api/context/store" ) +// Warning is a global warning to be displayed to user on command failure +var Warning string + type projectOptions struct { ProjectName string Profiles []string @@ -99,7 +100,8 @@ func Command(contextType string) *cobra.Command { TraverseChildren: true, PersistentPreRunE: func(cmd *cobra.Command, args []string) error { if contextType == store.DefaultContextType || contextType == store.LocalContextType { - fmt.Println("The new 'docker compose' command is currently experimental. To provide feedback or request new features please open issues at https://github.com/docker/compose-cli") + Warning = "The new 'docker compose' command is currently experimental. " + + "To provide feedback or request new features please open issues at https://github.com/docker/compose-cli" } return nil }, diff --git a/cli/main.go b/cli/main.go index 9606c2ee0..eb59c0056 100644 --- a/cli/main.go +++ b/cli/main.go @@ -258,6 +258,11 @@ func exit(ctx string, err error, ctype string) { fmt.Fprintln(os.Stderr, err) os.Exit(errdefs.ExitCodeLoginRequired) } + + if compose.Warning != "" { + fmt.Fprintln(os.Stderr, compose.Warning) + } + if errors.Is(err, errdefs.ErrNotImplemented) { name := metrics.GetCommand(os.Args[1:]) fmt.Fprintf(os.Stderr, "Command %q not available in current context (%s)\n", name, ctx)