Convert java tool dependencies to the new distdep style
Questions to consider:
- We name the same repositories with several aliases. For example:
- remote_java_tools_linux_for_testing == remote_java_tools_test_linux
- openjdk_linux_vanilla == remotejdk11_linux_for_testing == openjdk11_linux_archive
Is this by design? Is it needed?
Closes #12810.
PiperOrigin-RevId: 351438964
diff --git a/distdir_deps.bzl b/distdir_deps.bzl
index 0080265..ad29aac 100644
--- a/distdir_deps.bzl
+++ b/distdir_deps.bzl
@@ -211,8 +211,74 @@
"additional_distfiles",
],
},
+ "remote_java_tools": {
+ "aliases": ["remote_java_tools_test", "remote_java_tools_for_testing"],
+ "archive": "java_tools-v11.0.zip",
+ "sha256": "09ecd438f1a10aa36bf0a6a2f24ead884ef7e8e8a46d086f8af6db33556b76a8",
+ "urls": [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.0/java_tools-v11.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.0/java_tools-v11.0.zip",
+ ],
+ "used_in": [
+ "additional_distfiles",
+ "test_WORKSPACE_files",
+ ],
+ },
+ "remote_java_tools_linux": {
+ "aliases": ["remote_java_tools_test_linux", "remote_java_tools_linux_for_testing"],
+ "archive": "java_tools_linux-v11.0.zip",
+ "sha256": "b66d5b97b90cb20787cfa61565672b0538912d230f120a03f38020052f25c4bc",
+ "urls": [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.0/java_tools_linux-v11.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.0/java_tools_linux-v11.0.zip",
+ ],
+ "used_in": [
+ "additional_distfiles",
+ "test_WORKSPACE_files",
+ ],
+ },
+ "remote_java_tools_windows": {
+ "aliases": ["remote_java_tools_test_windows", "remote_java_tools_windows_for_testing"],
+ "archive": "java_tools_windows-v11.0.zip",
+ "sha256": "8a683275b0f24e011b56e27eb4d7e35919d774ae57ec3353d48606cfc81e4116",
+ "urls": [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.0/java_tools_windows-v11.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.0/java_tools_windows-v11.0.zip",
+ ],
+ "used_in": [
+ "additional_distfiles",
+ "test_WORKSPACE_files",
+ ],
+ },
+ "remote_java_tools_darwin": {
+ "aliases": ["remote_java_tools_test_darwin", "remote_java_tools_darwin_for_testing"],
+ "archive": "java_tools_darwin-v11.0.zip",
+ "sha256": "39e3bb7e554e817de76a9b2cc9354b0c2363108dfcd56b360d3c35eadc8cddbd",
+ "urls": [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.0/java_tools_darwin-v11.0.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.0/java_tools_darwin-v11.0.zip",
+ ],
+ "used_in": [
+ "additional_distfiles",
+ "test_WORKSPACE_files",
+ ],
+ },
}
+# Add aliased names
+DEPS_BY_NAME = {}
+
+def _create_index():
+ for repo_name in DIST_DEPS:
+ repo = DIST_DEPS[repo_name]
+ DEPS_BY_NAME[repo_name] = repo
+ aliases = repo.get("aliases")
+ if aliases:
+ for alias in aliases:
+ DEPS_BY_NAME[alias] = repo
+
+_create_index()
+
def _gen_workspace_stanza_impl(ctx):
if ctx.attr.template and (ctx.attr.preamble or ctx.attr.postamble):
fail("Can not use template with either preamble or postamble")
@@ -221,7 +287,7 @@
repo_clause = """
maybe(
http_archive,
- "{repo}",
+ name = "{repo}",
sha256 = "{sha256}",
strip_prefix = {strip_prefix},
urls = {urls},
@@ -239,7 +305,7 @@
repo_stanzas = {}
for repo in ctx.attr.repos:
- info = DIST_DEPS[repo]
+ info = DEPS_BY_NAME[repo]
strip_prefix = info.get("strip_prefix")
if strip_prefix:
strip_prefix = "\"%s\"" % strip_prefix