mktools/tasks/version.mk

35 lines
1.5 KiB
Makefile

MKT_PROJECT_BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD | tr '[:upper:]' '[:lower:]' | sed -e 's/[-_ ]//g')
ifeq ($(MKT_PROJECT_BRANCH_NAME),master)
MKT_PROJECT_VERSION_CHANNEL = stable
else ifeq ($(MKT_PROJECT_BRANCH_NAME),staging)
MKT_PROJECT_VERSION_CHANNEL = testing
else
MKT_PROJECT_VERSION_CHANNEL = $(MKT_PROJECT_BRANCH_NAME)
endif
ifeq ($(MKT_PROJECT_VERSION_CHANNEL),develop)
MKT_PROJECT_SHORT_VERSION_CHANNEL ?= dev
else ifneq ($(filter $(MKT_PROJECT_VERSION_CHANNEL),testing staging),)
MKT_PROJECT_SHORT_VERSION_CHANNEL ?= tst
else ifneq ($(filter $(MKT_PROJECT_VERSION_CHANNEL),stable master),)
MKT_PROJECT_SHORT_VERSION_CHANNEL ?= stb
else
MKT_PROJECT_SHORT_VERSION_CHANNEL ?= $(shell echo "$(MKT_PROJECT_VERSION_CHANNEL)" | sed -e 's/[aeiouy]//g' | cut -c1-3)
endif
MKT_PROJECT_VERSION_COMMIT_TIMESTAMP ?= $(shell git show -s --format=%ct)
MKT_PROJECT_VERSION_DATE ?= $(shell TZ=Europe/Paris date -d '@$(MKT_PROJECT_VERSION_COMMIT_TIMESTAMP)' +%Y.%-m.%-d)
MKT_PROJECT_VERSION_TIMESTAMP ?= $(shell TZ=Europe/Paris date -d '@$(MKT_PROJECT_VERSION_COMMIT_TIMESTAMP)' +%-H%M)
MKT_PROJECT_VERSION ?= $(MKT_PROJECT_VERSION_DATE)-$(MKT_PROJECT_VERSION_CHANNEL).$(MKT_PROJECT_VERSION_TIMESTAMP).$(shell git rev-parse --short HEAD)
MKT_PROJECT_SHORT_VERSION ?= $(MKT_PROJECT_VERSION_DATE)-$(MKT_PROJECT_SHORT_VERSION_CHANNEL).$(MKT_PROJECT_VERSION_TIMESTAMP)
.PHONY: mkt-project-version
mkt-project-version:
@echo $(MKT_PROJECT_VERSION)
.PHONY: mkt-project-short-version
mkt-project-short-version:
@echo $(MKT_PROJECT_SHORT_VERSION)