From d759437ee505ce2cc97b9d61342f87c77cab66f8 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 | 17 ++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 00e46a678..fe4815802 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 4211dc982..7b98cca2a 100755 --- a/tools/update_android_version.sh +++ b/tools/update_android_version.sh @@ -1,17 +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//'` -# increment the versionCode past master for tagged releases -if [ "${TRAVIS_TAG}" ]; then - let VERSIONCODE=${VERSIONCODE}+1 -fi +# 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}" @@ -27,3 +25,4 @@ else echo "Error versionName empty" exit 0 # don't cause the build to fail fi + -- 2.22.0