From 7648e0a0727e42c963baaf8a2ba054e73bc13e6a Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Fri, 24 Nov 2023 09:09:38 +0100 Subject: [PATCH] Attempt to fix Bzlmod java tools override --- src/test/shell/bazel/BUILD | 13 ++++ .../shell/bazel/bazel_coverage_java_test.sh | 68 +++++------------ src/test/shell/bazel/bazel_java17_test.sh | 64 +++++----------- src/test/shell/bazel/bazel_java_test.sh | 75 ++++++------------- 4 files changed, 71 insertions(+), 149 deletions(-) diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD index 33a2c26114ae0a..86d2114cb1b3c0 100644 --- a/src/test/shell/bazel/BUILD +++ b/src/test/shell/bazel/BUILD @@ -1,4 +1,6 @@ load("//:workspace_deps.bzl", "gen_workspace_stanza") +load("//src/tools/bzlmod:utils.bzl", "get_canonical_repo_name") +load("@bazel_skylib//rules:write_file.bzl", "write_file") package(default_visibility = ["//visibility:private"]) @@ -216,6 +218,12 @@ sh_test( }), ) +write_file( + name = "gen_rules_java_repo_name", + out = "RULES_JAVA_REPO_NAME", + content = [get_canonical_repo_name("@rules_java")], +) + sh_test( name = "bazel_java17_test", srcs = ["bazel_java17_test.sh"], @@ -225,6 +233,7 @@ sh_test( "src/java_tools_prebuilt.zip", ], data = [ + ":gen_rules_java_repo_name", ":test-deps", "//src:java_tools_prebuilt_zip", "//src:java_tools_zip", @@ -244,6 +253,7 @@ sh_test( "released", ], data = [ + ":gen_rules_java_repo_name", ":test-deps", "@bazel_tools//tools/bash/runfiles", ], @@ -270,6 +280,7 @@ JAVA_VERSIONS_COVERAGE = ("11", "17") java_version, ], data = [ + ":gen_rules_java_repo_name", ":test-deps", "//src:java_tools_prebuilt_zip", "//src:java_tools_zip", @@ -296,6 +307,7 @@ JAVA_VERSIONS_COVERAGE = ("11", "17") java_version, ], data = [ + ":gen_rules_java_repo_name", ":test-deps", "@bazel_tools//tools/bash/runfiles", ], @@ -481,6 +493,7 @@ sh_test( "released", ], data = [ + ":gen_rules_java_repo_name", ":test-deps", ], tags = [ diff --git a/src/test/shell/bazel/bazel_coverage_java_test.sh b/src/test/shell/bazel/bazel_coverage_java_test.sh index 0c5850800ec0a3..8c07c693268927 100755 --- a/src/test/shell/bazel/bazel_coverage_java_test.sh +++ b/src/test/shell/bazel/bazel_coverage_java_test.sh @@ -24,36 +24,34 @@ source "${CURRENT_DIR}/coverage_helpers.sh" \ || { echo "coverage_helpers.sh not found!" >&2; exit 1; } +RULES_JAVA_REPO_NAME=$(cat "$(rlocation io_bazel/src/test/shell/bazel/RULES_JAVA_REPO_NAME)") +JAVA_TOOLS_REPO_PREFIX="${RULES_JAVA_REPO_NAME}~toolchains~" + JAVA_TOOLS_ZIP="$1"; shift if [[ "${JAVA_TOOLS_ZIP}" != "released" ]]; then - if [[ "${JAVA_TOOLS_ZIP}" == file* ]]; then - JAVA_TOOLS_ZIP_FILE_URL="${JAVA_TOOLS_ZIP}" - else - JAVA_TOOLS_ZIP_FILE_URL="file://$(rlocation io_bazel/$JAVA_TOOLS_ZIP)" - fi + JAVA_TOOLS_ZIP_FILE="$(rlocation "io_bazel/${JAVA_TOOLS_ZIP}")" + JAVA_TOOLS_DIR="$TEST_TMPDIR/_java_tools" + unzip -q "${JAVA_TOOLS_ZIP_FILE}" -d "$JAVA_TOOLS_DIR" + touch "$JAVA_TOOLS_DIR/WORKSPACE" + add_to_bazelrc "build --override_repository=${JAVA_TOOLS_REPO_PREFIX}remote_java_tools=${JAVA_TOOLS_DIR}" fi -JAVA_TOOLS_ZIP_FILE_URL=${JAVA_TOOLS_ZIP_FILE_URL:-} JAVA_TOOLS_PREBUILT_ZIP="$1"; shift if [[ "${JAVA_TOOLS_PREBUILT_ZIP}" != "released" ]]; then - if [[ "${JAVA_TOOLS_PREBUILT_ZIP}" == file* ]]; then - JAVA_TOOLS_PREBUILT_ZIP_FILE_URL="${JAVA_TOOLS_PREBUILT_ZIP}" - else - JAVA_TOOLS_PREBUILT_ZIP_FILE_URL="file://$(rlocation io_bazel/$JAVA_TOOLS_PREBUILT_ZIP)" - fi - # Remove the repo overrides that are set up some for Bazel CI workers. - inplace-sed "/override_repository=remote_java_tools=/d" "$TEST_TMPDIR/bazelrc" - inplace-sed "/override_repository=remote_java_tools_linux=/d" "$TEST_TMPDIR/bazelrc" - inplace-sed "/override_repository=remote_java_tools_windows=/d" "$TEST_TMPDIR/bazelrc" - inplace-sed "/override_repository=remote_java_tools_darwin_x86_64=/d" "$TEST_TMPDIR/bazelrc" - inplace-sed "/override_repository=remote_java_tools_darwin_arm64=/d" "$TEST_TMPDIR/bazelrc" + JAVA_TOOLS_PREBUILT_ZIP_FILE="$(rlocation "io_bazel/${JAVA_TOOLS_PREBUILT_ZIP}")" + JAVA_TOOLS_PREBUILT_DIR="$TEST_TMPDIR/_java_tools_prebuilt" + unzip -q "${JAVA_TOOLS_PREBUILT_ZIP_FILE}" -d "$JAVA_TOOLS_PREBUILT_DIR" + touch "$JAVA_TOOLS_PREBUILT_DIR/WORKSPACE" + add_to_bazelrc "build --override_repository=${JAVA_TOOLS_REPO_PREFIX}remote_java_tools_linux=${JAVA_TOOLS_PREBUILT_DIR}" + add_to_bazelrc "build --override_repository=${JAVA_TOOLS_REPO_PREFIX}remote_java_tools_windows=${JAVA_TOOLS_PREBUILT_DIR}" + add_to_bazelrc "build --override_repository=${JAVA_TOOLS_REPO_PREFIX}remote_java_tools_darwin_x86_64=${JAVA_TOOLS_PREBUILT_DIR}" + add_to_bazelrc "build --override_repository=${JAVA_TOOLS_REPO_PREFIX}remote_java_tools_arm64=${JAVA_TOOLS_PREBUILT_DIR}" fi -JAVA_TOOLS_PREBUILT_ZIP_FILE_URL=${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL:-} COVERAGE_GENERATOR_DIR="$1"; shift if [[ "${COVERAGE_GENERATOR_DIR}" != "released" ]]; then COVERAGE_GENERATOR_DIR="$(rlocation io_bazel/$COVERAGE_GENERATOR_DIR)" - add_to_bazelrc "build --override_repository=remote_coverage_tools=${COVERAGE_GENERATOR_DIR}" + add_to_bazelrc "build --override_repository=bazel_tools~remote_coverage_tools_extension~remote_coverage_tools=${COVERAGE_GENERATOR_DIR}" fi if [[ $# -gt 0 ]]; then @@ -62,38 +60,6 @@ if [[ $# -gt 0 ]]; then add_to_bazelrc "build --tool_java_runtime_version=${JAVA_RUNTIME_VERSION}" fi -function set_up() { - cat >>WORKSPACE <>WORKSPACE < BUILD load("@bazel_tools//tools/jdk:default_java_toolchain.bzl", "default_java_toolchain") diff --git a/src/test/shell/bazel/bazel_java17_test.sh b/src/test/shell/bazel/bazel_java17_test.sh index a977927e608fb9..3e7c955b4949dd 100755 --- a/src/test/shell/bazel/bazel_java17_test.sh +++ b/src/test/shell/bazel/bazel_java17_test.sh @@ -54,53 +54,29 @@ if "$is_windows"; then export MSYS2_ARG_CONV_EXCL="*" fi -JAVA_TOOLS_ZIP="$1"; shift -JAVA_TOOLS_PREBUILT_ZIP="$1"; shift - -echo "JAVA_TOOLS_ZIP=$JAVA_TOOLS_ZIP" - - -JAVA_TOOLS_RLOCATION=$(rlocation io_bazel/$JAVA_TOOLS_ZIP) +RULES_JAVA_REPO_NAME=$(cat "$(rlocation io_bazel/src/test/shell/bazel/RULES_JAVA_REPO_NAME)") +JAVA_TOOLS_REPO_PREFIX="${RULES_JAVA_REPO_NAME}~toolchains~" -if "$is_windows"; then - JAVA_TOOLS_ZIP_FILE_URL="file:///${JAVA_TOOLS_RLOCATION}" - JAVA_TOOLS_PREBUILT_ZIP_FILE_URL="file:///$(rlocation io_bazel/$JAVA_TOOLS_PREBUILT_ZIP)" -else - JAVA_TOOLS_ZIP_FILE_URL="file://${JAVA_TOOLS_RLOCATION}" - JAVA_TOOLS_PREBUILT_ZIP_FILE_URL="file://$(rlocation io_bazel/$JAVA_TOOLS_PREBUILT_ZIP)" +JAVA_TOOLS_ZIP="$1"; shift +if [[ "${JAVA_TOOLS_ZIP}" != "released" ]]; then + JAVA_TOOLS_ZIP_FILE="$(rlocation "io_bazel/${JAVA_TOOLS_ZIP}")" + JAVA_TOOLS_DIR="$TEST_TMPDIR/_java_tools" + unzip -q "${JAVA_TOOLS_ZIP_FILE}" -d "$JAVA_TOOLS_DIR" + touch "$JAVA_TOOLS_DIR/WORKSPACE" + add_to_bazelrc "build --override_repository=${JAVA_TOOLS_REPO_PREFIX}remote_java_tools=${JAVA_TOOLS_DIR}" fi -JAVA_TOOLS_ZIP_FILE_URL=${JAVA_TOOLS_ZIP_FILE_URL:-} -JAVA_TOOLS_PREBUILT_ZIP_FILE_URL=${JAVA_TOOLS_PREBUILT_ZIP_FILE_URL:-} - -disable_bzlmod - -function set_up() { - cat >>WORKSPACE <>WORKSPACE <>WORKSPACE < pkg/BUILD java_library(name = "a", srcs = ["A.java"], deps = [":b"])