From d7e1770ed0dcf88a87cf7abe402595c808b4a363 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Tue, 13 Sep 2016 20:52:39 -0400 Subject: [PATCH] android set versionCode from git describe -we need a monotonically increasing integer for android versionCode and this works better across multiple branches --- android/AndroidManifest.xml | 2 +- tools/update_android_version.sh | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 4afe95caa..06d2323b7 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/tools/update_android_version.sh b/tools/update_android_version.sh index 4734957f1..7b98cca2a 100755 --- a/tools/update_android_version.sh +++ b/tools/update_android_version.sh @@ -1,12 +1,15 @@ #!/usr/bin/env bash -# this requires `origin/master` in the git tree - -MANIFEST_FILE=android/AndroidManifest.xml - -VERSIONCODE=`git rev-list origin/master --first-parent --count` VERSIONNAME=`git describe --always --tags | sed -e 's/^v//'` +# Android versionCode from git tag vX.Y.Z-123-gSHA +IFS=. read major minor patch dev sha <<<"${VERSIONNAME//-/.}" +VERSIONCODE=$(($major*100000)) +VERSIONCODE=$(($(($minor*10000)) + $VERSIONCODE)) +VERSIONCODE=$(($(($patch*1000)) + $VERSIONCODE)) +VERSIONCODE=$(($(($dev)) + $VERSIONCODE)) + +MANIFEST_FILE=android/AndroidManifest.xml if [ -n "$VERSIONCODE" ]; then sed -i -e "s/android:versionCode=\"[0-9][0-9]*\"/android:versionCode=\"$VERSIONCODE\"/" $MANIFEST_FILE echo "Android version: ${VERSIONCODE}" @@ -22,3 +25,4 @@ else echo "Error versionName empty" exit 0 # don't cause the build to fail fi + -- 2.22.0