#!/bin/bash set -ex [ -n "${ANDROID_NDK}" ] _https_amazon_aws=https://ossci-android.s3.amazonaws.com apt-get update apt-get install -y --no-install-recommends autotools-dev autoconf unzip apt-get autoclean && apt-get clean rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* pushd /tmp curl -Os --retry 3 $_https_amazon_aws/android-ndk-${ANDROID_NDK}-linux-x86_64.zip popd _ndk_dir=/opt/ndk mkdir -p "$_ndk_dir" unzip -qo /tmp/android*.zip -d "$_ndk_dir" _versioned_dir=$(find "$_ndk_dir/" -mindepth 1 -maxdepth 1 -type d) mv "$_versioned_dir"/* "$_ndk_dir"/ rmdir "$_versioned_dir" rm -rf /tmp/* # Install OpenJDK # https://hub.docker.com/r/picoded/ubuntu-openjdk-8-jdk/dockerfile/ sudo apt-get update && \ apt-get install -y openjdk-8-jdk && \ apt-get install -y ant && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ rm -rf /var/cache/oracle-jdk8-installer; # Fix certificate issues, found as of # https://bugs.launchpad.net/ubuntu/+source/ca-certificates-java/+bug/983302 sudo apt-get update && \ apt-get install -y ca-certificates-java && \ apt-get clean && \ update-ca-certificates -f && \ rm -rf /var/lib/apt/lists/* && \ rm -rf /var/cache/oracle-jdk8-installer; export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ # Installing android sdk # https://github.com/circleci/circleci-images/blob/staging/android/Dockerfile.m4 _tmp_sdk_zip=/tmp/android-sdk-linux.zip _android_home=/opt/android/sdk rm -rf $_android_home sudo mkdir -p $_android_home curl --silent --show-error --location --fail --retry 3 --output /tmp/android-sdk-linux.zip $_https_amazon_aws/android-sdk-linux-tools3859397-build-tools2803-2902-platforms28-29.zip sudo unzip -q $_tmp_sdk_zip -d $_android_home rm $_tmp_sdk_zip sudo chmod -R 777 $_android_home export ANDROID_HOME=$_android_home export ADB_INSTALL_TIMEOUT=120 export PATH="${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools:${PATH}" echo "PATH:${PATH}" # Installing Gradle echo "GRADLE_VERSION:${GRADLE_VERSION}" _gradle_home=/opt/gradle sudo rm -rf $gradle_home sudo mkdir -p $_gradle_home curl --silent --output /tmp/gradle.zip --retry 3 $_https_amazon_aws/gradle-${GRADLE_VERSION}-bin.zip sudo unzip -q /tmp/gradle.zip -d $_gradle_home rm /tmp/gradle.zip sudo chmod -R 777 $_gradle_home export GRADLE_HOME=$_gradle_home/gradle-$GRADLE_VERSION alias gradle="${GRADLE_HOME}/bin/gradle" export PATH="${GRADLE_HOME}/bin/:${PATH}" echo "PATH:${PATH}" gradle --version mkdir /var/lib/jenkins/gradledeps cp build.gradle /var/lib/jenkins/gradledeps cp AndroidManifest.xml /var/lib/jenkins/gradledeps pushd /var/lib/jenkins export GRADLE_LOCAL_PROPERTIES=gradledeps/local.properties rm -f $GRADLE_LOCAL_PROPERTIES echo "sdk.dir=/opt/android/sdk" >> $GRADLE_LOCAL_PROPERTIES echo "ndk.dir=/opt/ndk" >> $GRADLE_LOCAL_PROPERTIES chown -R jenkins /var/lib/jenkins/gradledeps chgrp -R jenkins /var/lib/jenkins/gradledeps sudo -H -u jenkins $GRADLE_HOME/bin/gradle -Pandroid.useAndroidX=true -p /var/lib/jenkins/gradledeps -g /var/lib/jenkins/.gradle --refresh-dependencies --debug --stacktrace assemble chown -R jenkins /var/lib/jenkins/.gradle chgrp -R jenkins /var/lib/jenkins/.gradle popd rm -rf /var/lib/jenkins/.gradle/daemon # Cache vision models used by the test source "$(dirname "${BASH_SOURCE[0]}")/cache_vision_models.sh"