Files
versioners/gitversion
2013-05-16 21:39:50 -04:00

81 lines
2.1 KiB
Bash

#!/bin/bash
BRANCH=$2
if [ "${BRANCH}" == "" ]; then
BRANCH=$(git branch | grep '^\*\s*.*' | cut -d ' ' -f 2)
fi
REBUILDING=0
SHA1=$(git rev-parse HEAD)
TAG=$(git describe --tags `git rev-list --tags --max-count=1` 2>/dev/null)
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)
TAGSHA=$(git rev-list $TAG | head -n 1)
if [ "$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=$(git remote show origin | grep "Fetch URL" | cut -d : -f 2- | cut -d ' ' -f 2-)
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"