# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

language: groovy

sudo: required
dist: trusty

matrix:
  include:
    - jdk: openjdk15
    - jdk: openjdk11
    - jdk: oraclejdk8
    - jdk: openjdk7

before_install:
  - |
    if [ $TRAVIS_JDK_VERSION == "openjdk7" ]; then
      BCPROV_FILENAME=bcprov-ext-jdk15on-158.jar
      wget "https://bouncycastle.org/download/${BCPROV_FILENAME}"
      sudo mv $BCPROV_FILENAME /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext
      sudo perl -pi.bak -e 's/^(security\.provider\.)([0-9]+)/$1.($2+1)/ge' /etc/java-7-openjdk/security/java.security
      echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" | sudo tee -a /etc/java-7-openjdk/security/java.security
    fi

install: true

before_script: unset _JAVA_OPTIONS

script:
  - ./gradlew -version
  - travis_wait 60 ./gradlew --no-daemon test

# As recommended in:
# https://docs.travis-ci.com/user/languages/java/#Caching
before_cache:
  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
  - rm -fr $HOME/.gradle/caches/*/plugin-resolution/

cache:
  directories:
    - $HOME/.gradle/caches/
    - $HOME/.gradle/wrapper/
