Merge pull request #1339 from docker/experimental

only display experimental warning on command error
This commit is contained in:
Guillaume Tardif 2021-02-23 10:22:45 +01:00 committed by GitHub
commit 98dc2308d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View File

@ -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
},

View File

@ -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)