blob: 74b50bf050e4c8c74fcbebee23e73c6516f48664 [file] [log] [blame]
Stefan Schmidt4a039312017-10-31 03:54:25 +01001#!/bin/bash
2#
3# Travis build script, cf.
4# https://docs.travis-ci.com/user/customizing-the-build/#Implementing-Complex-Build-Steps.
5
6set -o errexit
7set -o xtrace
8
9case "$TASK" in
10 "CHECK_GIT_HISTORY")
11 python "$(dirname "$0")"/check-git-history.py
12 ;;
13 "BUILD")
14 case "$TRAVIS_OS_NAME" in
15 "linux")
16 source /opt/jdk_switcher/jdk_switcher.sh
17 export JAVA8_HOME="$(jdk_switcher home oraclejdk8)"
18 case "$TRAVIS_JDK_VERSION" in
19 "oraclejdk8")
20 export JAVA_HOMES="$(jdk_switcher home openjdk6)/jre:$(jdk_switcher home openjdk7)/jre:$(jdk_switcher home oraclejdk8)/jre:$(jdk_switcher home oraclejdk9)"
21 ./gradlew clean assemble --stacktrace
22 ./gradlew check :opencensus-all:jacocoTestReport
23 ;;
24 "openjdk7")
25 # "./gradlew classes testClasses" is a workaround for
26 # https://github.com/gradle/gradle/issues/2421.
27 # See https://github.com/gradle/gradle/issues/2421#issuecomment-319916874.
28 JAVA_HOME="$(jdk_switcher home openjdk8)" ./gradlew classes testClasses
29 ./gradlew clean assemble --stacktrace
30 ./gradlew check
31 ;;
32 *)
33 echo "Unknown JDK version $TRAVIS_JDK_VERSION"
34 exit 1
35 ;;
36 esac
37 ;;
38 "osx")
39 # OS X is a separate case, because the JDK version is determined by the OS X image:
40 # https://docs.travis-ci.com/user/reference/osx/#JDK-and-OS-X
41 ./gradlew clean assemble --stacktrace
42 ./gradlew check
43 ;;
44 *)
45 echo "Unknown OS name $TRAVIS_OS_NAME"
46 exit 1
47 ;;
48 esac
49 ;;
50 *)
51 echo "Unknown task $TASK"
52 exit 1
53 ;;
54esac