diff --git a/Makefile b/Makefile index 3a79c37..7cf44bf 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ TARGETS ?= linux darwin windows ARCHS ?= amd64 GOFILES := $(shell find . -name "*.go" -type f) TAGS ?= sqlite -LDFLAGS ?= -X 'main.Version=$(VERSION)' +LDFLAGS ?= -X main.version=$(VERSION) -X main.commit=$(COMMIT) PROTOC_GEN_GO=v1.28 PROTOC_GEN_GO_GRPC=v1.2 @@ -27,6 +27,8 @@ else VERSION ?= $(shell git describe --tags --always || git rev-parse --short HEAD) endif +COMMIT ?= $(shell git rev-parse --short HEAD) + .PHONY: all all: build diff --git a/main.go b/main.go index eff0af5..8d25109 100644 --- a/main.go +++ b/main.go @@ -82,7 +82,8 @@ func main() { flag.Usage = usage flag.Parse() - router.SetVersion(Version) + router.SetVersion(version) + router.SetCommit(commit) // Show version and exit if showVersion { @@ -394,7 +395,10 @@ func main() { } // Version control for notify. -var Version = "No Version Provided" +var ( + version = "No Version Provided" + commit = "No Commit Provided" +) var usageStr = ` ________ .__ diff --git a/router/version.go b/router/version.go index 6300ec3..dff8ba4 100644 --- a/router/version.go +++ b/router/version.go @@ -7,13 +7,21 @@ import ( "github.com/gin-gonic/gin" ) -var version string +var ( + version string + commit string +) // SetVersion for setup version string. func SetVersion(ver string) { version = ver } +// SetCommit for setup commit string. +func SetCommit(ver string) { + commit = ver +} + // GetVersion for get current version. func GetVersion() string { return version @@ -21,8 +29,9 @@ func GetVersion() string { // PrintGoRushVersion provide print server engine func PrintGoRushVersion() { - fmt.Printf(`GoRush %s, Compiler: %s %s, Copyright (C) 2019 Bo-Yi Wu, Inc.`, + fmt.Printf(`GoRush %s, Commit: %s, Compiler: %s %s, Copyright (C) 2023 Bo-Yi Wu, Inc.`, version, + commit, runtime.Compiler, runtime.Version()) fmt.Println()