Newer
Older
Benoit Lavenier
committed
#!/bin/sh
# Get to the root project
Benoit Lavenier
committed
if test -z "${PROJECT_DIR}"; then
SCRIPT_DIR=$(dirname $0)
PROJECT_DIR=$(cd "${SCRIPT_DIR}/.." && pwd)
export PROJECT_DIR
fi;
# Preparing environment
Benoit Lavenier
committed
. "${PROJECT_DIR}/scripts/env-global.sh"
Benoit Lavenier
committed
if test -z "${CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL}"; then
echo "ERROR: Missing Gradle distribution URL - please export env variable 'CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'"
fi
echo "Preparing Android environment:"
echo " - using Android SDK: ${ANDROID_SDK_ROOT}"
echo " - using Android SDK tools: ${ANDROID_SDK_TOOLS_ROOT}"
echo " - using Gradle: ${GRADLE_HOME}"
echo " - using Java: ${JAVA_HOME}"
echo " - project dir: ${PROJECT_DIR}"
# Make sure javac exists
JAVAC_PATH=$(which javac)
Benoit Lavenier
committed
if test -z "${JAVAC_PATH}"; then
echo "ERROR: 'javac' executable not found in PATH. Make sure you have installed a complete Java JDK, and not only a JRE."
Benoit Lavenier
committed
#exit 1
Benoit Lavenier
committed
if ! test -d "${ANDROID_SDK_TOOLS_ROOT}"; then
cd "${PROJECT_DIR}/scripts"
./install-android-sdk-tools.sh
Benoit Lavenier
committed
if test $? -ne 0; then
echo "ERROR: Unable to install Android SDK Tools"
fi
# Install Gradle
Benoit Lavenier
committed
if test -z "$(which gradle)" && ! test -d "${GRADLE_HOME}"; then
cd "${PROJECT_DIR}/scripts"
echo "Installing gradle... ${GRADLE_HOME}"
test -e "gradle-${GRADLE_VERSION}-all.zip" || wget -kL ${CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL}
GRADLE_PARENT=$(dirname $GRADLE_HOME)
test -e "${GRADLE_PARENT}" || mkdir -p ${GRADLE_PARENT}
test -e "${GRADLE_PARENT}/gradle-${GRADLE_VERSION}" || unzip -qq gradle-${GRADLE_VERSION}-all.zip -d "${GRADLE_PARENT}"
Benoit Lavenier
committed
if test $? -eq 0; then
test -e "${GRADLE_HOME}" || mv "${GRADLE_PARENT}/gradle-${GRADLE_VERSION}" "${GRADLE_HOME}"
if test $? -eq 0; then
test -e "${GRADLE_PARENT}/gradle-${GRADLE_VERSION}" || rm "${GRADLE_PARENT}/gradle-${GRADLE_VERSION}"
fi
fi
if test $? -ne 0; then
echo "ERROR: Unable to install Gradle"
fi
# Prepare Android platform
Benoit Lavenier
committed
if ! test -d "${PROJECT_DIR}/platforms/android"; then
echo "Adding Cordova Android platform..."
cd "${PROJECT_DIR}"
ionic cordova prepare android --color --verbose
Benoit Lavenier
committed
if test $? -ne 0; then
echo "ERROR: Cannot install Android platform (using cordova)"
fi
fi
# Copy local files
Benoit Lavenier
committed
ANDROID_OVERWRITE_DIR=${PROJECT_DIR}/.local/android
if test -d "${ANDROID_OVERWRITE_DIR}"; then
echo "Copying files from directory '${ANDROID_OVERWRITE_DIR}' into '${PROJECT_DIR}/platforms/android'..."
cp -rf ${ANDROID_OVERWRITE_DIR}/* ${PROJECT_DIR}/platforms/android
if test $? -ne 0; then
echo "ERROR: Cannot copy local files '${ANDROID_OVERWRITE_DIR}/*'"
fi
Benoit Lavenier
committed
echo "No directory '${ANDROID_OVERWRITE_DIR}' not found. Please create it, with a file 'release-signing.properties' for release signing"
Benoit Lavenier
committed
export PATH=${GRADLE_HOME}/bin:${PATH}
echo "Android environment is ready!"