diff --git a/RELEASE_BUILD.sh b/RELEASE_BUILD.sh new file mode 100755 index 000000000..8817bc40c --- /dev/null +++ b/RELEASE_BUILD.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -e + +export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/ + +JAVA_VERSION=`java --version` +if [[ $JAVA_VERSION != "openjdk 17."* ]]; then + echo "OpenJDK version should be 17.X" + exit -1; +fi + +RELEASE_STORE_PASSWORD= +read -s -p "Enter store password: " RELEASE_STORE_PASSWORD +echo "" +read -s -p "Enter key alias: " RELEASE_KEY_ALIAS +echo "" +read -s -p "Enter key password: " RELEASE_KEY_PASSWORD +echo "" + +./gradlew --no-configuration-cache \ + clean \ + assembleReproducibleRelease \ + -Drelease_store_file=`ls ../*.jks` \ + -Drelease_store_file="../keystore_opentracks.jks" \ + -Drelease_store_password="$RELEASE_STORE_PASSWORD" \ + -Drelease_key_alias="$RELEASE_KEY_ALIAS" \ + -Drelease_key_password="$RELEASE_KEY_PASSWORD" diff --git a/build.gradle b/build.gradle index ccf14594e..1f65d2696 100644 --- a/build.gradle +++ b/build.gradle @@ -84,6 +84,14 @@ android { keyPassword System.getProperty('nightly_key_password') } } + release { + if (System.getProperty("release_store_file") != null) { + storeFile file(System.getProperty("release_store_file")) + storePassword System.getProperty("release_store_password") + keyAlias System.getProperty("release_key_alias") + keyPassword System.getProperty("release_key_password") + } + } } namespace 'de.dennisguse.opentracks' @@ -113,12 +121,13 @@ android { applicationId 'de.dennisguse.opentracks' versionNameSuffix 'irreproducible' } - reproducible { + reproducible { // Developer Binaries: https://github.com/OpenTracksApp/OSMDashboard/releases/download/v%v/de.dennisguse.opentracks.playstore_%v.apk // FDroid: https://f-droid.org/de/packages/de.dennisguse.opentracks.playstore // PlayStore: https://play.google.com/store/apps/details?id=de.dennisguse.opentracks.playstore dimension 'version' applicationId 'de.dennisguse.opentracks.playstore' + signingConfig signingConfigs.release } } @@ -132,7 +141,7 @@ android { outputFileName = "${applicationId}_${variant.versionCode}.apk" } - if (variant.flavorName== 'nightly') { + if (variant.flavorName == 'nightly') { setVersionCodeOverride(getVersionCode()) setVersionNameOverride(getVersionName()) }