From 20c19830a95455e8562551aad52c715ad0807cc6 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 8 Jan 2019 15:03:51 +0000 Subject: [PATCH] Move versioning variables to a separate package. This helps to avoid circular includes, by separating the pure data out from the actual functionality in the cli subpackage, allowing other code which is imported to access the data. Signed-off-by: Ian Campbell --- cli/command/cli.go | 4 ++-- cli/command/system/version.go | 9 +++++---- cli/{ => version}/version.go | 2 +- cmd/docker/docker.go | 3 ++- scripts/build/.variables | 8 ++++---- 5 files changed, 14 insertions(+), 12 deletions(-) rename cli/{ => version}/version.go (92%) diff --git a/cli/command/cli.go b/cli/command/cli.go index a8711de70c..28936fc3bf 100644 --- a/cli/command/cli.go +++ b/cli/command/cli.go @@ -8,7 +8,6 @@ import ( "runtime" "strconv" - "github.com/docker/cli/cli" "github.com/docker/cli/cli/config" cliconfig "github.com/docker/cli/cli/config" "github.com/docker/cli/cli/config/configfile" @@ -22,6 +21,7 @@ import ( registryclient "github.com/docker/cli/cli/registry/client" "github.com/docker/cli/cli/streams" "github.com/docker/cli/cli/trust" + "github.com/docker/cli/cli/version" "github.com/docker/cli/internal/containerizedengine" dopts "github.com/docker/cli/opts" clitypes "github.com/docker/cli/types" @@ -472,7 +472,7 @@ func getServerHost(hosts []string, tlsOptions *tlsconfig.Options) (string, error // UserAgent returns the user agent string used for making API requests func UserAgent() string { - return "Docker-Client/" + cli.Version + " (" + runtime.GOOS + ")" + return "Docker-Client/" + version.Version + " (" + runtime.GOOS + ")" } // resolveContextName resolves the current context name with the following rules: diff --git a/cli/command/system/version.go b/cli/command/system/version.go index a8f0beb1fd..2e2ae2ee3a 100644 --- a/cli/command/system/version.go +++ b/cli/command/system/version.go @@ -12,6 +12,7 @@ import ( "github.com/docker/cli/cli" "github.com/docker/cli/cli/command" kubecontext "github.com/docker/cli/cli/context/kubernetes" + "github.com/docker/cli/cli/version" "github.com/docker/cli/kubernetes" "github.com/docker/cli/templates" "github.com/docker/docker/api/types" @@ -135,13 +136,13 @@ func runVersion(dockerCli command.Cli, opts *versionOptions) error { vd := versionInfo{ Client: clientVersion{ - Platform: struct{ Name string }{cli.PlatformName}, - Version: cli.Version, + Platform: struct{ Name string }{version.PlatformName}, + Version: version.Version, APIVersion: dockerCli.Client().ClientVersion(), DefaultAPIVersion: dockerCli.DefaultVersion(), GoVersion: runtime.Version(), - GitCommit: cli.GitCommit, - BuildTime: reformatDate(cli.BuildTime), + GitCommit: version.GitCommit, + BuildTime: reformatDate(version.BuildTime), Os: runtime.GOOS, Arch: runtime.GOARCH, Experimental: dockerCli.ClientInfo().HasExperimental, diff --git a/cli/version.go b/cli/version/version.go similarity index 92% rename from cli/version.go rename to cli/version/version.go index c4120b9585..a263b9a731 100644 --- a/cli/version.go +++ b/cli/version/version.go @@ -1,4 +1,4 @@ -package cli +package version // Default build-time variable. // These values are overridden via ldflags diff --git a/cmd/docker/docker.go b/cmd/docker/docker.go index e64fe2afd8..f8890304ec 100644 --- a/cmd/docker/docker.go +++ b/cmd/docker/docker.go @@ -10,6 +10,7 @@ import ( "github.com/docker/cli/cli/command" "github.com/docker/cli/cli/command/commands" cliflags "github.com/docker/cli/cli/flags" + "github.com/docker/cli/cli/version" "github.com/docker/docker/api/types/versions" "github.com/docker/docker/client" "github.com/sirupsen/logrus" @@ -41,7 +42,7 @@ func newDockerCommand(dockerCli *command.DockerCli) *cobra.Command { } return isSupported(cmd, dockerCli) }, - Version: fmt.Sprintf("%s, build %s", cli.Version, cli.GitCommit), + Version: fmt.Sprintf("%s, build %s", version.Version, version.GitCommit), DisableFlagsInUseLine: true, } opts, flags = cli.SetupRootCommand(cmd) diff --git a/scripts/build/.variables b/scripts/build/.variables index 208f44c316..8b13cd55c8 100755 --- a/scripts/build/.variables +++ b/scripts/build/.variables @@ -8,15 +8,15 @@ BUILDTIME=${BUILDTIME:-$(date --utc --rfc-3339 ns 2> /dev/null | sed -e 's/ /T/' PLATFORM_LDFLAGS= if test -n "${PLATFORM}"; then - PLATFORM_LDFLAGS="-X \"github.com/docker/cli/cli.PlatformName=${PLATFORM}\"" + PLATFORM_LDFLAGS="-X \"github.com/docker/cli/cli/version.PlatformName=${PLATFORM}\"" fi export LDFLAGS="\ -w \ ${PLATFORM_LDFLAGS} \ - -X \"github.com/docker/cli/cli.GitCommit=${GITCOMMIT}\" \ - -X \"github.com/docker/cli/cli.BuildTime=${BUILDTIME}\" \ - -X \"github.com/docker/cli/cli.Version=${VERSION}\" \ + -X \"github.com/docker/cli/cli/version.GitCommit=${GITCOMMIT}\" \ + -X \"github.com/docker/cli/cli/version.BuildTime=${BUILDTIME}\" \ + -X \"github.com/docker/cli/cli/version.Version=${VERSION}\" \ ${LDFLAGS:-} \ "