xref: /aosp_15_r20/external/grpc-grpc/templates/tools/dockerfile/bazel.include (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker#========================
2*cc02d7e2SAndroid Build Coastguard Worker# Bazel installation
3*cc02d7e2SAndroid Build Coastguard Worker
4*cc02d7e2SAndroid Build Coastguard Worker# Must be in sync with tools/bazel
5*cc02d7e2SAndroid Build Coastguard WorkerENV BAZEL_VERSION ${primary_bazel_version}
6*cc02d7e2SAndroid Build Coastguard Worker
7*cc02d7e2SAndroid Build Coastguard Worker# The correct bazel version is already preinstalled, no need to use //tools/bazel wrapper.
8*cc02d7e2SAndroid Build Coastguard WorkerENV DISABLE_BAZEL_WRAPPER 1
9*cc02d7e2SAndroid Build Coastguard Worker
10*cc02d7e2SAndroid Build Coastguard Worker# Download the correct bazel version and make sure it's on path.
11*cc02d7e2SAndroid Build Coastguard WorkerRUN BAZEL_ARCH_SUFFIX="$(uname -m | sed s/aarch64/arm64/)" ${'\\'}
12*cc02d7e2SAndroid Build Coastguard Worker  && curl -sSL --fail -o /usr/local/bin/bazel "https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-linux-$BAZEL_ARCH_SUFFIX" ${'\\'}
13*cc02d7e2SAndroid Build Coastguard Worker  && chmod a+x /usr/local/bin/bazel
14*cc02d7e2SAndroid Build Coastguard Worker
15*cc02d7e2SAndroid Build Coastguard Worker# Normally we would run "bazel --version" here to make sure bazel
16*cc02d7e2SAndroid Build Coastguard Worker# was correctly installed, but we can't do that because
17*cc02d7e2SAndroid Build Coastguard Worker# of # https://github.com/bazelbuild/bazel/issues/11379.
18*cc02d7e2SAndroid Build Coastguard Worker# We want to keep the arm64 version of the image buildable
19*cc02d7e2SAndroid Build Coastguard Worker# on x64 with use of qemu-user-static & binfmt emulation,
20*cc02d7e2SAndroid Build Coastguard Worker# but the self-extraction is broken for bazel currently.
21*cc02d7e2SAndroid Build Coastguard Worker# The binary will work correctly when run on real arm64
22*cc02d7e2SAndroid Build Coastguard Worker# hardware, when qemu-user-static isn't getting into the way.
23