## ---------------------------------------------------------------------------
## 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.
## ---------------------------------------------------------------------------

sudo: required

addons:
  sonarcloud:
    organization: "apache"
    token:
      secure: "gkKQ9reEfrFp34+U2xR38WJkzqrKCppiWtBWkC68pV3JBG/uMf9wq6rt/6PbnAVM19jcJUdZwJ+mWXtTnPNy2GNtHOPX1zERfWKiCsYGTMzntqr7fflKJk1sdUVD5ssbIO0Wt6kImqGSDXS/GYKUb6pow7H1N9wFZAF5vAoBYtG14CkUKPpHWBX9FothsP4zUI4IHZEs4jnMvGj/OA61riUR+mfw3qRqp1hkEKh2bXcIaLCzRfMib693JzzRDpkRaRSVUdwVNPRqTzZUv7ePOOflRI0yvcjjeDQpYPbVu03NryiUC0z+lOA2WLopqIup0rmi2Q7z1dfGvg5ot8URfDzKRW7VStDkoQRq8nq70mMCCuMt8BCmGJvtGDxkIHPBulEYQXnCW1NPghkfKD8WMy+gZy1Wf5+eB9ntUy9MhGFzicFqcVPJU0SAbk6adV+J39ueCG+Cqx5UcIkFT69XKy3C0dtY2s/5zYiXOhZfZVXli0GHOQ4KVczU7l/KcgBwn7HuW/FW5OElr+kWniqT7IYyGk12W+4HrndmfagL0AWx3WKRM/At8FQtGRWqDkJusF2PJJA4gKFcHiqz5ib3OXkvGzN5cgSMT9b5+H3c517E/yHzwk56bhr/qNqhB1c/8lGPQcQTJRHzizZUCoXTdQ8q8XkLdiChzdtERhrwKsI="
  
cache:
  directories:
  - "$HOME/.m2"
language: java

# SonarCloud give a warning if using shallow clone (default), so we disable it
git:
  depth: false
  
install: true
jdk:
- openjdk8
script: ./scripts/test.sh
after_success:
- if [ "$TRAVIS_EVENT_TYPE" == "cron" ]; then bash -x scripts/deploy.sh ; fi
