summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2019-08-30 11:34:05 +0200
committerLinus Färnstrand <linus@mullvad.net>2019-08-30 12:11:23 +0200
commit47f620104043849781920d0e63c404e8df30de4b (patch)
tree087dc90a88f374c1ba3ec58735d8e2e777085600
parent46d191e4567f08839ae059edfe5e13125d4180c5 (diff)
downloadmullvadvpn-47f620104043849781920d0e63c404e8df30de4b.tar.xz
mullvadvpn-47f620104043849781920d0e63c404e8df30de4b.zip
Compute and insert versionCode and versionName for Android
-rwxr-xr-xbuild.sh5
-rwxr-xr-xprepare_release.sh21
2 files changed, 20 insertions, 6 deletions
diff --git a/build.sh b/build.sh
index 9b4c25cd0d..295d551223 100755
--- a/build.sh
+++ b/build.sh
@@ -91,10 +91,9 @@ if [[ "$BUILD_MODE" == "dev" ]]; then
echo "compression: store" >> gui/electron-builder.yml
fi
-sed -i.bak \
- -Ee "s/\"version\": \"[^\"]+\",/\"version\": \"$SEMVER_VERSION\",/g" \
- gui/package.json
cp gui/package-lock.json gui/package-lock.json.bak
+sed -i.bak -Ee "s/\"version\": \"[^\"]+\",/\"version\": \"$SEMVER_VERSION\",/g" \
+ gui/package.json
cp Cargo.lock Cargo.lock.bak
sed -i.bak \
diff --git a/prepare_release.sh b/prepare_release.sh
index 8a628e15c5..3f4d6b8f25 100755
--- a/prepare_release.sh
+++ b/prepare_release.sh
@@ -12,11 +12,21 @@ if [[ "$#" != "1" ]]; then
fi
VERSION=$1
-if [[ $(echo $VERSION | egrep '^[0-9]{4}\.[0-9]+(-(beta|alpha)[0-9]+)?$') == "" ]]; then
+# Regex that only matches valid Mullvad VPN versions. It also captures
+# relevant values into capture groups, read out via BASH_REMATCH[x]
+VERSION_REGEX="^20([0-9]{2})\.([0-9]+)(-beta([0-9]+))?$"
+if [[ ! $VERSION =~ $VERSION_REGEX ]]; then
echo "Invalid version format. Please specify version as:"
- echo "<YEAR>.<NUMBER>[-(beta|alpha)<NUMBER>]"
+ echo "<YEAR>.<NUMBER>[-beta<NUMBER>]"
exit 1
fi
+VERSION_YEAR=$(printf "%02d" ${BASH_REMATCH[1]})
+VERSION_NUMBER=$(printf "%02d" ${BASH_REMATCH[2]})
+VERSION_PATCH="00"
+VERSION_BETA=$(printf "%02d" ${BASH_REMATCH[4]:-99})
+ANDROID_VERSION_CODE=${VERSION_YEAR}${VERSION_NUMBER}${VERSION_PATCH}${VERSION_BETA}
+
+SEMVER_VERSION=$(echo $VERSION | sed -Ee 's/($|-.*)/.0\1/g')
if [[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]]; then
echo "Dirty working directory! Will not accept that for an official release."
@@ -30,7 +40,6 @@ if [[ $(grep $VERSION CHANGELOG.md) == "" ]]; then
fi
echo "Updating version in metadata files..."
-SEMVER_VERSION=`echo $VERSION | sed -Ee 's/($|-.*)/.0\1/g'`
sed -i.bak -Ee "s/\"version\": \"[^\"]+\",/\"version\": \"$SEMVER_VERSION\",/g" \
gui/package.json
sed -i.bak -Ee "s/^version = \"[^\"]+\"\$/version = \"$SEMVER_VERSION\"/g" \
@@ -38,6 +47,12 @@ sed -i.bak -Ee "s/^version = \"[^\"]+\"\$/version = \"$SEMVER_VERSION\"/g" \
mullvad-cli/Cargo.toml \
mullvad-problem-report/Cargo.toml
+sed -i.bak -Ee "s/versionCode [0-9]+/versionCode $ANDROID_VERSION_CODE/g" \
+ android/build.gradle
+sed -i.bak -Ee "s/versionName \"[^\"]+\"/versionName \"$VERSION\"/g" \
+ android/build.gradle
+
+
echo "Syncing Cargo.lock with new version numbers"
source env.sh ""
cargo build