Last active
August 29, 2015 14:22
-
-
Save b099l3/f7ff3ae85f626b9962e6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
incrementBuildnumber () | |
{ | |
echo "\n ********************** Build Number++ Started ********************** \n" | |
BRANCH_NAME=`git rev-parse --symbolic-full-name --abbrev-ref HEAD` | |
git symbolic-ref --short HEAD | |
git reset --hard origin/$BRANCH_NAME | |
git branch --set-upstream-to=origin/$BRANCH_NAME $BRANCH_NAME | |
git pull | |
if [ $osType = "droid" ] | |
then | |
incremenetAndroidBuildNumber | |
elif [ $osType = "touch" ] | |
then | |
incremenetiOSBuildNumber | |
fi | |
incremenetBuildNotes | |
echo "Build number incremeneted to $NEW_BUILD_NUMBER" | |
git commit -a -m "$BUILDTYPE build number incremented to $NEW_BUILD_NUMBER" | |
#DONT PUSH HERE LET JENKINS DO IT IF ITS SUCCESSFULL | |
echo "\n ********************** Build Number++ Finished ********************** \n" | |
} | |
incremenetiOSBuildNumber () | |
{ | |
BUILDTYPE="iOS" | |
# iOS plist file | |
INFOPLIST_FILE="$IOS_LOCATION/Info.plist" | |
VERSION_NUMBER=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE") | |
BUILD_NUMBER=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE") | |
NEW_BUILD_NUMBER=$(($BUILD_NUMBER + 1)) | |
#iOS set build number on plist file | |
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $NEW_BUILD_NUMBER" "$INFOPLIST_FILE" | |
echo "Updated Build Number To ${NEW_BUILD_NUMBER} In ${INFOPLIST_FILE}"; | |
} | |
incremenetAndroidBuildNumber () | |
{ | |
BUILDTYPE="Android" | |
# ANDROID Manifest file | |
MANIFEST_FILE="$DROID_LOCATION/Properties/AndroidManifest.xml" | |
MANIFEST_TEMP_FILE="$DROID_LOCATION/Properties/AndroidManifest.temp" | |
REGEX_FOR_VERSION_NUMBER="android:versionName=\"([0-9\.]+)\"" | |
REGEX_FOR_BUILD_NUMBER="android:versionCode=\"([0-9]+)\"" | |
VAR=$(<$MANIFEST_FILE) | |
if [[ $VAR =~ $REGEX_FOR_BUILD_NUMBER ]]; then | |
echo "Build number - found " ${BASH_REMATCH[1]} #buildnumber e.g. 101 build number should NOT be a version number e.g. 3.1.0 | |
BUILD_NUMBER=${BASH_REMATCH[1]} | |
else | |
echo "No build number found" | |
exit | |
fi | |
if [[ $VAR =~ $REGEX_FOR_VERSION_NUMBER ]]; then | |
echo "Version number found - " ${BASH_REMATCH[1]} #version number e.g. 3.1.0 | |
VERSION_NUMBER=${BASH_REMATCH[1]} | |
else | |
echo "No version number found" | |
exit | |
fi | |
NEW_BUILD_NUMBER=$(($BUILD_NUMBER + 1)) | |
#Android set build number on manifest file | |
if [ -f $MANIFEST_FILE ] | |
then | |
sed 's/android:versionCode=\"[0-9]*\"/android:versionCode=\"'$NEW_BUILD_NUMBER'\"/g' $MANIFEST_FILE > MANIFEST_TEMP_FILE ; mv MANIFEST_TEMP_FILE $MANIFEST_FILE | |
echo "Updated Build Number To ${NEW_BUILD_NUMBER} In ${MANIFEST_FILE}"; | |
else | |
echo "Cant find ${MANIFEST_FILE}" | |
exit | |
fi | |
# Update Version number on Assembly Info | |
ASSEMBLY_INFO_FILE="$DROID_LOCATION/Properties/AssemblyInfo.cs" | |
ASSEMBLY_INFO_TEMP_FILE="$DROID_LOCATION/Properties/AssemblyInfo.temp" | |
if [ -f $ASSEMBLY_INFO_FILE ] | |
then | |
sed 's/AssemblyVersion(\"[0-9\.]*\")/AssemblyVersion(\"'$VERSION_NUMBER'\")/g' $ASSEMBLY_INFO_FILE > ASSEMBLY_INFO_TEMP_FILE ; mv ASSEMBLY_INFO_TEMP_FILE $ASSEMBLY_INFO_FILE | |
echo "Updated Version Number To ${VERSION_NUMBER} In ${ASSEMBLY_INFO_FILE}"; | |
else | |
echo "Cant find ${ASSEMBLY_INFO_FILE}" | |
exit | |
fi | |
} | |
incremenetBuildNotes() | |
{ | |
# Add to build notes | |
RELEASE_NOTES_FILE="$ROOT_LOCATION/ReleaseNotes/ReleaseNotes.md" | |
RELEASE_NOTES_TEMP_FILE="$ROOT_LOCATION/ReleaseNotes/ReleaseNotes.temp" | |
#Set build number on Releease notes | |
if [ -f $RELEASE_NOTES_FILE ] | |
then | |
sed 's/## Version [0-9\.]* ([0-9]*)/## Version '$VERSION_NUMBER' ('$NEW_BUILD_NUMBER')/g' $RELEASE_NOTES_FILE > RELEASE_NOTES_TEMP_FILE ; mv RELEASE_NOTES_TEMP_FILE $RELEASE_NOTES_FILE | |
echo "Updated Build Number To ${VERSION_NUMBER} (${NEW_BUILD_NUMBER}) In ${RELEASE_NOTES_FILE}"; | |
else | |
echo "Cant find ${RELEASE_NOTES_FILE}" | |
exit | |
fi | |
} | |
incrementBuildnumber |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment