From 06740791c7e6ec9acaa501b1071d781e39f81ad1 Mon Sep 17 00:00:00 2001 From: Jonas Heubuch Date: Fri, 1 Mar 2024 13:31:42 +0100 Subject: [PATCH] :hammer: Add script for building releases (#328) --- .gitignore | 1 + app/build.gradle | 24 ++++++++++++++++-------- build-release.ps1 | 10 ++++++++++ keystore.properties.example | 4 ++++ 4 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 build-release.ps1 create mode 100644 keystore.properties.example diff --git a/.gitignore b/.gitignore index 5d787754..87ee2f45 100644 --- a/.gitignore +++ b/.gitignore @@ -22,5 +22,6 @@ local.properties /key.properties /sentry.properties /dev.properties +/keystore.properties /**/release/* *.jks \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index b9694e0c..fb2bfaef 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,6 +39,20 @@ android { testInstrumentationRunner } + + signingConfigs { + release { + def keystorePropertiesFile = rootProject.file("keystore.properties") + def keystoreProperties = new Properties() + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) + + storeFile file(keystoreProperties['storeFile']) + storePassword keystoreProperties['storePassword'] + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + } + } + buildTypes { release { proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" @@ -53,6 +67,8 @@ android { buildConfigField "String", "WEBHOOK_URL", "\"https://webhook.traewelldroid.de\"" buildConfigField "String", "UP_FCM_PROXY", "\"https://push.traewelldroid.de/FCM\"" manifestPlaceholders["SENTRY_DSN"] = "https://9664595fcad94b6c90fe2021ab1ec3f0@sentry.traewelldroid.de/3" + + signingConfig signingConfigs.release } debug { buildConfigField "String", "OAUTH_REDIRECT_URL", "\"https://app.traewelldroid.de/oauth2redirect\"" @@ -94,14 +110,6 @@ android { // versionNameSuffix "-foss" } } - signingConfigs { - release { - storeFile file("keystore.jks") - storePassword System.getenv("SIGNING_STORE_PASSWORD") - keyAlias System.getenv("SIGNING_KEY_ALIAS") - keyPassword System.getenv("SIGNING_KEY_PASSWORD") - } - } } dependencies { diff --git a/build-release.ps1 b/build-release.ps1 new file mode 100644 index 00000000..ba59513a --- /dev/null +++ b/build-release.ps1 @@ -0,0 +1,10 @@ +rm release/ -r -Force +mkdir release +./gradlew clean +./gradlew assembleFossRelease +mv app/build/outputs/apk/foss/release/app-foss-release.apk release/ +./gradlew clean +./gradlew assemblePlayRelease +mv app/build/outputs/apk/play/release/app-play-release.apk release/ +./gradlew bundlePlayRelease +mv app/build/outputs/bundle/playRelease/app-play-release.aab release/ diff --git a/keystore.properties.example b/keystore.properties.example new file mode 100644 index 00000000..c67223a7 --- /dev/null +++ b/keystore.properties.example @@ -0,0 +1,4 @@ +storePassword= +keyPassword= +keyAlias= +storeFile= \ No newline at end of file