diff --git a/Makefile b/Makefile index f8792720a..c26d31772 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,13 @@ ################################## Parameter Definition And Check ########################################## +# 当前 HEAD 的 tag +HEAD_TAG = $(shell git describe --exact-match --tags 2>/dev/null) + +# 当前分支名 +HEAD_BRANCH = $(shell git rev-parse --abbrev-ref HEAD) + +# 当前 commit hash +HEAD_HASH = $(shell git rev-parse HEAD) + # 1. 如果HEAD存在tag,则GIT_VERSION=<版本名称>-<企业版/社区版> # PS: 通常会在版本名称前增加字符“v”作为tag内容,当版本名称为 3.2411.0时,tag内容为v3.2411.0 # e.g. tag为v3.2411.0时,社区版:GIT_VERSION=3.2411.0-ce a6355ff4cf8d181315a2b30341bc954b29576b11 @@ -6,7 +15,10 @@ # 2. 如果HEAD没有tag,则GIT_VERSION=<分支名> # e.g. 分支名为main时,GIT_VERSION=main a6355ff4cf8d181315a2b30341bc954b29576b11 # e.g. 分支名为release-3.2411.x时,GIT_VERSION=release-3.2411.x a6355ff4cf8d181315a2b30341bc954b29576b11 -override GIT_VERSION = $(shell if git describe --exact-match --tags >/dev/null 2>&1; then git describe --exact-match --tags | sed 's/^v//'; else git rev-parse --abbrev-ref HEAD; fi)-${EDITION}${CUSTOM} $(shell git rev-parse HEAD) +override GIT_VERSION = $(if $(HEAD_TAG), \ + $(shell echo $(HEAD_TAG) | sed 's/^v//')-$(EDITION), \ + $(HEAD_BRANCH))${CUSTOM} $(HEAD_HASH) +# override GIT_VERSION = $(shell if git describe --exact-match --tags >/dev/null 2>&1; then git describe --exact-match --tags | sed 's/^v//'; else git rev-parse --abbrev-ref HEAD; fi)-${EDITION}${CUSTOM} $(shell git rev-parse HEAD) override GIT_COMMIT = $(shell git rev-parse HEAD) override PROJECT_NAME = sqle override LDFLAGS = -ldflags "-X 'main.version=${GIT_VERSION}'"