diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 841a3fc..4d28f2f 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -11,7 +11,10 @@ builds: - amd64 - arm64 ldflags: - - -X 'github.com/pubgo/protobuild/version.Version={{ .Version }}' + - -X 'github.com/pubgo/funk/version.version=v{{ .Version }}' + - -X 'github.com/pubgo/funk/version.project=protobuild' + - -X 'github.com/pubgo/funk/version.buildTime={{ .CommitDate }}' + - -X 'github.com/pubgo/funk/version.commitID={{ .ShortCommit }}' - main: ./cmd/protoc-gen-retag/main.go id: protoc-gen-retag binary: protoc-gen-retag diff --git a/cmd/protobuild/cmd.go b/cmd/protobuild/cmd.go index 9a5d887..8897304 100644 --- a/cmd/protobuild/cmd.go +++ b/cmd/protobuild/cmd.go @@ -18,6 +18,7 @@ import ( "github.com/pubgo/funk/log" "github.com/pubgo/funk/pathutil" "github.com/pubgo/funk/recovery" + "github.com/pubgo/funk/running" "github.com/pubgo/funk/strutil" "github.com/pubgo/protobuild/cmd/formatcmd" linters "github.com/pubgo/protobuild/cmd/linters" @@ -570,6 +571,17 @@ func Main() *cli.Command { }, }, formatcmd.New("format"), + &cli.Command{ + Name: "version", + Usage: "version info", + Action: func(ctx context.Context, command *cli.Command) error { + defer recovery.Exit() + fmt.Printf("Project: %s\n", running.Project) + fmt.Printf("Version: %s\n", running.Version) + fmt.Printf("GitCommit: %s\n", running.CommitID) + return nil + }, + }, }, } return app diff --git a/go.mod b/go.mod index 9eeae5f..e07c38d 100644 --- a/go.mod +++ b/go.mod @@ -36,11 +36,13 @@ require ( bitbucket.org/creachadair/stringset v0.0.14 // indirect cloud.google.com/go/longrunning v0.6.7 // indirect github.com/bmatcuk/doublestar/v4 v4.8.1 // indirect + github.com/ettle/strcase v0.2.0 // indirect github.com/gertd/go-pluralize v0.2.1 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/goccy/go-json v0.10.5 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect + github.com/joho/godotenv v1.5.1 // indirect github.com/k0kubun/pp/v3 v3.5.0 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect diff --git a/go.sum b/go.sum index d909fa9..3192851 100644 --- a/go.sum +++ b/go.sum @@ -24,6 +24,8 @@ github.com/emicklei/proto v1.14.2 h1:wJPxPy2Xifja9cEMrcA/g08art5+7CGJNFNk35iXC1I github.com/emicklei/proto v1.14.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A= github.com/emicklei/proto-contrib v0.18.2 h1:/3HbJnGuiT5x4TgGQjRkPYR5QP2i8sgUgeNbpmOEq+U= github.com/emicklei/proto-contrib v0.18.2/go.mod h1:0jnPdGJOjrTDObeFfSM1XKx1Z/mjJzYMomI69tJIq58= +github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q= +github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A= github.com/flosch/pongo2/v5 v5.0.0 h1:ZauMp+iPZzh2aI1QM2UwRb0lXD4BoFcvBuWqefkIuq0= github.com/flosch/pongo2/v5 v5.0.0/go.mod h1:6ysKu++8ANFXmc3x6uA6iVaS+PKUoDfdX3yPcv8TIzY= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= @@ -57,6 +59,8 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/k0kubun/pp/v3 v3.5.0 h1:iYNlYA5HJAJvkD4ibuf9c8y6SHM0QFhaBuCqm1zHp0w= github.com/k0kubun/pp/v3 v3.5.0/go.mod h1:5lzno5ZZeEeTV/Ky6vs3g6d1U3WarDrH8k240vMtGro= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= diff --git a/version/version.go b/version/version.go index 7f743ae..682fd2a 100644 --- a/version/version.go +++ b/version/version.go @@ -1,16 +1,3 @@ package version -import ( - ver "github.com/hashicorp/go-version" - "github.com/pubgo/funk/assert" -) - -var Version = "v0.0.20" - -func init() { - if Version == "" { - Version = "v0.0.1-dev" - } - - assert.Exit1(ver.NewVersion(Version)) -} +var Version = "v0.0.29"