Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 24 additions & 2 deletions commands/bake.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import (
"github.com/docker/buildx/localstate"
"github.com/docker/buildx/util/buildflags"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/confutil"
"github.com/docker/buildx/util/desktop"
"github.com/docker/buildx/util/dockerutil"
Expand Down Expand Up @@ -510,7 +509,7 @@ func bakeCmd(dockerCli command.Cli, rootOpts *rootOptions) *cobra.Command {
// Other common flags (noCache, pull and progress) are processed in runBake function.
return runBake(cmd.Context(), dockerCli, args, options, cFlags, filesFromEnv)
},
ValidArgsFunction: completion.BakeTargets(options.files),
ValidArgsFunction: bakeTargetsCompletion(options.files),
DisableFlagsInUseLine: true,
}

Expand Down Expand Up @@ -545,6 +544,29 @@ func bakeCmd(dockerCli command.Cli, rootOpts *rootOptions) *cobra.Command {
return cmd
}

func bakeTargetsCompletion(files []string) cobrautil.ValidArgsFn {
return func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
f, err := bake.ReadLocalFiles(files, nil, nil)
if err != nil {
return nil, cobra.ShellCompDirectiveError
}
tgts, err := bake.ListTargets(f)
if err != nil {
return nil, cobra.ShellCompDirectiveError
}
var filtered []string
if toComplete == "" {
return tgts, cobra.ShellCompDirectiveNoFileComp
}
for _, tgt := range tgts {
if strings.HasPrefix(tgt, toComplete) {
filtered = append(filtered, tgt)
}
}
return filtered, cobra.ShellCompDirectiveNoFileComp
}
}

