blob: 678af08742e3daa923939ff3032062d1c236a87a [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 Andersondbef1af2016-05-23 12:05:41 -07008 - PROTOBUF_VERSION=3.0.0-beta-3
Eric Anderson80f73a42016-04-27 15:23:35 -07009 - LDFLAGS=-L/tmp/protobuf/lib
10 - CXXFLAGS=-I/tmp/protobuf/include
11 - LD_LIBRARY_PATH=/tmp/protobuf/lib
Louis Ryanc42c8c42015-03-18 16:31:38 -070012
Eric Andersona0acb9b2015-03-20 10:26:00 -070013before_install:
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
Eric Anderson6dc5e802015-10-15 14:52:24 -070018 # Work around https://github.com/travis-ci/travis-ci/issues/2317
19 - if \[ "$TRAVIS_OS_NAME" = linux \]; then jdk_switcher use oraclejdk8; fi
Kun Zhangbd23a8d2015-08-28 18:47:06 -070020 - buildscripts/make_dependencies.sh # build protoc into /tmp/protobuf-${PROTOBUF_VERSION}
Eric Anderson80f73a42016-04-27 15:23:35 -070021 - ln -s "/tmp/protobuf-${PROTOBUF_VERSION}/$(uname -s)-$(uname -p)" /tmp/protobuf
Eric Anderson26141b42015-03-21 10:59:17 -070022 - mkdir -p $HOME/.gradle
23 - echo "checkstyle.ignoreFailures=false" >> $HOME/.gradle/gradle.properties
Eric Anderson3c03eb72016-07-10 11:40:12 -070024 - echo "failOnWarnings=true" >> $HOME/.gradle/gradle.properties
Louis Ryanc42c8c42015-03-18 16:31:38 -070025
Eric Andersoncea8e8e2015-10-27 19:53:18 -070026install:
Eric Andersond7bf67e2016-06-24 18:18:06 -070027 - ./gradlew assemble generateTestProto install
28 - pushd examples && ./gradlew build && popd
29 - pushd examples && mvn verify && popd
Eric Andersoncea8e8e2015-10-27 19:53:18 -070030
Eric Anderson34571992015-05-07 17:00:44 -070031before_script:
32 - test -z "$(git status --porcelain)" || (git status && echo Error Working directory is not clean. Forget to commit generated files? && false)
33
Eric Anderson6715f122016-02-13 14:43:38 -080034script:
35 - ./gradlew check :grpc-all:jacocoTestReport
36
Eric Anderson522580d2015-08-07 18:02:31 -070037after_success:
Eric Anderson6dc5e802015-10-15 14:52:24 -070038 - if \[ "$TRAVIS_OS_NAME" = linux \]; then ./gradlew :grpc-all:coveralls; fi
Eric Anderson6715f122016-02-13 14:43:38 -080039 - bash <(curl -s https://codecov.io/bash)
Louis Ryanc42c8c42015-03-18 16:31:38 -070040
41os:
42 - linux
Eric Anderson6dc5e802015-10-15 14:52:24 -070043 - osx
44
45# This image comes with jdk8
46osx_image: xcode7
Louis Ryanc42c8c42015-03-18 16:31:38 -070047
Louis Ryanc42c8c42015-03-18 16:31:38 -070048notifications:
Eric Andersona0acb9b2015-03-20 10:26:00 -070049 email: false
50
Eric Anderson6dc5e802015-10-15 14:52:24 -070051# Caching does not work for public repositories with OS X:
52# https://github.com/travis-ci/travis-ci/issues/4011
Eric Andersona0acb9b2015-03-20 10:26:00 -070053cache:
54 directories:
Kun Zhangbd23a8d2015-08-28 18:47:06 -070055 - /tmp/protobuf-${PROTOBUF_VERSION}
Eric Anderson1d7a11c2016-04-29 15:07:22 -070056 - /tmp/gradle-caches-modules-2
57 - /tmp/gradle-wrapper
Eric Anderson16055782015-03-20 12:03:48 -070058
59before_cache:
Eric Anderson1d7a11c2016-04-29 15:07:22 -070060 # The lock changes based on folder name; normally $HOME/.gradle/caches/modules-2/modules-2.lock
61 - rm /tmp/gradle-caches-modules-2/gradle-caches-modules-2.lock
Eric Anderson3b54ffa2015-04-29 07:56:04 -070062 - find $HOME/.gradle/wrapper -not -name "*-all.zip" -and -not -name "*-bin.zip" -delete