From 599c4f198175f908c8d26a3f2e25710b60bef6f9 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Tue, 25 May 2021 14:29:27 +0700 Subject: [PATCH 1/9] chore(android): Add -clean flag to build script --- android/build.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/android/build.sh b/android/build.sh index 70c0f48001..d3f5b4c41b 100755 --- a/android/build.sh +++ b/android/build.sh @@ -20,8 +20,34 @@ THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BA # SHLVL=0 +clean ( ) { + if [ -f "$KEYMAN_ROOT/android/KMAPro/kMAPro/libs/keyman-engine.aar" ]; then + echo "Cleaning keyman-engine.aar" + rm -rf "$KEYMAN_ROOT/android/KMAPro/kMAPro/libs/keyman-engine.aar" + fi + if [ -d "$KEYMAN_ROOT/android/KMAPro/kMAPro/build/outputs" ]; then + echo "Cleaning KMAPro build outputs" + 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" +} + echo Build KMEA and KMAPro: +# Parse args +while [[ $# -gt 0 ]] ; do + key="$1" + case $key in + -clean) + clean + ;; + esac + shift # past argument +done + + # Building Keyman Engine for Android cd "$KEYMAN_ROOT/android/KMEA" From 24a0d5831a4279493e59e727dfc2963ec86a9127 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Tue, 25 May 2021 15:20:18 +0700 Subject: [PATCH 2/9] chore(android): Close if clause --- android/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/android/build.sh b/android/build.sh index d3f5b4c41b..93d43bb25f 100755 --- a/android/build.sh +++ b/android/build.sh @@ -32,6 +32,7 @@ clean ( ) { if [ -d "$KEYMAN_ROOT/android/upload" ]; then echo "Cleaning upload directory" rm -rf "$KEYMAN_ROOT/android/upload" + fi } echo Build KMEA and KMAPro: From 0d88b364225b7da57df250d814acd19b4b136d0a Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Wed, 26 May 2021 09:39:57 +0700 Subject: [PATCH 3/9] fix(android): Check -clean flag if first arg --- android/build.sh | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/android/build.sh b/android/build.sh index 93d43bb25f..4bcbfed583 100755 --- a/android/build.sh +++ b/android/build.sh @@ -37,17 +37,11 @@ clean ( ) { echo Build KMEA and KMAPro: -# Parse args -while [[ $# -gt 0 ]] ; do - key="$1" - case $key in - -clean) - clean - ;; - esac - shift # past argument -done - +# Check about cleaning artifact paths +if [[ "$1" == "-clean" ]] ; then + clean + shift +fi # Building Keyman Engine for Android From e2d9aed23665c5ab88b46904cc07fb7eae6b7354 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Wed, 26 May 2021 14:34:53 +0700 Subject: [PATCH 4/9] fix(android/app): Check if key store files exist --- android/KMAPro/kMAPro/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/KMAPro/kMAPro/build.gradle b/android/KMAPro/kMAPro/build.gradle index ade444ddf7..d3a180e5fa 100644 --- a/android/KMAPro/kMAPro/build.gradle +++ b/android/KMAPro/kMAPro/build.gradle @@ -41,7 +41,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" @@ -86,7 +86,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 { From 26ddeffc20bdfb5cd50286c243630c7f768c3ded Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Wed, 26 May 2021 14:52:00 +0700 Subject: [PATCH 5/9] fix(android/app): Add another file check --- android/KMAPro/kMAPro/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/KMAPro/kMAPro/build.gradle b/android/KMAPro/kMAPro/build.gradle index d3a180e5fa..fc2e590f07 100644 --- a/android/KMAPro/kMAPro/build.gradle +++ b/android/KMAPro/kMAPro/build.gradle @@ -62,7 +62,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 } } From 5eaa5314ff33bc45ee11c9a889018f7947be762e Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Wed, 26 May 2021 15:18:38 +0700 Subject: [PATCH 6/9] fix(oem/fv/android): Also check key files for FV app --- oem/firstvoices/android/app/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/oem/firstvoices/android/app/build.gradle b/oem/firstvoices/android/app/build.gradle index 8bea0c5cd7..ef5892de2d 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 { From 51872f6e4d46bfbbc76c608a8b117eb40a851fff Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Thu, 27 May 2021 09:13:46 +0700 Subject: [PATCH 7/9] fix(android): Add more files/dirs to clean() --- android/build.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/android/build.sh b/android/build.sh index 4bcbfed583..9cb8a63cdf 100755 --- a/android/build.sh +++ b/android/build.sh @@ -20,15 +20,20 @@ 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 ( ) { - if [ -f "$KEYMAN_ROOT/android/KMAPro/kMAPro/libs/keyman-engine.aar" ]; then - echo "Cleaning keyman-engine.aar" - rm -rf "$KEYMAN_ROOT/android/KMAPro/kMAPro/libs/keyman-engine.aar" - fi + cd "$KEYMAN_ROOT/android" + + find . -name "keyman-engine.aar" | while read fname; do + echo "Cleaning $fname" + rm $fname + done + if [ -d "$KEYMAN_ROOT/android/KMAPro/kMAPro/build/outputs" ]; then - echo "Cleaning KMAPro build outputs" + 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" From 399fe011db08c498d0e9fb79af4ba4147e399ac4 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Thu, 27 May 2021 10:29:57 +0700 Subject: [PATCH 8/9] fix(android): Have clean() exit --- android/build.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/android/build.sh b/android/build.sh index 9cb8a63cdf..19043fe49a 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 # Set sensible script defaults: # set -e: Terminate script if a command returns an error @@ -28,6 +29,10 @@ clean ( ) { 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" @@ -38,6 +43,8 @@ clean ( ) { echo "Cleaning upload directory" rm -rf "$KEYMAN_ROOT/android/upload" fi + + exit } echo Build KMEA and KMAPro: From 68beb6571f9f10003a9e141c41d04b748c2c8f1d Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Fri, 28 May 2021 09:14:06 +0700 Subject: [PATCH 9/9] fix(android): Move exit --- android/build.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/android/build.sh b/android/build.sh index 19043fe49a..9a8c235823 100755 --- a/android/build.sh +++ b/android/build.sh @@ -1,6 +1,6 @@ #!/bin/bash # Build Keyman Engine for Android, Keyman for Android, and FirstVoices Android app -# Use '-clean' flag to clean build artifacts +# 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 @@ -43,8 +43,6 @@ clean ( ) { echo "Cleaning upload directory" rm -rf "$KEYMAN_ROOT/android/upload" fi - - exit } echo Build KMEA and KMAPro: @@ -52,7 +50,7 @@ echo Build KMEA and KMAPro: # Check about cleaning artifact paths if [[ "$1" == "-clean" ]] ; then clean - shift + exit fi # Building Keyman Engine for Android