#!/bin/bash BRANCH=$2 if [ "${BRANCH}" == "" ]; then BRANCH=$(hg identify -b) fi REBUILDING=0 SHA1=$(hg identify -i | grep -Eo "[a-zA-Z0-9]+") TAG=$(hg parents --template '{latesttag}') TAGSHA=$(hg identify -r $TAG | cut -d ' ' -f 1) BUILD=0 CHANGELOG="$(hg log --branch $BRANCH -X .hgtags --style=changelog -r ${TAG}:${SHA1})" if [ "$TAG" == "" ]; then BUILD=0 REBUILDING=1 MAJOR=$BRANCH else MAJOR=$(echo $TAG | cut -d \| -f 2) BUILD=$(echo $TAG | cut -d \| -f 3) SHORTTAGSHA=${TAGSHA:0:12} hg log -r tip | grep "Added tag build|${BRANCH}|${BUILD} for changeset ${SHORTTAGSHA}" >/dev/null if [ $? -ne 0 ] && [ "$TAGSHA" != "$SHA1" ]; then CHANGELOG="$(hg log --branch $BRANCH -X .hgtags --style=changelog -r ${SHORTTAGSHA}:${SHA1})" BUILD=$(expr $BUILD + 1) REBUILDING=1 else SHA1=$TAGSHA fi fi OS_NAME="" OS_VERSION="" if [ "$OS_NAME" == "" ] && [ "$(uname)" == "Darwin" ]; then OS_NAME="osx" elif [ "$OS_NAME" == "" ] && [ -f /etc/redhat-release ]; then OS_NAME="el" elif [ "$OS_NAME" == "" ] && [ "$(uname | grep -i '^MINGW')" != "" ] || [ "$(uname | grep -i '^CYGWIN')" != "" ]; then OS_NAME="win" fi if [ "$OS_VERSION" == "" ] && [ "$OS_NAME" == "el" ]; then OS_VERSION=$(cat /etc/redhat-release | grep -o "release [0-9]" | cut -d " " -f 2) RHEL_VERSION=$OS_VERSION elif [ "$OS_VERSION" == "" ] && [ "$OS_NAME" == "osx" ]; then OS_VERSION="$(sw_vers | grep 'ProductVersion:' | grep -o '[0-9]*\.[0-9]*\.[0-9]*')" elif [ "$OS_VERSION" == "" ] && [ "$OS_NAME" == "win" ]; then echo "OS_VERSION unsupported on Microsoft Windows." >&2 fi if [ "$ARCH" == "" ]; then if [ "$OS_NAME" == "osx" ]; then ARCH=$(uname -m) elif [ "$OS_NAME" != "win" ]; then ARCH=$(uname -i) elif [ "$OS_NAME" == "win" ]; then ARCH=$(uname -m) fi fi SOURCE=$((cat .hg/hgrc 2>/dev/null | grep default | cut -d = -f 2 | sed s/"^ *"//g) || echo '') echo "TAG=\"${TAG}\"" echo "BRANCH=\"${BRANCH}\"" echo "MAJOR=\"${MAJOR}\"" echo "BUILD=\"${BUILD}\"" echo "SHA1=\"${SHA1}\"" echo "OS_NAME=\"\${OS_NAME:-$OS_NAME}\"" echo "OS_VERSION=\"\${OS_VERSION:-$OS_VERSION}\"" echo "ARCH=\"\${ARCH:-$ARCH}\"" echo "VERSION=\"${MAJOR}-${BUILD}\"" echo "BUILDHOST=\"$(hostname)\"" echo "BUILDUSER=\"$(whoami)\"" echo "BUILDDIR=\"$(pwd)\"" echo "SOURCE=\"${SOURCE}\"" echo "REBUILDING=$REBUILDING" echo "CHANGELOG=\"$CHANGELOG\""