func bakeEnvFiles(lookup func(string string) (string, bool)) ([]string, error) {
sep, _ := lookup(bakeEnvFileSeparator)
if sep == "" {
Expand Down
3 changes: 1 addition & 2 deletions commands/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (
"github.com/docker/buildx/driver"
"github.com/docker/buildx/store/storeutil"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/cli/cli"
"github.com/docker/cli/cli/command"
"github.com/spf13/cobra"
Expand Down Expand Up @@ -101,7 +100,7 @@ func createCmd(dockerCli command.Cli) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
return runCreate(cmd.Context(), dockerCli, options, args)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/diskusage.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"time"

"github.com/docker/buildx/builder"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/cli/cli"
"github.com/docker/cli/cli/command"
"github.com/docker/cli/cli/command/formatter"
Expand Down Expand Up @@ -196,7 +196,7 @@ func duCmd(dockerCli command.Cli, rootOpts *rootOptions) *cobra.Command {
options.builder = rootOpts.builder
return runDiskUsage(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/history/export.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"github.com/containerd/platforms"
"github.com/docker/buildx/builder"
"github.com/docker/buildx/localstate"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/confutil"
"github.com/docker/buildx/util/desktop/bundle"
"github.com/docker/cli/cli/command"
Expand Down Expand Up @@ -160,7 +160,7 @@ func exportCmd(dockerCli command.Cli, rootOpts RootOptions) *cobra.Command {
options.builder = *rootOpts.Builder
return runExport(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/history/import.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
"strings"

remoteutil "github.com/docker/buildx/driver/remote/util"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/desktop"
"github.com/docker/cli/cli/command"
"github.com/pkg/browser"
Expand Down Expand Up @@ -125,7 +125,7 @@ func importCmd(dockerCli command.Cli, _ RootOptions) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
return runImport(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/history/inspect.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"github.com/containerd/containerd/v2/core/images"
"github.com/containerd/platforms"
"github.com/docker/buildx/localstate"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/confutil"
"github.com/docker/buildx/util/desktop"
"github.com/docker/cli/cli/command"
Expand Down Expand Up @@ -656,7 +656,7 @@ func inspectCmd(dockerCli command.Cli, rootOpts RootOptions) *cobra.Command {
options.builder = *rootOpts.Builder
return runInspect(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/history/inspect_attachment.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (

"github.com/containerd/containerd/v2/core/content/proxy"
"github.com/containerd/platforms"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/cli/cli/command"
intoto "github.com/in-toto/in-toto-golang/in_toto"
slsa02 "github.com/in-toto/in-toto-golang/in_toto/slsa_provenance/v0.2"
Expand Down Expand Up @@ -129,7 +129,7 @@ func attachmentCmd(dockerCli command.Cli, rootOpts RootOptions) *cobra.Command {
options.builder = *rootOpts.Builder
return runAttachment(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/history/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"io"
"os"

"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/progress"
"github.com/docker/cli/cli/command"
controlapi "github.com/moby/buildkit/api/services/control"
Expand Down Expand Up @@ -96,7 +96,7 @@ func logsCmd(dockerCli command.Cli, rootOpts RootOptions) *cobra.Command {
options.builder = *rootOpts.Builder
return runLogs(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/history/ls.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (

"github.com/containerd/console"
"github.com/docker/buildx/localstate"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/confutil"
"github.com/docker/buildx/util/desktop"
"github.com/docker/buildx/util/gitutil"
Expand Down Expand Up @@ -103,7 +103,7 @@ func lsCmd(dockerCli command.Cli, rootOpts RootOptions) *cobra.Command {
options.builder = *rootOpts.Builder
return runLs(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/history/open.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"context"
"fmt"

"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/desktop"
"github.com/docker/cli/cli/command"
"github.com/pkg/browser"
Expand Down Expand Up @@ -55,7 +55,7 @@ func openCmd(dockerCli command.Cli, rootOpts RootOptions) *cobra.Command {
options.builder = *rootOpts.Builder
return runOpen(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/history/rm.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
stderrors "errors"
"io"

"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/cli/cli/command"
controlapi "github.com/moby/buildkit/api/services/control"
"github.com/pkg/errors"
Expand Down Expand Up @@ -121,7 +121,7 @@ func rmCmd(dockerCli command.Cli, rootOpts RootOptions) *cobra.Command {
options.builder = *rootOpts.Builder
return runRm(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/history/root.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package history

import (
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/cli/cli/command"
"github.com/spf13/cobra"
)
Expand All @@ -14,7 +14,7 @@ func RootCmd(rootcmd *cobra.Command, dockerCli command.Cli, opts RootOptions) *c
cmd := &cobra.Command{
Use: "history",
Short: "Commands to work on build records",
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
RunE: rootcmd.RunE,

DisableFlagsInUseLine: true,
Expand Down
4 changes: 2 additions & 2 deletions commands/history/trace.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
"github.com/containerd/console"
"github.com/containerd/containerd/v2/core/content/proxy"
"github.com/docker/buildx/builder"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/otelutil"
"github.com/docker/buildx/util/otelutil/jaeger"
"github.com/docker/cli/cli/command"
Expand Down Expand Up @@ -200,7 +200,7 @@ func traceCmd(dockerCli command.Cli, rootOpts RootOptions) *cobra.Command {
options.builder = *rootOpts.Builder
return runTrace(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/imagetools/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
"github.com/distribution/reference"
"github.com/docker/buildx/builder"
"github.com/docker/buildx/util/buildflags"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/imagetools"
"github.com/docker/buildx/util/progress"
"github.com/docker/cli/cli/command"
Expand Down Expand Up @@ -353,7 +353,7 @@ func createCmd(dockerCli command.Cli, opts RootOptions) *cobra.Command {
options.builder = *opts.Builder
return runCreate(cmd.Context(), dockerCli, options, args)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/imagetools/inspect.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"context"

"github.com/docker/buildx/builder"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/imagetools"
"github.com/docker/cli-docs-tool/annotation"
"github.com/docker/cli/cli"
Expand Down Expand Up @@ -52,7 +52,7 @@ func inspectCmd(dockerCli command.Cli, rootOpts RootOptions) *cobra.Command {
options.builder = *rootOpts.Builder
return runInspect(cmd.Context(), dockerCli, options, args[0])
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/imagetools/root.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package commands

import (
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/cli/cli/command"
"github.com/spf13/cobra"
)
Expand All @@ -14,7 +14,7 @@ func RootCmd(rootcmd *cobra.Command, dockerCli command.Cli, opts RootOptions) *c
cmd := &cobra.Command{
Use: "imagetools",
Short: "Commands to work on images in registry",
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
RunE: rootcmd.RunE,
DisableFlagsInUseLine: true,
}
Expand Down
3 changes: 1 addition & 2 deletions commands/inspect.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (

"github.com/docker/buildx/builder"
"github.com/docker/buildx/driver"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/platformutil"
"github.com/docker/cli/cli"
"github.com/docker/cli/cli/command"
Expand Down Expand Up @@ -185,7 +184,7 @@ func inspectCmd(dockerCli command.Cli, rootOpts *rootOptions) *cobra.Command {
}
return runInspect(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.BuilderNames(dockerCli),
ValidArgsFunction: builderNamesCompletion(dockerCli),
DisableFlagsInUseLine: true,
}

Expand Down
3 changes: 1 addition & 2 deletions commands/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"os"

"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/cli/cli"
"github.com/docker/cli/cli/command"
"github.com/docker/cli/cli/config"
Expand Down Expand Up @@ -49,7 +48,7 @@ func installCmd(dockerCli command.Cli) *cobra.Command {
},
Deprecated: "use 'docker buildx' directly, without relying on the 'docker builder' alias",
Hidden: true,
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
3 changes: 1 addition & 2 deletions commands/ls.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (
"github.com/docker/buildx/store"
"github.com/docker/buildx/store/storeutil"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/platformutil"
"github.com/docker/cli/cli"
"github.com/docker/cli/cli/command"
Expand Down Expand Up @@ -110,7 +109,7 @@ func lsCmd(dockerCli command.Cli) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
return runLs(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
4 changes: 2 additions & 2 deletions commands/prune.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"time"

"github.com/docker/buildx/builder"
"github.com/docker/buildx/util/cobrautil/completion"
"github.com/docker/buildx/util/cobrautil"
"github.com/docker/cli/cli"
"github.com/docker/cli/cli/command"
"github.com/docker/cli/opts"
Expand Down Expand Up @@ -177,7 +177,7 @@ func pruneCmd(dockerCli command.Cli, rootOpts *rootOptions) *cobra.Command {
options.builder = rootOpts.builder
return runPrune(cmd.Context(), dockerCli, options)
},
ValidArgsFunction: completion.Disable,
ValidArgsFunction: cobrautil.DisableCompletion,
DisableFlagsInUseLine: true,
}

Expand Down
Loading