#!/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 identify -t) LASTTAGGEDBUILD=$(hg log -r $(hg identify -n):0 --branch $BRANCH --template "{tags}\n" | grep -v "^$" | grep "build|" | head -n 1) BUILD=0 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 ${SHA1} | grep "Added tag build|${BRANCH}|${BUILD} for changeset ${SHORTTAGSHA}" >/dev/null if [ $? -ne 0 ] && [ "$TAGSHA" != "$SHA1" ]; then BUILD=$(expr $BUILD + 1) REBUILDING=1 else SHA1=$TAGSHA fi fi if [ "$TAG" == "" ] || [ "$TAG" == "tip" ]; then if [ "$MAJOR" == "default" ]; then TAG="0.0" else TAG="$MAJOR" 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)" == "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 | grep default | cut -d = -f 2 | sed s/"^ *"//g) 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"