| #!/bin/bash |
| set -veux -o pipefail |
| |
| if [[ -f /VERSION ]]; then |
| cat /VERSION |
| fi |
| |
| readonly GRPC_JAVA_DIR="$(cd "$(dirname "$0")"/../.. && pwd)" |
| |
| . "$GRPC_JAVA_DIR"/buildscripts/kokoro/kokoro.sh |
| trap spongify_logs EXIT |
| |
| "$GRPC_JAVA_DIR"/buildscripts/build_docker.sh |
| "$GRPC_JAVA_DIR"/buildscripts/run_in_docker.sh grpc-java-artifacts-x86 /grpc-java/buildscripts/build_artifacts_in_docker.sh |
| |
| # grpc-android, grpc-cronet and grpc-binder require the Android SDK, so build outside of Docker and |
| # use --include-build for its grpc-core dependency |
| echo y | ${ANDROID_HOME}/tools/bin/sdkmanager "build-tools;28.0.3" |
| |
| # The sdkmanager needs Java 8, but now we switch to 11 as the Android builds |
| # require it |
| sudo update-java-alternatives --set java-1.11.0-openjdk-amd64 |
| unset JAVA_HOME |
| |
| LOCAL_MVN_TEMP=$(mktemp -d) |
| GRADLE_FLAGS="-Pandroid.useAndroidX=true" |
| pushd "$GRPC_JAVA_DIR/android" |
| ../gradlew publish \ |
| -Dorg.gradle.parallel=false \ |
| -PskipCodegen=true \ |
| -PrepositoryDir="$LOCAL_MVN_TEMP" \ |
| $GRADLE_FLAGS |
| popd |
| |
| pushd "$GRPC_JAVA_DIR/cronet" |
| ../gradlew publish \ |
| -Dorg.gradle.parallel=false \ |
| -PskipCodegen=true \ |
| -PrepositoryDir="$LOCAL_MVN_TEMP" \ |
| $GRADLE_FLAGS |
| popd |
| |
| pushd "$GRPC_JAVA_DIR/binder" |
| ../gradlew publish \ |
| -Dorg.gradle.parallel=false \ |
| -PskipCodegen=true \ |
| -PrepositoryDir="$LOCAL_MVN_TEMP" \ |
| $GRADLE_FLAGS |
| popd |
| |
| readonly MVN_ARTIFACT_DIR="${MVN_ARTIFACT_DIR:-$GRPC_JAVA_DIR/mvn-artifacts}" |
| mkdir -p "$MVN_ARTIFACT_DIR" |
| cp -r "$LOCAL_MVN_TEMP"/* "$MVN_ARTIFACT_DIR"/ |
| |
| "$GRPC_JAVA_DIR"/buildscripts/run_in_docker.sh grpc-java-artifacts-multiarch env \ |
| SKIP_TESTS=true ARCH=aarch_64 /grpc-java/buildscripts/kokoro/unix.sh |
| "$GRPC_JAVA_DIR"/buildscripts/run_in_docker.sh grpc-java-artifacts-multiarch env \ |
| SKIP_TESTS=true ARCH=ppcle_64 /grpc-java/buildscripts/kokoro/unix.sh |
| # Use a newer GCC version. GCC 7 in multiarch has a bug: |
| # internal compiler error: output_operand: invalid %-code |
| "$GRPC_JAVA_DIR"/buildscripts/run_in_docker.sh grpc-java-artifacts-ubuntu2004 env \ |
| SKIP_TESTS=true ARCH=s390_64 /grpc-java/buildscripts/kokoro/unix.sh |