xref: /aosp_15_r20/external/bazelbuild-rules_java/.bazel_checkout/setup.sh (revision abe8e1b943c923005d847f1e3cf6637de4ed1a1f)
1*abe8e1b9SSadaf Ebrahimi#!/usr/bin/env bash
2*abe8e1b9SSadaf Ebrahimiset -e
3*abe8e1b9SSadaf Ebrahimiset -x
4*abe8e1b9SSadaf Ebrahimi
5*abe8e1b9SSadaf EbrahimiFAKE_BCR_ROOT=$(mktemp -d --tmpdir fake-bcr.XXX)
6*abe8e1b9SSadaf EbrahimiFAKE_RULES_JAVA_ROOT=${FAKE_BCR_ROOT}/modules/rules_java
7*abe8e1b9SSadaf EbrahimiFAKE_MODULE_VERSION=9999
8*abe8e1b9SSadaf EbrahimiFAKE_MODULE_ROOT=${FAKE_RULES_JAVA_ROOT}/${FAKE_MODULE_VERSION}
9*abe8e1b9SSadaf EbrahimiFAKE_ARCHIVE=${FAKE_MODULE_ROOT}/rules_java.tar.gz
10*abe8e1b9SSadaf Ebrahimimkdir -p ${FAKE_MODULE_ROOT}
11*abe8e1b9SSadaf Ebrahimi
12*abe8e1b9SSadaf Ebrahimi# relying on the line number is not great, but :shrugs:
13*abe8e1b9SSadaf Ebrahimised -e "3 c version = \"${FAKE_MODULE_VERSION}\"," ../MODULE.bazel > ${FAKE_MODULE_ROOT}/MODULE.bazel
14*abe8e1b9SSadaf Ebrahimi
15*abe8e1b9SSadaf Ebrahimitar zcf ${FAKE_ARCHIVE} ../
16*abe8e1b9SSadaf EbrahimiRULES_JAVA_INTEGRITY_SHA256=`cat ${FAKE_ARCHIVE} | openssl dgst -sha256 -binary | base64`
17*abe8e1b9SSadaf Ebrahimicat << EOF > ${FAKE_MODULE_ROOT}/source.json
18*abe8e1b9SSadaf Ebrahimi{
19*abe8e1b9SSadaf Ebrahimi    "integrity": "sha256-${RULES_JAVA_INTEGRITY_SHA256}",
20*abe8e1b9SSadaf Ebrahimi    "strip_prefix": "",
21*abe8e1b9SSadaf Ebrahimi    "url": "file://${FAKE_ARCHIVE}"
22*abe8e1b9SSadaf Ebrahimi}
23*abe8e1b9SSadaf EbrahimiEOF
24*abe8e1b9SSadaf Ebrahimi
25*abe8e1b9SSadaf Ebrahimi# fetch and setup bazel sources
26*abe8e1b9SSadaf Ebrahimigit init
27*abe8e1b9SSadaf Ebrahimigit remote add origin https://github.com/bazelbuild/bazel.git
28*abe8e1b9SSadaf Ebrahimigit pull origin master
29*abe8e1b9SSadaf Ebrahimised -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' \
30*abe8e1b9SSadaf Ebrahimi  -e 's/^#  android_ndk_repository/android_ndk_repository/' \
31*abe8e1b9SSadaf Ebrahimi  WORKSPACE.bzlmod
32*abe8e1b9SSadaf Ebrahimirm -f WORKSPACE.bzlmod.bak
33*abe8e1b9SSadaf Ebrahimirm -rf $HOME/bazeltest
34*abe8e1b9SSadaf Ebrahimimkdir $HOME/bazeltest
35*abe8e1b9SSadaf Ebrahimi
36*abe8e1b9SSadaf Ebrahimiecho "common --registry=https://bcr.bazel.build" >> .bazelrc
37*abe8e1b9SSadaf Ebrahimiecho "common --registry=file://${FAKE_BCR_ROOT}" >> .bazelrc
38*abe8e1b9SSadaf Ebrahimiecho "add_to_bazelrc \"common --registry=https://bcr.bazel.build\"" >> src/test/shell/testenv.sh.tmpl
39*abe8e1b9SSadaf Ebrahimiecho "add_to_bazelrc \"common --registry=file://${FAKE_BCR_ROOT}\"" >> src/test/shell/testenv.sh.tmpl
40*abe8e1b9SSadaf Ebrahimi
41*abe8e1b9SSadaf EbrahimiSED_CMD="s/bazel_dep(name = \"rules_java\".*/bazel_dep(name = \"rules_java\", version = \"${FAKE_MODULE_VERSION}\")/"
42*abe8e1b9SSadaf Ebrahimised -i "${SED_CMD}" MODULE.bazel
43*abe8e1b9SSadaf Ebrahimised -i "${SED_CMD}" src/MODULE.tools
44*abe8e1b9SSadaf Ebrahimi
45*abe8e1b9SSadaf EbrahimiBAZEL_QUIET_MODE_ARGS="--ui_event_filters=error,fail"
46*abe8e1b9SSadaf Ebrahimi
47*abe8e1b9SSadaf Ebrahimibazel run ${BAZEL_QUIET_MODE_ARGS} //src/test/tools/bzlmod:update_default_lock_file -- \
48*abe8e1b9SSadaf Ebrahimi  --registry="https://bcr.bazel.build" --registry="file://${FAKE_BCR_ROOT}" ${BAZEL_QUIET_MODE_ARGS}
49*abe8e1b9SSadaf Ebrahimibazel mod deps --lockfile_mode=update
50*abe8e1b9SSadaf Ebrahimi# populate repo cache so tests don't need to access network
51*abe8e1b9SSadaf Ebrahimibazel fetch --config=ci-linux --all ${BAZEL_QUIET_MODE_ARGS}
52