blob: e3b59ff022e71229bafe07a5e9e2d811b463b243 [file] [log] [blame]
Louis Ryanc42c8c42015-03-18 16:31:38 -07001sudo: false
2
Louis Ryan540b4d32015-09-04 13:26:24 -07003language: java
Louis Ryanc42c8c42015-03-18 16:31:38 -07004
5env:
6 global:
Eric Anderson56dca032016-02-12 08:48:41 -08007 - GRADLE_OPTS=-Xmx512m
Eric Anderson80f73a42016-04-27 15:23:35 -07008 - LDFLAGS=-L/tmp/protobuf/lib
9 - CXXFLAGS=-I/tmp/protobuf/include
10 - LD_LIBRARY_PATH=/tmp/protobuf/lib
Louis Ryanc42c8c42015-03-18 16:31:38 -070011
Eric Andersona0acb9b2015-03-20 10:26:00 -070012before_install:
Eric Anderson3b578ab2018-08-17 17:03:50 -070013 - rm ~/.m2/settings.xml || true # Avoid repository.apache.org, which has QPS limits and is useless
Eric Anderson1d7a11c2016-04-29 15:07:22 -070014 - mkdir -p $HOME/.gradle/caches &&
15 ln -s /tmp/gradle-caches-modules-2 $HOME/.gradle/caches/modules-2
16 - mkdir -p $HOME/.gradle &&
17 ln -s /tmp/gradle-wrapper $HOME/.gradle/wrapper
zpencer1d80feb2018-04-27 15:59:16 -070018 - buildscripts/make_dependencies.sh # build protoc into /tmp/protobuf
Eric Anderson26141b42015-03-21 10:59:17 -070019 - mkdir -p $HOME/.gradle
20 - echo "checkstyle.ignoreFailures=false" >> $HOME/.gradle/gradle.properties
Eric Anderson3c03eb72016-07-10 11:40:12 -070021 - echo "failOnWarnings=true" >> $HOME/.gradle/gradle.properties
Eric Anderson675080b2017-02-24 14:53:23 -080022 - echo "errorProne=true" >> $HOME/.gradle/gradle.properties
Louis Ryanc42c8c42015-03-18 16:31:38 -070023
Eric Andersoncea8e8e2015-10-27 19:53:18 -070024install:
Eric Andersond7bf67e2016-06-24 18:18:06 -070025 - ./gradlew assemble generateTestProto install
26 - pushd examples && ./gradlew build && popd
27 - pushd examples && mvn verify && popd
Eric Andersoncea8e8e2015-10-27 19:53:18 -070028
Eric Anderson34571992015-05-07 17:00:44 -070029before_script:
30 - test -z "$(git status --porcelain)" || (git status && echo Error Working directory is not clean. Forget to commit generated files? && false)
31
Eric Anderson6715f122016-02-13 14:43:38 -080032script:
33 - ./gradlew check :grpc-all:jacocoTestReport
34
Eric Anderson522580d2015-08-07 18:02:31 -070035after_success:
Eric Anderson4e82e622018-03-28 17:13:39 -070036 # Upload to coveralls once, instead of for each job in the matrix
Eric Andersonc032aba2018-07-30 12:44:35 -070037 - if [[ "$TRAVIS_JOB_NUMBER" == *.1 ]]; then ./gradlew :grpc-all:coveralls; fi
Eric Anderson6715f122016-02-13 14:43:38 -080038 - bash <(curl -s https://codecov.io/bash)
Louis Ryanc42c8c42015-03-18 16:31:38 -070039
40os:
41 - linux
Eric Anderson6dc5e802015-10-15 14:52:24 -070042
Eric Anderson4e82e622018-03-28 17:13:39 -070043jdk:
zpencer37e6f5f2018-07-19 13:35:27 -070044 # net.ltgt.errorprone supports jdk8 and jdk9, but has problems with jdk10
45 # For jdk10, we need to switch over to using net.ltgt.errorprone-javacplugin,
46 # and likely update to the latest com.google.errorprone:error_prone_core.
47 # We have decided not to make our build.gradle support both plugins, so when
48 # we finally move off of jdk8 and jdk9 we will need use the javac annotation
49 # processor based plugin.
50 - oraclejdk8 # if both jdk 8 and 9 are removed, migrate to net.ltgt.errorprone-javacplugin (see above comment)
51 - oraclejdk9 # if both jdk 8 and 9 are removed, migrate to net.ltgt.errorprone-javacplugin (see above comment)
52 - oraclejdk10
Eric Anderson4e82e622018-03-28 17:13:39 -070053
Louis Ryanc42c8c42015-03-18 16:31:38 -070054notifications:
Eric Andersona0acb9b2015-03-20 10:26:00 -070055 email: false
56
57cache:
58 directories:
Eric Anderson71e98412018-07-30 16:31:12 -070059 - /tmp/protobuf-cache
Eric Anderson1d7a11c2016-04-29 15:07:22 -070060 - /tmp/gradle-caches-modules-2
61 - /tmp/gradle-wrapper
Eric Anderson16055782015-03-20 12:03:48 -070062
63before_cache:
Eric Anderson1d7a11c2016-04-29 15:07:22 -070064 # The lock changes based on folder name; normally $HOME/.gradle/caches/modules-2/modules-2.lock
65 - rm /tmp/gradle-caches-modules-2/gradle-caches-modules-2.lock
Eric Anderson3b54ffa2015-04-29 07:56:04 -070066 - find $HOME/.gradle/wrapper -not -name "*-all.zip" -and -not -name "*-bin.zip" -delete