progress writer uses dockercli.Err stream

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
Nicolas De Loof 2023-03-08 15:11:32 +00:00 • committed by Nicolas De loof
parent fc4d2dfdd8
commit bbe1b77a67
21 changed files with 57 additions and 71 deletions

View file

@ -271,7 +271,7 @@ func RootCommand(streams command.Cli, backend api.Service) *cobra.Command { //no
return cmd.Help()
}
if version {
return versionCommand().Execute()
return versionCommand(streams).Execute()
}
_ = cmd.Help()
return dockercli.StatusError{
@ -371,7 +371,7 @@ func RootCommand(streams command.Cli, backend api.Service) *cobra.Command { //no
eventsCommand(&opts, streams, backend),
portCommand(&opts, streams, backend),
imagesCommand(&opts, streams, backend),
versionCommand(),
versionCommand(streams),
buildCommand(&opts, streams, backend),
pushCommand(&opts, backend),
pullCommand(&opts, backend),

View file

@ -147,7 +147,7 @@ func runCommand(p *ProjectOptions, streams api.Streams, backend api.Service) *co
return err
}
opts.ignoreOrphans = utils.StringToBool(project.Environment["COMPOSE_IGNORE_ORPHANS"])
return runRun(ctx, backend, project, opts, createOpts)
return runRun(ctx, backend, project, opts, createOpts, streams)
}),
ValidArgsFunction: completeServiceNames(p),
}
@ -189,7 +189,7 @@ func normalizeRunFlags(f *pflag.FlagSet, name string) pflag.NormalizedName {
return pflag.NormalizedName(name)
}
func runRun(ctx context.Context, backend api.Service, project *types.Project, opts runOptions, createOpts createOptions) error {
func runRun(ctx context.Context, backend api.Service, project *types.Project, opts runOptions, createOpts createOptions, streams api.Streams) error {
err := opts.apply(project)
if err != nil {
return err
@ -202,7 +202,7 @@ func runRun(ctx context.Context, backend api.Service, project *types.Project, op
err = progress.Run(ctx, func(ctx context.Context) error {
return startDependencies(ctx, backend, *project, opts.Service, opts.ignoreOrphans)
})
}, streams.Err())
if err != nil {
return err
}

View file

@ -20,6 +20,7 @@ import (
"fmt"
"strings"
"github.com/docker/cli/cli/command"
"github.com/docker/compose/v2/cmd/formatter"
"github.com/spf13/cobra"
@ -32,14 +33,14 @@ type versionOptions struct {
short bool
}
func versionCommand() *cobra.Command {
func versionCommand(streams command.Cli) *cobra.Command {
opts := versionOptions{}
cmd := &cobra.Command{
Use: "version [OPTIONS]",
Short: "Show the Docker Compose version information",
Args: cobra.NoArgs,
RunE: func(cmd *cobra.Command, _ []string) error {
runVersion(opts)
runVersion(opts, streams)
return nil
},
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
@ -56,14 +57,14 @@ func versionCommand() *cobra.Command {
return cmd
}
func runVersion(opts versionOptions) {
func runVersion(opts versionOptions, streams command.Cli) {
if opts.short {
fmt.Println(strings.TrimPrefix(internal.Version, "v"))
fmt.Fprintln(streams.Out(), strings.TrimPrefix(internal.Version, "v"))
return
}
if opts.format == formatter.JSON {
fmt.Printf("{\"version\":%q}\n", internal.Version)
fmt.Fprintf(streams.Out(), "{\"version\":%q}\n", internal.Version)
return
}
fmt.Println("Docker Compose version", internal.Version)
fmt.Fprintln(streams.Out(), "Docker Compose version", internal.Version)
}