refactor MODULE.bazel file Use `register_toolchains(...)` instead of `module(..., toolchains_to_register = [...])`. The former allows us to put the `module` directive at the very top of the file, improving readability.
diff --git a/MODULE.bazel b/MODULE.bazel index 940ed0b..0aef6e8 100644 --- a/MODULE.bazel +++ b/MODULE.bazel
@@ -1,3 +1,33 @@ +module( + name = "rules_java", + compatibility_level = 1, + version = "4.0.0", +) + +bazel_dep(name = "platforms", version = "0.0.4") +bazel_dep(name = "rules_cc", version = "0.0.1") + +# rules_proto is required by @remote_java_tools, which is loaded via module extension. +bazel_dep(name = "rules_proto", version = "4.0.0") + +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") + +# Declare local jdk repo +use_repo(toolchains, "local_jdk") +register_toolchains("@local_jdk//:runtime_toolchain_definition") + +# Declare all remote jdk toolchain config repos JDK_VERSIONS = [ "11", "15", @@ -20,45 +50,13 @@ ] REMOTE_JDK_REPOS = [("remotejdk" + version + "_" + platform) for version in JDK_VERSIONS for platform in PLATFORMS] + EXTRA_REMOTE_JDK11_REPOS - -REMOTE_JAVA_TOOLCHAINS = [("@" + name + "_toolchain_config_repo//:toolchain") for name in REMOTE_JDK_REPOS] - -module( - name = "rules_java", - compatibility_level = 1, - toolchains_to_register = [ - "//toolchains:all", - "@local_jdk//:runtime_toolchain_definition", - ] + REMOTE_JAVA_TOOLCHAINS, - version = "4.0.0", -) - -bazel_dep(name = "platforms", version = "0.0.4") -bazel_dep(name = "rules_cc", version = "0.0.1") - -# rules_proto is required by @remote_java_tools, which is loaded via module extension. -bazel_dep(name = "rules_proto", version = "4.0.0") - -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") - -# Declare local jdk repo -use_repo(toolchains, "local_jdk") - -# Declare all remote jdk toolchain config repos [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", dev_dependency = True, version = "0.5.1") bazel_dep(name = "bazel_skylib", dev_dependency = True, version = "1.2.0")