diff --git a/cli/command/cli.go b/cli/command/cli.go index cfa43921b3..1aed6811b6 100644 --- a/cli/command/cli.go +++ b/cli/command/cli.go @@ -52,7 +52,6 @@ type Cli interface { Apply(ops ...DockerCliOption) error ConfigFile() *configfile.ConfigFile ServerInfo() ServerInfo - ClientInfo() ClientInfo NotaryClient(imgRefAndAuth trust.ImageRefAndAuth, actions []string) (notaryclient.Repository, error) DefaultVersion() string ManifestStore() manifeststore.Store @@ -73,7 +72,6 @@ type DockerCli struct { err io.Writer client client.APIClient serverInfo ServerInfo - clientInfo *ClientInfo contentTrust bool contextStore store.Store currentContext string @@ -81,9 +79,9 @@ type DockerCli struct { contextStoreConfig store.Config } -// DefaultVersion returns api.defaultVersion or DOCKER_API_VERSION if specified. +// DefaultVersion returns api.defaultVersion. func (cli *DockerCli) DefaultVersion() string { - return cli.ClientInfo().DefaultVersion + return api.DefaultVersion } // Client returns the APIClient @@ -138,30 +136,6 @@ func (cli *DockerCli) ServerInfo() ServerInfo { return cli.serverInfo } -// ClientInfo returns the client details for the cli -func (cli *DockerCli) ClientInfo() ClientInfo { - if cli.clientInfo == nil { - if err := cli.loadClientInfo(); err != nil { - panic(err) - } - } - return *cli.clientInfo -} - -func (cli *DockerCli) loadClientInfo() error { - var v string - if cli.client != nil { - v = cli.client.ClientVersion() - } else { - v = api.DefaultVersion - } - cli.clientInfo = &ClientInfo{ - DefaultVersion: v, - HasExperimental: true, - } - return nil -} - // ContentTrustEnabled returns whether content trust has been enabled by an // environment variable. func (cli *DockerCli) ContentTrustEnabled() bool { @@ -260,11 +234,6 @@ func (cli *DockerCli) Initialize(opts *cliflags.ClientOptions, ops ...Initialize } } cli.initializeFromClient() - - if err := cli.loadClientInfo(); err != nil { - return err - } - return nil } @@ -410,14 +379,6 @@ type ServerInfo struct { BuildkitVersion types.BuilderVersion } -// ClientInfo stores details about the supported features of the client -type ClientInfo struct { - // Deprecated: experimental CLI features always enabled. This field is kept - // for backward-compatibility, and is always "true". - HasExperimental bool - DefaultVersion string -} - // NewDockerCli returns a DockerCli instance with all operators applied on it. // It applies by default the standard streams, and the content trust from // environment. diff --git a/cli/command/cli_test.go b/cli/command/cli_test.go index 656f6e97ce..3012e01404 100644 --- a/cli/command/cli_test.go +++ b/cli/command/cli_test.go @@ -202,8 +202,6 @@ func TestExperimentalCLI(t *testing.T) { cliconfig.SetDir(dir.Path()) err := cli.Initialize(flags.NewClientOptions()) assert.NilError(t, err) - // For backward-compatibility, HasExperimental will always be "true" - assert.Equal(t, cli.ClientInfo().HasExperimental, true) }) } } diff --git a/cmd/docker/docker.go b/cmd/docker/docker.go index acd094fd95..e28b95a3f4 100644 --- a/cmd/docker/docker.go +++ b/cmd/docker/docker.go @@ -278,7 +278,6 @@ func main() { type versionDetails interface { Client() client.APIClient - ClientInfo() command.ClientInfo ServerInfo() command.ServerInfo } diff --git a/internal/test/cli.go b/internal/test/cli.go index ea56f4dfdb..62bf6351e7 100644 --- a/internal/test/cli.go +++ b/internal/test/cli.go @@ -20,7 +20,6 @@ import ( // NotaryClientFuncType defines a function that returns a fake notary client type NotaryClientFuncType func(imgRefAndAuth trust.ImageRefAndAuth, actions []string) (notaryclient.Repository, error) -type clientInfoFuncType func() command.ClientInfo // FakeCli emulates the default DockerCli type FakeCli struct { @@ -32,7 +31,6 @@ type FakeCli struct { err *bytes.Buffer in *streams.In server command.ServerInfo - clientInfoFunc clientInfoFuncType notaryClientFunc NotaryClientFuncType manifestStore manifeststore.Store registryClient registryclient.RegistryClient @@ -143,19 +141,6 @@ func (c *FakeCli) ServerInfo() command.ServerInfo { return c.server } -// ClientInfo returns client information -func (c *FakeCli) ClientInfo() command.ClientInfo { - if c.clientInfoFunc != nil { - return c.clientInfoFunc() - } - return c.DockerCli.ClientInfo() -} - -// SetClientInfo sets the internal getter for retrieving a ClientInfo -func (c *FakeCli) SetClientInfo(clientInfoFunc clientInfoFuncType) { - c.clientInfoFunc = clientInfoFunc -} - // OutBuffer returns the stdout buffer func (c *FakeCli) OutBuffer() *bytes.Buffer { return c.outBuffer