|  | module( | 
|  | name = "rules_java", | 
|  | version = "8.10.0", | 
|  | bazel_compatibility = [">=6.4.0"], | 
|  | compatibility_level = 1, | 
|  | ) | 
|  |  | 
|  | bazel_dep(name = "platforms", version = "0.0.4") | 
|  | bazel_dep(name = "rules_cc", version = "0.0.15") | 
|  | bazel_dep(name = "bazel_features", version = "1.11.0") | 
|  | bazel_dep(name = "bazel_skylib", version = "1.6.1") | 
|  | bazel_dep(name = "protobuf", version = "27.0", repo_name = "com_google_protobuf") | 
|  |  | 
|  | # Required by @remote_java_tools, which is loaded via module extension. | 
|  | bazel_dep(name = "rules_license", version = "0.0.3") | 
|  | bazel_dep(name = "abseil-cpp", version = "20230802.1", repo_name = "com_google_absl") | 
|  |  | 
|  | 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", | 
|  | "@local_jdk//:bootstrap_runtime_toolchain_definition", | 
|  | ) | 
|  |  | 
|  | # Declare all remote jdk toolchain config repos | 
|  | JDKS = { | 
|  | # Must match JDK repos defined in remote_jdk8_repos() | 
|  | "8": [ | 
|  | "linux", | 
|  | "linux_aarch64", | 
|  | "linux_s390x", | 
|  | "macos", | 
|  | "macos_aarch64", | 
|  | "windows", | 
|  | ], | 
|  | # 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_jdk21_repos() | 
|  | "21": [ | 
|  | "linux", | 
|  | "linux_aarch64", | 
|  | "linux_ppc64le", | 
|  | "linux_riscv64", | 
|  | "linux_s390x", | 
|  | "macos", | 
|  | "macos_aarch64", | 
|  | "win", | 
|  | "win_arm64", | 
|  | ], | 
|  | } | 
|  |  | 
|  | REMOTE_JDK_REPOS = [(("remote_jdk" if version == "8" else "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//:all") for name in REMOTE_JDK_REPOS] | 
|  |  | 
|  | # Compatibility layer | 
|  | compat = use_extension("//java:rules_java_deps.bzl", "compatibility_proxy") | 
|  | use_repo(compat, "compatibility_proxy") | 
|  |  | 
|  | # Dev dependencies | 
|  | bazel_dep(name = "rules_pkg", version = "0.9.1", dev_dependency = True) | 
|  | bazel_dep(name = "stardoc", version = "0.7.1", dev_dependency = True) | 
|  | bazel_dep(name = "rules_shell", version = "0.2.0", dev_dependency = True) | 
|  | bazel_dep(name = "rules_testing", version = "0.7.0", dev_dependency = True) | 
|  |  | 
|  | test_repositories = use_extension("//test:repositories.bzl", "test_repositories_ext", dev_dependency = True) | 
|  | use_repo(test_repositories, "guava", "truth") |