79 lines
2.8 KiB
79 lines
2.8 KiB
#!/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
|