31 lines
1.2 KiB
Bash
Executable File
31 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# We only want to tag in git when the version changes
|
|
# Next version is based on versioned version.txt
|
|
# using git describe requires a tag at the begging of development, not at the end
|
|
TRUNK_BRANCH="dev"
|
|
CD_BASE_VERSION=$(cat version.txt)
|
|
CD_PATCH=$(git rev-list --count HEAD ^"${TRUNK_BRANCH}")
|
|
CD_QUALIFIER=$(git rev-parse --short HEAD)
|
|
CD_LAST_RELEASE_TAG=$(git tag -l --contains HEAD)
|
|
CD_CURRENT_VERSION="${CD_BASE_VERSION}.${CD_PATCH}"
|
|
CD_CURRENT_VERSION_QUALIFIED="${CD_BASE_VERSION}.${CD_PATCH}-${CD_QUALIFIER}"
|
|
CD_NEXT_MAJOR_TAG=$(cut -d'.' -f1 <<< "${CD_BASE_VERSION}")
|
|
|
|
export CD_BASE_VERSION
|
|
export CD_PATCH
|
|
export CD_QUALIFIER
|
|
export CD_LAST_RELEASE_TAG
|
|
export CD_CURRENT_VERSION
|
|
export CD_CURRENT_VERSION_QUALIFIED
|
|
export CD_NEXT_MAJOR_TAG
|
|
|
|
echo "Example versioning"
|
|
echo "Trunk Branch: ${TRUNK_BRANCH}"
|
|
echo "Java Development Version: ${CD_BASE_VERSION}.0-SNAPSHOT"
|
|
echo "NPM Development Version: ${CD_BASE_VERSION}.alpha.0"
|
|
echo "Next Release Version: ${CD_CURRENT_VERSION}"
|
|
echo "Next qualified Release Version: ${CD_CURRENT_VERSION_QUALIFIED}"
|
|
echo "BASE TAG: ${CD_BASE_VERSION}"
|
|
echo "Next Major Release Tag: ${CD_NEXT_MAJOR_TAG}"
|
|
echo "Current Release Tag (normally get from pipeline CI_COMMIT_TAG): ${CD_RELEASE_TAG}"
|