Home | History | Annotate | Download | only in grpc-grpc-java
      1 sudo: false
      2 
      3 language: java
      4 
      5 env:
      6   global:
      7     - GRADLE_OPTS=-Xmx512m
      8     - LDFLAGS=-L/tmp/protobuf/lib
      9     - CXXFLAGS=-I/tmp/protobuf/include
     10     - LD_LIBRARY_PATH=/tmp/protobuf/lib
     11 
     12 before_install:
     13   - rm ~/.m2/settings.xml || true # Avoid repository.apache.org, which has QPS limits and is useless
     14   - 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
     18   - buildscripts/make_dependencies.sh # build protoc into /tmp/protobuf
     19   - mkdir -p $HOME/.gradle
     20   - echo "checkstyle.ignoreFailures=false" >> $HOME/.gradle/gradle.properties
     21   - echo "failOnWarnings=true" >> $HOME/.gradle/gradle.properties
     22   - echo "errorProne=true" >> $HOME/.gradle/gradle.properties
     23 
     24 install:
     25   - ./gradlew assemble generateTestProto install
     26   - pushd examples && ./gradlew build && popd
     27   - pushd examples && mvn verify && popd
     28 
     29 before_script:
     30   - test -z "$(git status --porcelain)" || (git status && echo Error Working directory is not clean. Forget to commit generated files? && false)
     31 
     32 script:
     33   - ./gradlew check :grpc-all:jacocoTestReport
     34 
     35 after_success:
     36     # Upload to coveralls once, instead of for each job in the matrix
     37   - if [[ "$TRAVIS_JOB_NUMBER" == *.1 ]]; then ./gradlew :grpc-all:coveralls; fi
     38   - bash <(curl -s https://codecov.io/bash)
     39 
     40 os:
     41   - linux
     42 
     43 jdk:
     44   # 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
     53 
     54 notifications:
     55   email: false
     56 
     57 cache:
     58   directories:
     59     - /tmp/protobuf-cache
     60     - /tmp/gradle-caches-modules-2
     61     - /tmp/gradle-wrapper
     62 
     63 before_cache:
     64   # 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
     66   - find $HOME/.gradle/wrapper -not -name "*-all.zip" -and -not -name "*-bin.zip" -delete
     67