Skip to content

Commit a282db7

Browse files
committed
Add tag Target to Makefile
1 parent 499b534 commit a282db7

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

Makefile

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,35 @@ test:
5454
clean:
5555
-rm -f $(EXECUTABLE) $(EXECUTABLE)_*
5656

57-
.PHONY: default dist clean docs
57+
.PHONY: default dist clean docs tag
58+
59+
tag:
60+
@echo "Creating next tag..."
61+
@bash -c ' \
62+
PREV_TAG=$$(git tag --sort=-version:refname | head -1); \
63+
if [ -z "$$PREV_TAG" ]; then \
64+
NEXT_TAG="v0.0.1"; \
65+
else \
66+
VERSION=$$(echo $$PREV_TAG | sed "s/v//"); \
67+
MAJOR=$$(echo $$VERSION | cut -d. -f1); \
68+
MINOR=$$(echo $$VERSION | cut -d. -f2); \
69+
PATCH=$$(echo $$VERSION | cut -d. -f3); \
70+
NEXT_MINOR=$$((MINOR + 1)); \
71+
NEXT_TAG="v$$MAJOR.$$NEXT_MINOR.0"; \
72+
fi; \
73+
echo "Previous tag: $$PREV_TAG"; \
74+
echo "Next tag: $$NEXT_TAG"; \
75+
echo ""; \
76+
echo "Changelog:"; \
77+
git changelog $$PREV_TAG..; \
78+
echo ""; \
79+
read -p "Create tag $$NEXT_TAG? [y/N] " -n 1 -r; \
80+
echo ""; \
81+
if [[ $$REPLY =~ ^[Yy]$$ ]]; then \
82+
CHANGELOG=$$(git changelog $$PREV_TAG..); \
83+
git tag -a $$NEXT_TAG -m "Version $$NEXT_TAG" -m "" -m "$$CHANGELOG"; \
84+
echo "Tag $$NEXT_TAG created successfully"; \
85+
echo "Push with: git push force $$NEXT_TAG"; \
86+
else \
87+
echo "Tag creation cancelled"; \
88+
fi'

0 commit comments

Comments
 (0)