Skip to content

Instantly share code, notes, and snippets.

@0111b
Last active December 4, 2017 04:20
Show Gist options
  • Save 0111b/5615937 to your computer and use it in GitHub Desktop.
Save 0111b/5615937 to your computer and use it in GitHub Desktop.
#!/bin/sh
echo "Get version ..."
MAJOR_VERSION="0.1"
if [ -z "${PROJECT_DIR}" ]; then
PROJECT_DIR=`pwd`
fi
if [ -z "${PREFIX}" ]; then
PREFIX=""
fi
SVN_DIR="${PROJECT_DIR}/.svn"
GIT_DIR="${PROJECT_DIR}/.git"
if [ -d "${GIT_DIR}" ]; then
if [ -z "${GIT_BRANCH}" ]; then
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`
fi
BUILD_NUMBER=`xcrun git rev-list --all | wc -l | tr -d ' '`
BUILD_HASH=`xcrun git rev-parse --short --verify ${GIT_BRANCH} | tr -d ' '`
elif [ -d "${SVN_DIR}" ]; then
BUILD_NUMBER=`xcrun svnversion -nc "${PROJECT_DIR}" | sed -e 's/^[^:]*://;s/[A-Za-z]//' | tr -d ' '`
BUILD_HASH="${BUILD_NUMBER}"
else
if [ -z "${BUILD_NUMBER}" ]; then
BUILD_NUMBER="1"
fi
if [ -z "${BUILD_VCS_NUMBER}" ]; then
BUILD_HASH="1"
else
BUILD_HASH="${BUILD_VCS_NUMBER}"
fi
fi
if [ -z "$1" ]; then
echo "${MAJOR_VERSION}.${BUILD_NUMBER}"
else
echo "#define ${PREFIX}BUILD_NUMBER ${BUILD_NUMBER}" > $1
echo "#define ${PREFIX}BUILD_HASH ${BUILD_HASH}" >> $1
echo "#define ${PREFIX}MAJOR_VERSION ${MAJOR_VERSION}" >> $1
echo "#define ${PREFIX}MINOR_VERSION ${MAJOR_VERSION}.${BUILD_NUMBER}" >> $1
echo "#define ${PREFIX}VERSION() @\"${MAJOR_VERSION}.${BUILD_NUMBER}\"" >> $1
echo "Version: ${MAJOR_VERSION}.${BUILD_NUMBER}.${BUILD_HASH}"
find "${PROJECT_DIR}" -iname "*.plist" -maxdepth 1 -exec touch {} \;
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment