Split tools/jdk/BUILD into part that's needed to produce @build_tools and the content of it.
There are two versions of Bazel tools available during compilation @bazel_tools//tools and @io_bazel//tools.
They are used in two different ways:
- the actual targets are needed
- source files are needed to create and embed a new version of @bazel_tools
Before the split //tools/jdk/BUILD file was used in both ways, even though it is only needed because of sources. Having everything in a single file caused evaluation by the compiling bazel. As a consequence it failed on targets/attributes that are not yet supported by it.
Splitting it into two files keeps BUILD.tools unevaluated and we can use unreleased features in it.
Closes #12603.
PiperOrigin-RevId: 345420984
diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh
index d416f8a..a674d43 100755
--- a/scripts/bootstrap/compile.sh
+++ b/scripts/bootstrap/compile.sh
@@ -280,6 +280,11 @@
link_file "${PWD}/tools/sh/sh_toolchain.bzl" "${BAZEL_TOOLS_REPO}/tools/sh/sh_toolchain.bzl"
link_file "${PWD}/tools/sh/BUILD.tools" "${BAZEL_TOOLS_REPO}/tools/sh/BUILD"
+ # Create @bazel_tools//tools/jdk
+ mkdir -p ${BAZEL_TOOLS_REPO}/tools/jdk
+ link_file "${PWD}/tools/jdk/BUILD.tools" "${BAZEL_TOOLS_REPO}/tools/jdk/BUILD"
+ link_children "${PWD}" tools/jdk "${BAZEL_TOOLS_REPO}"
+
# Create @bazel_tools//tools/java/runfiles
mkdir -p ${BAZEL_TOOLS_REPO}/tools/java/runfiles
link_file "${PWD}/tools/java/runfiles/Runfiles.java" "${BAZEL_TOOLS_REPO}/tools/java/runfiles/Runfiles.java"