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