sudo: false
android:
  components:
    - build-tools-26.0.2
addons:
  apt:
    packages:
    - realpath
    - xvfb
before_install:
  - set -e
  - source "travis/before-install-$BUILD_SYSTEM"
install: source "travis/install-$BUILD_SYSTEM"
script: source "travis/script-$BUILD_SYSTEM"
before_cache: source "travis/before-cache-$BUILD_SYSTEM"
cache:
  directories:
  - "$HOME/.goomph"
  - "$HOME/.gradle/caches"
  - "$HOME/.gradle/wrapper"
  - "$HOME/.m2"
  - "$HOME/apache-maven-3.5.0"
  - "$TRAVIS_BUILD_DIR/com.ibm.wala.core.testdata/ocaml/ocamljava-2.0-alpha1/lib"
env:
  global:
    - secure: KcugjQYnBqeZ7XenZD5QY7jhekVPO0QpQyjDUteLytaokhyRK2g6eNvr/pPerN2uWUvsPwO18P9F+oOupge1cpPZf4cEY8RzLIromyUoRWd6JA0SKciUYdN2kSqnC4uZSJGXeGLoroyEEL4Q2sqimpkbIGxgxYtVniWgJULOyR4=
    - secure: jacvGPYX4ugG/HgwJEEpWnllWsS/ipX+qRJ7qM5mbDYryeqsz0eiaxBxQ6IpDyj0v6O4DUi74lSQs/UxCWcUxvOn/5AweCZfoF1U8vt1xivanR4MbC2kr6rJ6ohICuJ4PHDS4IffncgaP3Y8cfExHq6+d0tbibYkjRIiMUGpSik=
matrix:
  include:
    - os: linux
      env: BUILD_SYSTEM=gradle
      language: java
      jdk: oraclejdk8
    - os: linux
      env: BUILD_SYSTEM=maven
      language: android
      jdk: oraclejdk8
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle
      language: java
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.ecj
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.test
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.test.data
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.html.nu_validator
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.nodejs
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.nodejs.test
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.rhino
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.rhino.test
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.test
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.test.data
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.test
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core.testdata
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core.tests
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.dalvik
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.dalvik.test
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jdt
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jdt.test
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jsdt
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jsdt.tests
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.tests
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.scandroid
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.shrike
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: linux
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.util
      language: java
      jdk: oraclejdk8
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.ecj
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.test
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.test.data
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.html.nu_validator
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.nodejs
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.nodejs.test
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.rhino
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.rhino.test
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.test
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.test.data
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.test
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core.testdata
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core.tests
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.dalvik
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.dalvik.test
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jdt
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jdt.test
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jsdt
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jsdt.tests
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.tests
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.scandroid
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.shrike
      language: java
      if: type = cron
    - os: osx
      osx_image: xcode8.3
      env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.util
      language: java
      if: type = cron
