From d5a5d8ab9596ddfdd7a1d0121afc753871b7eae6 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Fri, 28 May 2021 09:42:22 +0700 Subject: [PATCH] chore(android): Add -clean flag to build script --- android/KMAPro/kMAPro/build.gradle | 6 ++--- android/build.sh | 33 +++++++++++++++++++++++- oem/firstvoices/android/app/build.gradle | 6 ++--- 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/android/KMAPro/kMAPro/build.gradle b/android/KMAPro/kMAPro/build.gradle index 30a19cf94d..19a7ffab98 100644 --- a/android/KMAPro/kMAPro/build.gradle +++ b/android/KMAPro/kMAPro/build.gradle @@ -40,7 +40,7 @@ android { String env_release_store_password = System.getenv("release_store_password") String env_release_key_alias = System.getenv("release_key_alias") String env_release_key_password = System.getenv("release_key_password") - if (env_release_store_file != null) { + if (env_release_store_file != null && file(env_release_store_file).exists()) { signingConfigs { release { println "Using signing from environment" @@ -61,7 +61,7 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - if (env_release_store_file != null) { + if (env_release_store_file != null && file(env_release_store_file).exists()) { signingConfig signingConfigs.release } } @@ -85,7 +85,7 @@ sentry { } String env_keys_json_file = System.getenv("keys_json_file") -if (env_keys_json_file != null) { +if (env_keys_json_file != null && file(env_keys_json_file).exists()) { apply plugin: 'com.github.triplet.play' play { diff --git a/android/build.sh b/android/build.sh index 70c0f48001..9a8c235823 100755 --- a/android/build.sh +++ b/android/build.sh @@ -1,5 +1,6 @@ #!/bin/bash -# Build Keyman Engine Android and KMAPro +# Build Keyman Engine for Android, Keyman for Android, and FirstVoices Android app +# Use '-clean' flag to clean build artifacts (won't do other build steps) # Set sensible script defaults: # set -e: Terminate script if a command returns an error @@ -20,8 +21,38 @@ THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BA # SHLVL=0 +# Clean build artifacts: keyman-engine.aar libaries, output and upload directories +clean ( ) { + cd "$KEYMAN_ROOT/android" + + find . -name "keyman-engine.aar" | while read fname; do + echo "Cleaning $fname" + rm $fname + done + if [ -f "$KEYMAN_ROOT/oem/firstvoices/android/app/libs/keyman-engine.aar" ]; then + echo "Cleaning OEM FirstVoices keyman-engine.aar" + rm "$KEYMAN_ROOT/oem/firstvoices/android/app/libs/keyman-engine.aar" + fi + + if [ -d "$KEYMAN_ROOT/android/KMAPro/kMAPro/build/outputs" ]; then + echo "Cleaning KMAPro build outputs directory" + rm -rf "$KEYMAN_ROOT/android/KMAPro/kMAPro/build/outputs" + fi + + if [ -d "$KEYMAN_ROOT/android/upload" ]; then + echo "Cleaning upload directory" + rm -rf "$KEYMAN_ROOT/android/upload" + fi +} + echo Build KMEA and KMAPro: +# Check about cleaning artifact paths +if [[ "$1" == "-clean" ]] ; then + clean + exit +fi + # Building Keyman Engine for Android cd "$KEYMAN_ROOT/android/KMEA" diff --git a/oem/firstvoices/android/app/build.gradle b/oem/firstvoices/android/app/build.gradle index e183feb250..33247e86f6 100644 --- a/oem/firstvoices/android/app/build.gradle +++ b/oem/firstvoices/android/app/build.gradle @@ -30,7 +30,7 @@ android { String env_release_store_password = System.getenv("oem_firstvoices_release_store_password") String env_release_key_alias = System.getenv("oem_firstvoices_release_key_alias") String env_release_key_password = System.getenv("oem_firstvoices_release_key_password") - if (env_release_store_file != null) { + if (env_release_store_file != null && file(env_release_store_file).exists()) { signingConfigs { release { println "Using signing from environment" @@ -49,7 +49,7 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - if (env_release_store_file != null) { + if (env_release_store_file != null && file(env_release_store_file).exists()) { signingConfig signingConfigs.release } } @@ -73,7 +73,7 @@ sentry { } String env_keys_json_file = System.getenv("oem_firstvoices_keys_json_file") -if (env_keys_json_file != null) { +if (env_keys_json_file != null && file(env_keys_json_file).exists()) { apply plugin: 'com.github.triplet.play' play {