#!/bin/sh
+
+if [ ! -z "$BUILDER_VERSION" ]; then
+ printf $BUILDER_VERSION
+ echo $BUILDER_VERSION > .version
+ exit 0
+fi
+
VERSION="unknown"
DIRTY=""
git status | grep -q clean || DIRTY='.dirty'
# Special environment variable to signal that we are building a release, as this
-# has condequenses for the version number.
+# has consequences for the version number.
if [ "${IS_RELEASE}" = "YES" ]; then
TAG="$(git describe --tags --exact-match 2> /dev/null | cut -d- -f 2-)"
if [ -n "${TAG}" ]; then
# We're on a tag
- echo "${TAG}${DIRTY}"
+ echo "${TAG}${DIRTY}" > .version
+ printf "${TAG}${DIRTY}"
exit 0
fi
echo 'This is not a tag, either tag this commit or do not set $IS_RELEASE' >&2
if [ ! -z "$(git rev-parse --abbrev-ref HEAD 2> /dev/null)" ]; then
if $(git rev-parse --abbrev-ref HEAD | grep -q 'rel/'); then
REL_TYPE="$(git rev-parse --abbrev-ref HEAD | cut -d/ -f 2 | cut -d- -f 1)"
- VERSION="$(git describe --match=${REL_TYPE}-* --dirty=.dirty | cut -d- -f 2-)"
+ VERSION="$(git describe --match=${REL_TYPE}-* --tags --dirty=.dirty | cut -d- -f 2-)"
else
GIT_VERSION=$(git show --no-patch --format=format:%h HEAD)
- BRANCH=".$(git rev-parse --abbrev-ref HEAD | perl -p -e 's/-//g;')"
+ BRANCH=".$(git rev-parse --abbrev-ref HEAD | perl -p -e 's/[^[:alnum:]]//g;')"
[ "${BRANCH}" = ".master" ] && BRANCH=''
VERSION="0.0${BRANCH}.${PDNS_BUILD_NUMBER}g${GIT_VERSION}${DIRTY}"
fi
VERSION="$(cat .version)"
fi
-echo $VERSION
+printf $VERSION