| module( |
| name = "rules_java", |
| version = "8.3.0", |
| bazel_compatibility = [">=7.3.2"], |
| compatibility_level = 1, |
| ) |
| |
| bazel_dep(name = "platforms", version = "0.0.4") |
| bazel_dep(name = "rules_cc", version = "0.0.13") |
| 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") |
| |
| # 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_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) |
| bazel_dep(name = "stardoc", version = "0.7.1", dev_dependency = True) |
| bazel_dep(name = "rules_shell", version = "0.2.0", dev_dependency = True) |
| |
| # Compatibility layer |
| compat = use_extension("//java:extensions.bzl", "compatibility_proxy") |
| use_repo(compat, "compatibility_proxy") |