|
#版本檔案
|
|
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
|