From 92d62b0a579b994ab83906e2b7b9d8f7e030a734 Mon Sep 17 00:00:00 2001
From: Benoit Lavenier <benoit.lavenier@e-is.pro>
Date: Thu, 30 Apr 2020 16:11:33 +0200
Subject: [PATCH] [fix] Fix android release script

---
 scripts/env-global.sh  | 37 +++++++++++++------------------------
 scripts/run-android.sh |  5 ++---
 2 files changed, 15 insertions(+), 27 deletions(-)

diff --git a/scripts/env-global.sh b/scripts/env-global.sh
index 32ce4400..083de511 100755
--- a/scripts/env-global.sh
+++ b/scripts/env-global.sh
@@ -26,6 +26,7 @@ ANDROID_NDK_VERSION=r19c
 ANDROID_SDK_VERSION=r29.0.2
 ANDROID_SDK_TOOLS_VERSION=4333796
 ANDROID_SDK_ROOT=/usr/lib/android-sdk
+ANDROID_ALTERNATIVE_SDK_ROOT="${HOME}/Android/Sdk"
 ANDROID_SDK_TOOLS_ROOT=${ANDROID_SDK_ROOT}/build-tools
 ANDROID_OUTPUT_APK=${PROJECT_DIR}/platforms/android/build/outputs/apk
 ANDROID_OUTPUT_APK_DEBUG=${ANDROID_OUTPUT_APK}/debug
@@ -37,20 +38,18 @@ DIST_ANDROID=${PROJECT_DIR}/dist/android
 # Addons Mozilla Web extension ID
 WEB_EXT_ID="{6f9922f7-a054-4609-94ce-d269993246a5}"
 
-#JAVA_HOME= /!\ TODO Should be define in your <project>/.local/env.sh file
+# /!\ WARN can be define in your <project>/.local/env.sh file
+#JAVA_HOME=
 
 GRADLE_VERSION=4.10.3
 GRADLE_HOME=${HOME}/.gradle/${GRADLE_VERSION}
 CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
 
-
 # Override with a local file, if any
 if [[ -f "${PROJECT_DIR}/.local/env.sh" ]]; then
   echo "Loading environment variables from: '.local/env.sh'"
   source ${PROJECT_DIR}/.local/env.sh
-  if [[ $? -ne 0 ]]; then
-    exit 1
-  fi
+  [[ $? -ne 0 ]] && exit 1
 else
   echo "No file '${PROJECT_DIR}/.local/env.sh' found. Will use defaults"
 fi
@@ -78,20 +77,11 @@ if [[ "_" == "_${JAVA_HOME}" ]]; then
 fi
 
 # Check Android SDK root path
-DEFAULT_ANDROID_SDK_ROOT="${HOME}/Android/Sdk"
-if [[ "_" == "_${ANDROID_SDK_ROOT}" ]]; then
-  if [[ -d "${DEFAULT_ANDROID_SDK_ROOT}" ]]; then
-    export ANDROID_SDK_ROOT="${DEFAULT_ANDROID_SDK_ROOT}"
-  else
-    echo "Please set env variable ANDROID_SDK_ROOT"
-    exit 1
-  fi
-fi
-if [[ ! -d "${ANDROID_SDK_ROOT}" ]]; then
-  if [[ ! -d "${ANDROID_SDK_ROOT}" ]]; then
-    export ANDROID_SDK_ROOT="${DEFAULT_ANDROID_SDK_ROOT}"
+if [[ "_" == "_${ANDROID_SDK_ROOT}" || ! -d "${ANDROID_SDK_ROOT}" ]]; then
+  if [[ -d "${ANDROID_ALTERNATIVE_SDK_ROOT}" ]]; then
+    export ANDROID_SDK_ROOT="${ANDROID_ALTERNATIVE_SDK_ROOT}"
   else
-    echo "Invalid path for ANDROID_SDK_ROOT: ${ANDROID_SDK_ROOT} is not a directory"
+    echo "Please set env variable ANDROID_SDK_ROOT to an existing directory"
     exit 1
   fi
 fi
@@ -129,17 +119,16 @@ else
 fi
 
 # Install global dependencies
+YARN_PATH=`which yarn`
 IONIC_PATH=`which ionic`
 CORDOVA_PATH=`which cordova`
 CORDOVA_RES_PATH=`which cordova-res`
 NATIVE_RUN_PATH=`which native-run`
 WEB_EXT_PATH=`which web-ext`
-if [[ "_" == "_${IONIC_PATH}" || "_" == "_${CORDOVA_PATH}" || "_" == "_${CORDOVA_RES_PATH}" || "_" == "_${NATIVE_RUN_PATH}" || "_" == "_${WEB_EXT_PATH}" ]]; then
+if [[ "_" == "_${YARN_PATH}" || "_" == "_${IONIC_PATH}" || "_" == "_${CORDOVA_PATH}" || "_" == "_${CORDOVA_RES_PATH}" || "_" == "_${NATIVE_RUN_PATH}" || "_" == "_${WEB_EXT_PATH}" ]]; then
   echo "Installing global dependencies..."
-  npm install -g cordova cordova-res @ionic/cli web-ext native-run yarn
-  if [[ $? -ne 0 ]]; then
-      exit 1
-  fi
+  npm install -g yarn cordova cordova-res @ionic/cli web-ext native-run
+   [[ $? -ne 0 ]] && exit 1
 
   # Make sure Ionic use yarn
   ionic config set -g yarn true
@@ -149,7 +138,7 @@ fi
 if [[ ! -d "${PROJECT_DIR}/node_modules" ]]; then
     echo "Installing project dependencies..."
     cd ${PROJECT_DIR}
-    yarn
+    yarn install
 fi
 
 # Install project submodules
diff --git a/scripts/run-android.sh b/scripts/run-android.sh
index 7f1e3746..a5d3b0a9 100755
--- a/scripts/run-android.sh
+++ b/scripts/run-android.sh
@@ -9,15 +9,14 @@ fi;
 
 # Preparing Android environment
 . ${PROJECT_DIR}/scripts/env-android.sh
-if [[ $? -ne 0 ]]; then
-  exit 1
-fi
+[[ $? -ne 0 ]] && exit 1
 
 cd ${PROJECT_DIR}
 
 # Run the build
 echo "Building Android application..."
 ionic cordova build android --warning-mode=none --color $*
+[[ $? -ne 0 ]] && exit 1
 
 echo "Running Android application..."
 if [[ "$1" == "--release" ]]; then
-- 
GitLab