| #!/bin/bash |
| # |
| # Travis build script, cf. |
| # https://docs.travis-ci.com/user/customizing-the-build/#Implementing-Complex-Build-Steps. |
| |
| set -o errexit |
| set -o xtrace |
| |
| case "$TASK" in |
| "CHECK_GIT_HISTORY") |
| python "$(dirname "$0")"/check-git-history.py |
| ;; |
| "BUILD") |
| case "$TRAVIS_OS_NAME" in |
| "linux") |
| source /opt/jdk_switcher/jdk_switcher.sh |
| export JAVA8_HOME="$(jdk_switcher home oraclejdk8)" |
| case "$TRAVIS_JDK_VERSION" in |
| "oraclejdk9") |
| ./gradlew clean assemble check --stacktrace |
| ;; |
| "oraclejdk8") |
| export JAVA_HOMES="$(jdk_switcher home openjdk6)/jre:$(jdk_switcher home openjdk7)/jre:$(jdk_switcher home oraclejdk8)/jre:$(jdk_switcher home oraclejdk9)" |
| ./gradlew clean assemble --stacktrace |
| ./gradlew check :opencensus-all:jacocoTestReport |
| ./gradlew verGJF |
| ;; |
| "openjdk7") |
| # "./gradlew classes testClasses" is a workaround for |
| # https://github.com/gradle/gradle/issues/2421. |
| # See https://github.com/gradle/gradle/issues/2421#issuecomment-319916874. |
| JAVA_HOME="$(jdk_switcher home openjdk8)" ./gradlew classes testClasses |
| ./gradlew clean assemble --stacktrace |
| ./gradlew check |
| ;; |
| *) |
| echo "Unknown JDK version $TRAVIS_JDK_VERSION" |
| exit 1 |
| ;; |
| esac |
| ;; |
| "osx") |
| # OS X is a separate case, because the JDK version is determined by the OS X image: |
| # https://docs.travis-ci.com/user/reference/osx/#JDK-and-OS-X |
| ./gradlew clean assemble --stacktrace |
| ./gradlew check |
| ;; |
| *) |
| echo "Unknown OS name $TRAVIS_OS_NAME" |
| exit 1 |
| ;; |
| esac |
| ;; |
| "CHECKER_FRAMEWORK") |
| ./gradlew clean assemble -PcheckerFramework=true |
| ;; |
| "CHECK_EXAMPLES_LICENSE") |
| curl -L -o checkstyle-8.12-all.jar https://github.com/checkstyle/checkstyle/releases/download/checkstyle-8.12/checkstyle-8.12-all.jar |
| java -DrootDir=. -jar checkstyle-8.12-all.jar -c buildscripts/checkstyle.xml examples/src/ |
| ;; |
| "CHECK_EXAMPLES_FORMAT") |
| curl -L -o google-java-format-1.5-all-deps.jar https://github.com/google/google-java-format/releases/download/google-java-format-1.5/google-java-format-1.5-all-deps.jar |
| java -jar google-java-format-1.5-all-deps.jar --set-exit-if-changed --dry-run `find examples/src/ -name '*.java'` |
| ;; |
| "BUILD_EXAMPLES_GRADLE") |
| pushd examples && ./gradlew clean assemble --stacktrace && popd |
| ;; |
| "BUILD_EXAMPLES_MAVEN") |
| pushd examples && mvn clean package appassembler:assemble -e && popd |
| ;; |
| "BUILD_EXAMPLES_BAZEL") |
| pushd examples && bazel clean && bazel build :all && popd |
| ;; |
| *) |
| echo "Unknown task $TASK" |
| exit 1 |
| ;; |
| esac |