| module( | |
| name = "rules_java", | |
| version = "7.6.0", | |
| # Requires @bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type. | |
| bazel_compatibility = [">=7.0.0"], | |
| 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.6.1") | |
| # 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", | |
| "@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_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] | |
| # Dev dependencies | |
| bazel_dep(name = "rules_pkg", version = "0.9.1", dev_dependency = True) | |
| # Override rules_python version to deal with #161 and https://github.com/bazelbuild/bazel/issues/20458 | |
| single_version_override( | |
| module_name = "rules_python", | |
| version = "0.24.0", | |
| ) |