blob: 55f02e9f6f798c269be66730b969fa794f0f62a9 [file] [log] [blame]
language: android
env:
global:
- NDK_VERSION=r11c
- BORINGSSL_HOME="$HOME/boringssl"
- CC=clang
- CXX=clang++
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/dists/
- $HOME/.cache/ndk
matrix:
include:
###
### Linux build is the only platform that builds Android here.
###
- os: linux
jdk: oraclejdk8
sudo: false
android:
components:
- tools
- tools # https://github.com/travis-ci/travis-ci/issues/6040
- platform-tools
- extra-android-m2repository
- build-tools-25.0.0
- android-25
license:
- 'android-sdk-license-.+'
addons:
apt:
sources:
- kalakris-cmake
- ubuntu-toolchain-r-test
packages:
- clang
- cmake
- g++-multilib
- gcc-multilib
- libc6-dev-i386
- libc6-dev:i386
- ninja-build
###
### MacOS build only does x86-64.
###
- os: osx
osx_image: xcode8
before_install:
- brew update
- brew install ninja
- export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
before_cache:
- find $HOME/.gradle -name "*.lock" -exec rm {} \;
- rm -rf $HOME/.gradle/caches/[1-9]*
before_script:
# get BoringSSL
- mkdir $BORINGSSL_HOME
- git clone --depth 1 https://boringssl.googlesource.com/boringssl $BORINGSSL_HOME
# Build BoringSSL for 64-bit
- mkdir $BORINGSSL_HOME/build64 && pushd $BORINGSSL_HOME/build64
- cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_ASM_FLAGS=-Wa,--noexecstack -GNinja ..
- ninja
- popd
# Build BoringSSL for 32-bit
- if [[ "$TRAVIS_OS_NAME" == "linux" ]];
then
mkdir $BORINGSSL_HOME/build32;
pushd $BORINGSSL_HOME/build32;
cmake -DCMAKE_TOOLCHAIN_FILE=../util/32-bit-toolchain.cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_ASM_FLAGS="-Wa,--noexecstack -m32 -msse2" -GNinja ..;
ninja;
popd;
fi
# newest Android NDK
- if [[ "$TRAVIS_OS_NAME" == "linux" ]];
then
mkdir -p $HOME/.cache/ndk;
curl https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux-x86_64.zip -z $HOME/.cache/ndk/ndk-${NDK_VERSION}.zip -o $HOME/.cache/ndk/ndk-${NDK_VERSION}.zip;
unzip -q $HOME/.cache/ndk/ndk-$NDK_VERSION.zip -d $HOME;
echo "ndk.dir=$HOME/android-ndk-$NDK_VERSION" >> local.properties;
fi
# Don't let the Android build download extra packages.
- echo 'android.builder.sdkDownload=false' > gradle.properties
script:
- ./gradlew --stacktrace --info build
after_script:
- "[ -f android/build/outputs/lint-results-debug.xml ] && cat android/build/outputs/lint-results-debug.xml"