# 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: false
dist: bionic
language: generic

cache:
  directories:
    - $HOME/.m2

env:
  global:
    - KEY=default VALUE=default

# Environment to testing with different versions, disabled because ranger is not compatible
#  - KEY=hadoop.version VALUE=2.8.0

jobs:
  include:
    - name: Linux AMD64 OpenJDK8
      env: JDK_VERSION=8
    - name: Linux AMD64 OpenJDK11
      env: JDK_VERSION=11
    - name: Linux ARM64 OpenJDK11
      arch: arm64-graviton2
      dist: focal
      virt: lxd
      group: edge
      env:
        - JDK_VERSION=11
        - MAVEN_ARGS="-DskipJSTests=true -P!all"

before_install:
  - export MAVEN_OPTS="-Xmx1200M -XX:MaxPermSize=768m -Xms512m"
  - sudo apt update -y
  - sudo apt install openjdk-${JDK_VERSION}-jdk maven

install:
  - mvn install $MAVEN_ARGS -D$KEY=$VALUE -DskipTests -Dmaven.javadoc.skip=true --no-transfer-progress -B -V

# KafkaRangerAuthorizerGSSTest is a failing test, TestLdapUserGroup needs too much memory for travis
script:
  - mvn test $MAVEN_ARGS -D$KEY=$VALUE -Dmaven.javadoc.skip=true -B -V -pl !plugin-kafka,!ugsync,!hive-agent
  - mvn test $MAVEN_ARGS -D$KEY=$VALUE -Dmaven.javadoc.skip=true -B -V -pl plugin-kafka -Dtest="*,!KafkaRangerAuthorizerGSSTest"
  - mvn test $MAVEN_ARGS -D$KEY=$VALUE -Dmaven.javadoc.skip=true -B -V -pl ugsync -Dtest="*,!TestLdapUserGroup"
  - if [[ "$JDK_VERSION" != "8" ]]; then mvn test $MAVEN_ARGS -D$KEY=$VALUE -Dmaven.javadoc.skip=true -B -V -pl hive-agent -Dtest="*,!HIVERangerAuthorizerTest" -DfailIfNoTests=false ; fi
  - if [[ "$JDK_VERSION" == "8" ]]; then mvn test $MAVEN_ARGS -D$KEY=$VALUE -Dmaven.javadoc.skip=true -B -V -pl hive-agent ; fi