1#!/bin/bash 2set -veux -o pipefail 3 4if [[ -f /VERSION ]]; then 5 cat /VERSION 6fi 7 8readonly GRPC_JAVA_DIR="$(cd "$(dirname "$0")"/../.. && pwd)" 9 10. "$GRPC_JAVA_DIR"/buildscripts/kokoro/kokoro.sh 11trap spongify_logs EXIT 12 13"$GRPC_JAVA_DIR"/buildscripts/build_docker.sh 14"$GRPC_JAVA_DIR"/buildscripts/run_in_docker.sh grpc-java-artifacts-x86 /grpc-java/buildscripts/build_artifacts_in_docker.sh 15 16# grpc-android, grpc-cronet and grpc-binder require the Android SDK, so build outside of Docker and 17# use --include-build for its grpc-core dependency 18echo y | ${ANDROID_HOME}/tools/bin/sdkmanager "build-tools;28.0.3" 19 20# The sdkmanager needs Java 8, but now we switch to 11 as the Android builds 21# require it 22sudo update-java-alternatives --set java-1.11.0-openjdk-amd64 23unset JAVA_HOME 24 25LOCAL_MVN_TEMP=$(mktemp -d) 26GRADLE_FLAGS="-Pandroid.useAndroidX=true" 27pushd "$GRPC_JAVA_DIR/android" 28../gradlew publish \ 29 -Dorg.gradle.parallel=false \ 30 -PskipCodegen=true \ 31 -PrepositoryDir="$LOCAL_MVN_TEMP" \ 32 $GRADLE_FLAGS 33popd 34 35pushd "$GRPC_JAVA_DIR/cronet" 36../gradlew publish \ 37 -Dorg.gradle.parallel=false \ 38 -PskipCodegen=true \ 39 -PrepositoryDir="$LOCAL_MVN_TEMP" \ 40 $GRADLE_FLAGS 41popd 42 43pushd "$GRPC_JAVA_DIR/binder" 44../gradlew publish \ 45 -Dorg.gradle.parallel=false \ 46 -PskipCodegen=true \ 47 -PrepositoryDir="$LOCAL_MVN_TEMP" \ 48 $GRADLE_FLAGS 49popd 50 51readonly MVN_ARTIFACT_DIR="${MVN_ARTIFACT_DIR:-$GRPC_JAVA_DIR/mvn-artifacts}" 52mkdir -p "$MVN_ARTIFACT_DIR" 53cp -r "$LOCAL_MVN_TEMP"/* "$MVN_ARTIFACT_DIR"/ 54 55"$GRPC_JAVA_DIR"/buildscripts/run_in_docker.sh grpc-java-artifacts-multiarch env \ 56 SKIP_TESTS=true ARCH=aarch_64 /grpc-java/buildscripts/kokoro/unix.sh 57"$GRPC_JAVA_DIR"/buildscripts/run_in_docker.sh grpc-java-artifacts-multiarch env \ 58 SKIP_TESTS=true ARCH=ppcle_64 /grpc-java/buildscripts/kokoro/unix.sh 59# Use a newer GCC version. GCC 7 in multiarch has a bug: 60# internal compiler error: output_operand: invalid %-code 61"$GRPC_JAVA_DIR"/buildscripts/run_in_docker.sh grpc-java-artifacts-ubuntu2004 env \ 62 SKIP_TESTS=true ARCH=s390_64 /grpc-java/buildscripts/kokoro/unix.sh 63