summaryrefslogtreecommitdiff
path: root/scripts/android
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/android')
-rwxr-xr-xscripts/android/install.sh15
-rwxr-xr-xscripts/android/run.sh61
-rwxr-xr-xscripts/android/toolchain.sh26
3 files changed, 102 insertions, 0 deletions
diff --git a/scripts/android/install.sh b/scripts/android/install.sh
new file mode 100755
index 0000000000..656465cf2f
--- /dev/null
+++ b/scripts/android/install.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+
+source ./scripts/travis_helper.sh
+
+mapbox_time "checkout_mason" \
+git submodule update --init .mason
+
+export MASON_PLATFORM=android
+export MASON_ANDROID_ABI=${ANDROID_ABI}
+
+mapbox_time "android_toolchain" \
+./scripts/android/toolchain.sh
diff --git a/scripts/android/run.sh b/scripts/android/run.sh
new file mode 100755
index 0000000000..7a909ffe3c
--- /dev/null
+++ b/scripts/android/run.sh
@@ -0,0 +1,61 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+
+BUILDTYPE=${BUILDTYPE:-Release}
+TESTMUNK=${TESTMUNK:-no}
+export HOST=android
+export MASON_PLATFORM=android
+export MASON_ANDROID_ABI=${ANDROID_ABI:-arm-v7}
+
+source ./scripts/travis_helper.sh
+
+# Add Mason to PATH
+export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
+
+################################################################################
+# Build
+################################################################################
+
+mapbox_time "checkout_styles" \
+git submodule update --init styles
+
+mkdir -p ./android/java/MapboxGLAndroidSDKTestApp/src/main/res/raw
+echo "${MAPBOX_ACCESS_TOKEN}" > ./android/java/MapboxGLAndroidSDKTestApp/src/main/res/raw/token.txt
+
+mapbox_time "compile_library" \
+make android-lib -j${JOBS} BUILDTYPE=${BUILDTYPE}
+
+mapbox_time "build_apk" \
+make android -j${JOBS} BUILDTYPE=${BUILDTYPE}
+
+################################################################################
+# Deploy
+################################################################################
+
+if [ ! -z "${AWS_ACCESS_KEY_ID}" ] && [ ! -z "${AWS_SECRET_ACCESS_KEY}" ] ; then
+ # Install and add awscli to PATH for uploading the results
+ mapbox_time "install_awscli" \
+ pip install --user awscli
+ export PATH="`python -m site --user-base`/bin:${PATH}"
+
+ mapbox_time_start "deploy_results"
+ echo "Deploying results..."
+
+ S3_PREFIX=s3://mapbox/mapbox-gl-native/android/build/${TRAVIS_JOB_NUMBER}
+ APK_OUTPUTS=./android/java/MapboxGLAndroidSDKTestApp/build/outputs/apk
+
+ # Upload either the debug or the release build
+ if [ ${BUILDTYPE} == "Debug" ] ; then
+ aws s3 cp \
+ ${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-debug.apk \
+ ${S3_PREFIX}/MapboxGLAndroidSDKTestApp-debug.apk
+ elif [ ${BUILDTYPE} == "Release" ] ; then
+ aws s3 cp \
+ ${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-release-unsigned.apk \
+ ${S3_PREFIX}/MapboxGLAndroidSDKTestApp-release-unsigned.apk
+ fi
+
+ mapbox_time_finish
+fi
diff --git a/scripts/android/toolchain.sh b/scripts/android/toolchain.sh
new file mode 100755
index 0000000000..67cd0aa476
--- /dev/null
+++ b/scripts/android/toolchain.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+
+export MASON_PLATFORM=android
+export MASON_ANDROID_ABI=${MASON_ANDROID_ABI:-arm-v7}
+export PATH="`pwd`/.mason:${PATH}"
+export MASON_DIR="`pwd`/.mason"
+
+export PATH=`mason env PATH`
+
+echo MASON_PLATFORM=\"${MASON_PLATFORM}\"
+echo MASON_ANDROID_ABI=\"${MASON_ANDROID_ABI}\"
+echo CXX=\"`which $(mason env CXX)`\"
+echo CC=\"`which $(mason env CC)`\"
+echo LD=\"`which $(mason env LD)`\"
+echo LINK=\"`which $(mason env CXX)`\"
+echo AR=\"`which $(mason env AR)`\"
+echo RANLIB=\"`which $(mason env RANLIB)`\"
+echo STRIP=\"`which $(mason env STRIP)`\"
+echo LDFLAGS=\"`mason env LDFLAGS` \${LDFLAGS:-}\"
+echo CFLAGS=\"`mason env CFLAGS` \${CFLAGS:-}\"
+echo CXXFLAGS=\"`mason env CXXFLAGS` \${CXXFLAGS:-}\"
+echo CPPFLAGS=\"`mason env CPPFLAGS` \${CPPFLAGS:-}\"
+echo JNIDIR=\"`mason env JNIDIR`\"