# Copyright (C) 2017 Google Inc.
#
# Licensed 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: java

sudo: false

notifications:
  email:
    # Group email notifications are disabled for now, since we cannot do it on a per-branch basis.
    # Right now, it would trigger a notification for each fork, which generates a lot of spam.
    # recipients:
    #  - dataflow-sdk-build-notifications+travis@google.com
    on_success: change
    on_failure: always

matrix:
  include:
    # On OSX, run with default JDK only.
    - os: osx
    # On Linux, run with specific JDKs only.
    - os: linux
      env: CUSTOM_JDK="oraclejdk8"
    # The distribution does not build with Java 7 by design. We need to rewrite these tests
    # to, for example, build and install with Java 8 and then test examples with Java 7.
    # - os: linux
    #   env: CUSTOM_JDK="oraclejdk7"
    # - os: linux
    #  env: CUSTOM_JDK="openjdk7"

before_install:
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then export JAVA_HOME=$(/usr/libexec/java_home); fi
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then jdk_switcher use "$CUSTOM_JDK"; fi

install:
  - travis_retry mvn install clean -U -DskipTests=true

script:
  # Verify that the project can be built and installed.
  - mvn install
  # Verify that starter and examples archetypes have the correct version of the NOTICE file.
  - diff -q NOTICE maven-archetypes/starter/src/main/resources/NOTICE
  - diff -q NOTICE maven-archetypes/examples/src/main/resources/NOTICE
