Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #--------------#
- # VERSIONING #
- #--------------#
- # Current tags:
- CURRENT_FULLTAG = $(shell git describe --tags --abbrev=0 | awk -F. '{ printf $$0 }')
- CURRENT_YAML = $(shell grep '^version' YAML.yml | awk -F' ' '{ print $$2 }')
- CURRENT_MAJORTAG = $(shell git describe --tags --abbrev=0 | awk -F. '{ printf $$1 }')
- CURRENT_MINORTAG = $(shell git describe --tags --abbrev=0 | awk -F. '{ printf $$2 }')
- CURRENT_PATCHTAG = $(shell git describe --tags --abbrev=0 | awk -F. '{ printf $$3 }')
- # New tags:
- NEW_MAJORTAG = $(shell git describe --tags --abbrev=0 | awk -F. '{ printf $$1+1 }')
- NEW_MINORTAG = $(shell git describe --tags --abbrev=0 | awk -F. '{ printf $$2+1 }')
- NEW_PATCHTAG = $(shell git describe --tags --abbrev=0 | awk -F. '{ printf $$3+1 }')
- .PHONY: showver
- showver:
- @echo 'Current version is:'
- @echo Git: ${CURRENT_FULLTAG}, YAML.yml: ${CURRENT_YAML}
- #
- # X.0.1
- # ^
- .PHONY: major
- major:
- @$(eval NEW_FULLTAG := ${NEW_MAJORTAG}.${CURRENT_MINORTAG}.${CURRENT_PATCHTAG})
- #
- # 1.X.0
- # ^
- .PHONY: minor
- minor:
- @$(eval NEW_FULLTAG := ${CURRENT_MAJORTAG}.${NEW_MINORTAG}.${CURRENT_PATCHTAG})
- #
- # 1.0.X
- # ^
- .PHONY: patch
- patch:
- @$(eval NEW_FULLTAG := ${CURRENT_MAJORTAG}.${CURRENT_MINORTAG}.${NEW_PATCHTAG})
- # cat YAML.yml
- # version: 0.0.1
- #
- .PHONY: release
- release:
- @sed -i 's/^version: [0-9][0-9.]*/version: $(NEW_FULLTAG)/' YAML.yml
- @git add YAML.yml
- @git commit -m "Release v$(NEW_FULLTAG)"
- @git push
- @echo 'Released new version to Git:'
- @git tag -a $(NEW_FULLTAG) -m "Release v$(NEW_FULLTAG)"
- @git push --tags
- git show $(NEW_FULLTAG)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement