#!/bin/bash # This file is used for both Linux and MacOS builds. # TODO(zpencer): test this script for Linux # This script assumes `set -e`. Removing it may lead to undefined behavior. set -exu -o pipefail export GRADLE_OPTS=-Xmx512m export PROTOBUF_VERSION=3.5.0 export LDFLAGS=-L/tmp/protobuf/lib export CXXFLAGS=-I/tmp/protobuf/include export LD_LIBRARY_PATH=/tmp/protobuf/lib export OS_NAME=$(uname) cd ./github/grpc-java # TODO(zpencer): always make sure we are using Oracle jdk8 # Proto deps buildscripts/make_dependencies.sh ln -s "/tmp/protobuf-${PROTOBUF_VERSION}/$(uname -s)-$(uname -p)" /tmp/protobuf # Gradle build config mkdir -p $HOME/.gradle echo "checkstyle.ignoreFailures=false" >> $HOME/.gradle/gradle.properties echo "failOnWarnings=true" >> $HOME/.gradle/gradle.properties echo "errorProne=true" >> $HOME/.gradle/gradle.properties # Run tests ./gradlew assemble generateTestProto install pushd examples ./gradlew build # --batch-mode reduces log spam mvn verify --batch-mode popd # TODO(zpencer): also build the GAE examples