From c082ce370663c038f76afeb1063a0e40f35b245e Mon Sep 17 00:00:00 2001 From: Michael Brooks Date: Fri, 20 Mar 2026 17:06:48 -0700 Subject: [PATCH] refactor: move internal/pkg/version to internal/version --- .circleci/config.yml | 2 +- .claude/CLAUDE.md | 2 +- Makefile | 2 +- cmd/doctor/check.go | 2 +- cmd/doctor/check_test.go | 2 +- cmd/doctor/doctor_test.go | 2 +- cmd/root.go | 2 +- cmd/upgrade/upgrade.go | 2 +- cmd/version/version.go | 2 +- internal/config/dotenv.go | 2 +- internal/pkg/auth/login.go | 2 +- internal/shared/clients.go | 3 +-- internal/{pkg => }/version/version.go | 0 internal/{pkg => }/version/version_test.go | 0 main.go | 2 +- 15 files changed, 13 insertions(+), 14 deletions(-) rename internal/{pkg => }/version/version.go (100%) rename internal/{pkg => }/version/version_test.go (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index c96939c7..2e85a947 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -159,7 +159,7 @@ jobs: - run: name: Run GoReleaser. Without actually publishing. command: | - LDFLAGS="-s -w -X 'github.com/slackapi/slack-cli/internal/pkg/version.Version=$BUILD_VERSION'" + LDFLAGS="-s -w -X 'github.com/slackapi/slack-cli/internal/version.Version=$BUILD_VERSION'" make LDFLAGS="$LDFLAGS" build-snapshot - run: name: Show binaries are generated correctly diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 9dd3ecf4..afc2f803 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -171,7 +171,7 @@ Versions use semantic versioning with git tags (format: `v*.*.*`). Version is generated dynamically using `git describe` and injected at build time: ```bash -LDFLAGS=-X 'github.com/slackapi/slack-cli/internal/pkg/version.Version=`git describe --tags --match 'v*.*.*'`' +LDFLAGS=-X 'github.com/slackapi/slack-cli/internal/version.Version=`git describe --tags --match 'v*.*.*'`' ``` **Versioning Rules**: diff --git a/Makefile b/Makefile index e345664e..2e14c9e6 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ # limitations under the License. # Common variables -LDFLAGS=-X 'github.com/slackapi/slack-cli/internal/pkg/version.Version=`git describe --tags --match 'v*.*.*'`' +LDFLAGS=-X 'github.com/slackapi/slack-cli/internal/version.Version=`git describe --tags --match 'v*.*.*'`' BUILD_VERSION = `git describe --tags --match 'v*.*.*' | sed 's/v//'` RELEASE_VERSION := $(shell git describe --tags --match 'v*.*.*') testdir ?= ... diff --git a/cmd/doctor/check.go b/cmd/doctor/check.go index d4c04a50..d7d9b3a2 100644 --- a/cmd/doctor/check.go +++ b/cmd/doctor/check.go @@ -26,12 +26,12 @@ import ( "github.com/slackapi/slack-cli/internal/config" "github.com/slackapi/slack-cli/internal/deputil" "github.com/slackapi/slack-cli/internal/iostreams" - "github.com/slackapi/slack-cli/internal/pkg/version" "github.com/slackapi/slack-cli/internal/shared" "github.com/slackapi/slack-cli/internal/shared/types" "github.com/slackapi/slack-cli/internal/slackerror" "github.com/slackapi/slack-cli/internal/style" "github.com/slackapi/slack-cli/internal/update" + "github.com/slackapi/slack-cli/internal/version" "golang.org/x/text/cases" "golang.org/x/text/language" ) diff --git a/cmd/doctor/check_test.go b/cmd/doctor/check_test.go index 93a8b533..b6008f8b 100644 --- a/cmd/doctor/check_test.go +++ b/cmd/doctor/check_test.go @@ -23,12 +23,12 @@ import ( "github.com/slackapi/slack-cli/internal/config" "github.com/slackapi/slack-cli/internal/deputil" "github.com/slackapi/slack-cli/internal/hooks" - "github.com/slackapi/slack-cli/internal/pkg/version" "github.com/slackapi/slack-cli/internal/shared" "github.com/slackapi/slack-cli/internal/shared/types" "github.com/slackapi/slack-cli/internal/slackcontext" "github.com/slackapi/slack-cli/internal/slackdeps" "github.com/slackapi/slack-cli/internal/slackerror" + "github.com/slackapi/slack-cli/internal/version" "github.com/slackapi/slack-cli/test/slackmock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" diff --git a/cmd/doctor/doctor_test.go b/cmd/doctor/doctor_test.go index c04f41ff..fdefbb41 100644 --- a/cmd/doctor/doctor_test.go +++ b/cmd/doctor/doctor_test.go @@ -24,12 +24,12 @@ import ( "github.com/slackapi/slack-cli/internal/config" "github.com/slackapi/slack-cli/internal/deputil" "github.com/slackapi/slack-cli/internal/hooks" - "github.com/slackapi/slack-cli/internal/pkg/version" "github.com/slackapi/slack-cli/internal/shared" "github.com/slackapi/slack-cli/internal/shared/types" "github.com/slackapi/slack-cli/internal/slackcontext" "github.com/slackapi/slack-cli/internal/slackdeps" "github.com/slackapi/slack-cli/internal/slackerror" + "github.com/slackapi/slack-cli/internal/version" "github.com/slackapi/slack-cli/test/slackmock" "github.com/slackapi/slack-cli/test/testutil" "github.com/stretchr/testify/assert" diff --git a/cmd/root.go b/cmd/root.go index 80e8e059..3964eb13 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -46,12 +46,12 @@ import ( "github.com/slackapi/slack-cli/internal/cmdutil" "github.com/slackapi/slack-cli/internal/experiment" "github.com/slackapi/slack-cli/internal/iostreams" - "github.com/slackapi/slack-cli/internal/pkg/version" "github.com/slackapi/slack-cli/internal/shared" "github.com/slackapi/slack-cli/internal/slackcontext" "github.com/slackapi/slack-cli/internal/slackerror" "github.com/slackapi/slack-cli/internal/style" "github.com/slackapi/slack-cli/internal/update" + "github.com/slackapi/slack-cli/internal/version" "github.com/spf13/cobra" "github.com/spf13/pflag" ) diff --git a/cmd/upgrade/upgrade.go b/cmd/upgrade/upgrade.go index 8cc58cae..edb51bd1 100644 --- a/cmd/upgrade/upgrade.go +++ b/cmd/upgrade/upgrade.go @@ -18,10 +18,10 @@ import ( "fmt" "strings" - "github.com/slackapi/slack-cli/internal/pkg/version" "github.com/slackapi/slack-cli/internal/shared" "github.com/slackapi/slack-cli/internal/style" "github.com/slackapi/slack-cli/internal/update" + "github.com/slackapi/slack-cli/internal/version" "github.com/spf13/cobra" ) diff --git a/cmd/version/version.go b/cmd/version/version.go index 675ae885..792fc547 100644 --- a/cmd/version/version.go +++ b/cmd/version/version.go @@ -20,9 +20,9 @@ import ( "github.com/opentracing/opentracing-go" "github.com/slackapi/slack-cli/internal/cmdutil" - "github.com/slackapi/slack-cli/internal/pkg/version" "github.com/slackapi/slack-cli/internal/shared" "github.com/slackapi/slack-cli/internal/style" + "github.com/slackapi/slack-cli/internal/version" "github.com/spf13/cobra" ) diff --git a/internal/config/dotenv.go b/internal/config/dotenv.go index a186e3d7..6a23333c 100644 --- a/internal/config/dotenv.go +++ b/internal/config/dotenv.go @@ -18,7 +18,7 @@ import ( "strings" "github.com/joho/godotenv" - "github.com/slackapi/slack-cli/internal/pkg/version" + "github.com/slackapi/slack-cli/internal/version" "github.com/spf13/afero" ) diff --git a/internal/pkg/auth/login.go b/internal/pkg/auth/login.go index f5cfa5d6..e572c43a 100644 --- a/internal/pkg/auth/login.go +++ b/internal/pkg/auth/login.go @@ -25,12 +25,12 @@ import ( "github.com/slackapi/slack-cli/internal/auth" "github.com/slackapi/slack-cli/internal/config" "github.com/slackapi/slack-cli/internal/iostreams" - "github.com/slackapi/slack-cli/internal/pkg/version" "github.com/slackapi/slack-cli/internal/shared" "github.com/slackapi/slack-cli/internal/shared/types" "github.com/slackapi/slack-cli/internal/slackerror" "github.com/slackapi/slack-cli/internal/slacktrace" "github.com/slackapi/slack-cli/internal/style" + "github.com/slackapi/slack-cli/internal/version" "golang.org/x/mod/semver" ) diff --git a/internal/shared/clients.go b/internal/shared/clients.go index 2dc43eb5..fd2e16ca 100644 --- a/internal/shared/clients.go +++ b/internal/shared/clients.go @@ -95,8 +95,7 @@ func NewClientFactory(options ...func(*ClientFactory)) *ClientFactory { // TODO: Temporary hack to get around circular dependency in internal/api/client.go since that imports version // Follows pattern demonstrated by the GitHub CLI here https://github.com/cli/cli/blob/5a46c1cab601a3394caa8de85adb14f909b811e9/pkg/cmd/factory/default.go#L29 // Used by the APIClient for its userAgent - // Currently needed because trying to get the version of the CLI from pkg/version/version.go would cause a circular dependency - // We can get rid of this once we refactor the code relationship between pkg/ and internal/ + // Currently needed because trying to get the version of the CLI from internal/version would cause a circular dependency // userAgent can get Slack CLI version from context which is defined in main.go, this approach bypass circular dependency. The clients.CLIVersion is retained for future code refactor purpose and serve SetVersion function clients.CLIVersion = "" diff --git a/internal/pkg/version/version.go b/internal/version/version.go similarity index 100% rename from internal/pkg/version/version.go rename to internal/version/version.go diff --git a/internal/pkg/version/version_test.go b/internal/version/version_test.go similarity index 100% rename from internal/pkg/version/version_test.go rename to internal/version/version_test.go diff --git a/main.go b/main.go index 601b4b26..7c8df603 100644 --- a/main.go +++ b/main.go @@ -26,10 +26,10 @@ import ( "github.com/slackapi/slack-cli/internal/goutils" "github.com/slackapi/slack-cli/internal/iostreams" "github.com/slackapi/slack-cli/internal/ioutils" - "github.com/slackapi/slack-cli/internal/pkg/version" "github.com/slackapi/slack-cli/internal/shared" "github.com/slackapi/slack-cli/internal/slackcontext" "github.com/slackapi/slack-cli/internal/tracer" + "github.com/slackapi/slack-cli/internal/version" "github.com/uber/jaeger-client-go" )