|
|
- #版本檔案
- LAST_APP_VERSION_FILE=APP_VERSION
- BUILD_VERSION_FILE=BUILD
-
- #版本變數
- VERSION:=$(shell cat ../VERSION)
- #打包起始版本 -1
- INIT_BUILD_VERSION=999
- BUILD_VERSION=$(shell echo $(shell cat $(BUILD_VERSION_FILE))+1 | bc)
- export APP_VERSION=$(shell cat $(LAST_APP_VERSION_FILE))
- #Git
- GIT_CMD=git
- GIT_BRANCH=$(GIT_CMD) branch
- GIT_ADD=$(GIT_CMD) add
- GIT_COMMIT=$(GIT_CMD) commit
- GIT_PUSH=$(GIT_CMD) push -f
- GIT_CURRENT_BRANCH=$$branch
- GIT_TAG=$(GIT_CMD) tag
- # Pure targets.
- #.PHONY: all
- all: check_version_file_is_exist check_version add_version write_tag_to_file
- #初始化 build version 檔案
- init_build_version:
- touch $(BUILD_VERSION_FILE)
- echo $(INIT_BUILD_VERSION) > $(BUILD_VERSION_FILE)
- echo "BUILD_VERSION = " BUILD_VERSION
- #初始化 app version
- init_app_version:
- touch $(LAST_APP_VERSION_FILE)
- echo $(VERSION) > $(LAST_APP_VERSION_FILE)
-
- #檢查版本檔案是否存在
- check_version_file_is_exist:
- ifeq "$(wildcard $(BUILD_VERSION_FILE))" ""
- @make init_build_version
- endif
- ifeq "$(wildcard $(LAST_APP_VERSION_FILE))" ""
- @make init_app_version
- endif
-
- #檢查版本
- check_version:
- @if [ $(shell cat $(LAST_APP_VERSION_FILE)) != $(VERSION) ]; then\
- make init_app_version;\
- make init_build_version;\
- fi
- add_version:
- echo $(BUILD_VERSION) > $(BUILD_VERSION_FILE)
- commit_record:
- $(GIT_ADD) $(LAST_APP_VERSION_FILE)
- $(GIT_ADD) $(BUILD_VERSION_FILE)
- $(GIT_COMMIT) -m "auto increment build version $(shell cat BUILD) [CI SKIP]"
- $(GIT_PUSH) origin HEAD:"$(GIT_CURRENT_BRANCH)"
- add_tag:
- $(GIT_TAG) -a v$(shell cat APP_VERSION).$(shell cat BUILD) -m "auto increment build version v$(shell cat APP_VERSION).$(shell cat BUILD)"
- $(GIT_PUSH) origin v$(shell cat APP_VERSION).$(shell cat BUILD)
- write_tag_to_file:
- echo "$(shell cat APP_VERSION).$(shell cat BUILD)" > ../.tags
|