Skip to content

Commit 8c892e0

Browse files
committed
feat(makefile): add marketing semver and build number for versioning in builds
Signed-off-by: samzong <[email protected]>
1 parent fc1637b commit 8c892e0

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

Makefile

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,16 @@ APP_PASSWORD =
2626
GIT_COMMIT = $(shell git rev-parse --short HEAD)
2727
# Prefer tagged versions; fall back to the nearest tag or commit hash automatically.
2828
VERSION ?= $(shell git describe --tags --always)
29-
CLEAN_VERSION = $(shell echo $(VERSION) | sed 's/^v//')
29+
MARKETING_SEMVER ?= $(shell \
30+
VERSION_STR="$(VERSION)"; \
31+
CLEAN=$$(echo $$VERSION_STR | sed -E 's/^v//; s/-.*//'); \
32+
if echo $$CLEAN | grep -Eq '^[0-9]+(\.[0-9]+){0,2}$$'; then \
33+
echo $$CLEAN; \
34+
else \
35+
echo 0.0.0; \
36+
fi)
37+
BUILD_NUMBER ?= $(shell git rev-list --count HEAD)
38+
CLEAN_VERSION = $(MARKETING_SEMVER)
3039

3140
# Homebrew related variables
3241
HOMEBREW_TAP_REPO = homebrew-tap
@@ -51,8 +60,8 @@ build:
5160
CODE_SIGN_STYLE=Manual \
5261
CODE_SIGN_IDENTITY="-" \
5362
DEVELOPMENT_TEAM="" \
54-
CURRENT_PROJECT_VERSION=$(VERSION) \
55-
MARKETING_VERSION=$(VERSION)
63+
CURRENT_PROJECT_VERSION=$(BUILD_NUMBER) \
64+
MARKETING_VERSION=$(MARKETING_SEMVER)
5665
@echo "✅ Build completed!"
5766
@echo "📍 Application location: $(BUILT_APP_PATH)"
5867

@@ -103,8 +112,8 @@ build-x86_64:
103112
CODE_SIGN_STYLE=Manual \
104113
CODE_SIGN_IDENTITY="-" \
105114
DEVELOPMENT_TEAM="" \
106-
CURRENT_PROJECT_VERSION=$(VERSION) \
107-
MARKETING_VERSION=$(VERSION) \
115+
CURRENT_PROJECT_VERSION=$(BUILD_NUMBER) \
116+
MARKETING_VERSION=$(MARKETING_SEMVER) \
108117
ARCHS="x86_64" \
109118
OTHER_CODE_SIGN_FLAGS="--options=runtime"
110119

@@ -119,8 +128,8 @@ build-arm64:
119128
CODE_SIGN_STYLE=Manual \
120129
CODE_SIGN_IDENTITY="-" \
121130
DEVELOPMENT_TEAM="" \
122-
CURRENT_PROJECT_VERSION=$(VERSION) \
123-
MARKETING_VERSION=$(VERSION) \
131+
CURRENT_PROJECT_VERSION=$(BUILD_NUMBER) \
132+
MARKETING_VERSION=$(MARKETING_SEMVER) \
124133
ARCHS="arm64" \
125134
OTHER_CODE_SIGN_FLAGS="--options=runtime"
126135

@@ -224,6 +233,8 @@ check-arch:
224233
version:
225234
@echo "Version: $(VERSION)"
226235
@echo "Git Commit: $(GIT_COMMIT)"
236+
@echo "Marketing: $(MARKETING_SEMVER)"
237+
@echo "Build Number: $(BUILD_NUMBER)"
227238

228239
# Update Homebrew Cask
229240
update-homebrew:

0 commit comments

Comments
 (0)