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