aboutsummaryrefslogtreecommitdiff
path: root/MODULE.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'MODULE.bazel')
-rw-r--r--MODULE.bazel75
1 files changed, 75 insertions, 0 deletions
diff --git a/MODULE.bazel b/MODULE.bazel
new file mode 100644
index 0000000..ebf3c8c
--- /dev/null
+++ b/MODULE.bazel
@@ -0,0 +1,75 @@
+module(
+ name = "rules_java",
+ version = "6.1.1",
+ compatibility_level = 1,
+)
+
+bazel_dep(name = "platforms", version = "0.0.4")
+bazel_dep(name = "rules_cc", version = "0.0.2")
+bazel_dep(name = "bazel_skylib", version = "1.2.0")
+
+# Required by @remote_java_tools, which is loaded via module extension.
+bazel_dep(name = "rules_proto", version = "4.0.0")
+bazel_dep(name = "rules_license", version = "0.0.3")
+
+register_toolchains("//toolchains:all")
+
+toolchains = use_extension("//java:extensions.bzl", "toolchains")
+
+# Declare remote java tools repos
+use_repo(toolchains, "remote_java_tools")
+use_repo(toolchains, "remote_java_tools_linux")
+use_repo(toolchains, "remote_java_tools_windows")
+use_repo(toolchains, "remote_java_tools_darwin_x86_64")
+use_repo(toolchains, "remote_java_tools_darwin_arm64")
+
+# Declare local jdk repo
+use_repo(toolchains, "local_jdk")
+
+register_toolchains("@local_jdk//:runtime_toolchain_definition")
+
+# Declare all remote jdk toolchain config repos
+JDKS = {
+ # Must match JDK repos defined in remote_jdk11_repos()
+ "11": [
+ "linux",
+ "linux_aarch64",
+ "linux_ppc64le",
+ "linux_s390x",
+ "macos",
+ "macos_aarch64",
+ "win",
+ "win_arm64",
+ ],
+ # Must match JDK repos defined in remote_jdk17_repos()
+ "17": [
+ "linux",
+ "linux_aarch64",
+ "linux_ppc64le",
+ "linux_s390x",
+ "macos",
+ "macos_aarch64",
+ "win",
+ "win_arm64",
+ ],
+ # Must match JDK repos defined in remote_jdk20_repos()
+ "20": [
+ "linux",
+ "linux_aarch64",
+ "macos",
+ "macos_aarch64",
+ "win",
+ ],
+}
+
+REMOTE_JDK_REPOS = [("remotejdk" + version + "_" + platform) for version in JDKS for platform in JDKS[version]]
+
+[use_repo(
+ toolchains,
+ repo + "_toolchain_config_repo",
+) for repo in REMOTE_JDK_REPOS]
+
+[register_toolchains("@" + name + "_toolchain_config_repo//:toolchain") for name in REMOTE_JDK_REPOS]
+
+# Dev dependencies
+bazel_dep(name = "rules_pkg", version = "0.5.1", dev_dependency = True)