blob: 8fa5d9a932b26564c368d0f9e5e57f9d4648f900 [file] [log] [blame]
# 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