xref: /aosp_15_r20/external/grpc-grpc-java/buildscripts/kokoro/linux_artifacts.sh (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
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