xref: /aosp_15_r20/external/bazelbuild-rules_java/MODULE.bazel (revision abe8e1b943c923005d847f1e3cf6637de4ed1a1f)
1*abe8e1b9SSadaf Ebrahimimodule(
2*abe8e1b9SSadaf Ebrahimi    name = "rules_java",
3*abe8e1b9SSadaf Ebrahimi    version = "7.6.1",
4*abe8e1b9SSadaf Ebrahimi    # Requires @bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type.
5*abe8e1b9SSadaf Ebrahimi    bazel_compatibility = [">=7.0.0"],
6*abe8e1b9SSadaf Ebrahimi    compatibility_level = 1,
7*abe8e1b9SSadaf Ebrahimi)
8*abe8e1b9SSadaf Ebrahimi
9*abe8e1b9SSadaf Ebrahimibazel_dep(name = "platforms", version = "0.0.4")
10*abe8e1b9SSadaf Ebrahimibazel_dep(name = "rules_cc", version = "0.0.2")
11*abe8e1b9SSadaf Ebrahimibazel_dep(name = "bazel_features", version = "1.11.0")
12*abe8e1b9SSadaf Ebrahimibazel_dep(name = "bazel_skylib", version = "1.6.1")
13*abe8e1b9SSadaf Ebrahimi
14*abe8e1b9SSadaf Ebrahimi# Required by @remote_java_tools, which is loaded via module extension.
15*abe8e1b9SSadaf Ebrahimibazel_dep(name = "rules_proto", version = "4.0.0")
16*abe8e1b9SSadaf Ebrahimibazel_dep(name = "rules_license", version = "0.0.3")
17*abe8e1b9SSadaf Ebrahimi
18*abe8e1b9SSadaf Ebrahimiregister_toolchains("//toolchains:all")
19*abe8e1b9SSadaf Ebrahimi
20*abe8e1b9SSadaf Ebrahimitoolchains = use_extension("//java:extensions.bzl", "toolchains")
21*abe8e1b9SSadaf Ebrahimi
22*abe8e1b9SSadaf Ebrahimi# Declare remote java tools repos
23*abe8e1b9SSadaf Ebrahimiuse_repo(toolchains, "remote_java_tools")
24*abe8e1b9SSadaf Ebrahimiuse_repo(toolchains, "remote_java_tools_linux")
25*abe8e1b9SSadaf Ebrahimiuse_repo(toolchains, "remote_java_tools_windows")
26*abe8e1b9SSadaf Ebrahimiuse_repo(toolchains, "remote_java_tools_darwin_x86_64")
27*abe8e1b9SSadaf Ebrahimiuse_repo(toolchains, "remote_java_tools_darwin_arm64")
28*abe8e1b9SSadaf Ebrahimi
29*abe8e1b9SSadaf Ebrahimi# Declare local jdk repo
30*abe8e1b9SSadaf Ebrahimiuse_repo(toolchains, "local_jdk")
31*abe8e1b9SSadaf Ebrahimi
32*abe8e1b9SSadaf Ebrahimiregister_toolchains(
33*abe8e1b9SSadaf Ebrahimi    "@local_jdk//:runtime_toolchain_definition",
34*abe8e1b9SSadaf Ebrahimi    "@local_jdk//:bootstrap_runtime_toolchain_definition",
35*abe8e1b9SSadaf Ebrahimi)
36*abe8e1b9SSadaf Ebrahimi
37*abe8e1b9SSadaf Ebrahimi# Declare all remote jdk toolchain config repos
38*abe8e1b9SSadaf EbrahimiJDKS = {
39*abe8e1b9SSadaf Ebrahimi    # Must match JDK repos defined in remote_jdk8_repos()
40*abe8e1b9SSadaf Ebrahimi    "8": [
41*abe8e1b9SSadaf Ebrahimi        "linux",
42*abe8e1b9SSadaf Ebrahimi        "linux_aarch64",
43*abe8e1b9SSadaf Ebrahimi        "linux_s390x",
44*abe8e1b9SSadaf Ebrahimi        "macos",
45*abe8e1b9SSadaf Ebrahimi        "macos_aarch64",
46*abe8e1b9SSadaf Ebrahimi        "windows",
47*abe8e1b9SSadaf Ebrahimi    ],
48*abe8e1b9SSadaf Ebrahimi    # Must match JDK repos defined in remote_jdk11_repos()
49*abe8e1b9SSadaf Ebrahimi    "11": [
50*abe8e1b9SSadaf Ebrahimi        "linux",
51*abe8e1b9SSadaf Ebrahimi        "linux_aarch64",
52*abe8e1b9SSadaf Ebrahimi        "linux_ppc64le",
53*abe8e1b9SSadaf Ebrahimi        "linux_s390x",
54*abe8e1b9SSadaf Ebrahimi        "macos",
55*abe8e1b9SSadaf Ebrahimi        "macos_aarch64",
56*abe8e1b9SSadaf Ebrahimi        "win",
57*abe8e1b9SSadaf Ebrahimi        "win_arm64",
58*abe8e1b9SSadaf Ebrahimi    ],
59*abe8e1b9SSadaf Ebrahimi    # Must match JDK repos defined in remote_jdk17_repos()
60*abe8e1b9SSadaf Ebrahimi    "17": [
61*abe8e1b9SSadaf Ebrahimi        "linux",
62*abe8e1b9SSadaf Ebrahimi        "linux_aarch64",
63*abe8e1b9SSadaf Ebrahimi        "linux_ppc64le",
64*abe8e1b9SSadaf Ebrahimi        "linux_s390x",
65*abe8e1b9SSadaf Ebrahimi        "macos",
66*abe8e1b9SSadaf Ebrahimi        "macos_aarch64",
67*abe8e1b9SSadaf Ebrahimi        "win",
68*abe8e1b9SSadaf Ebrahimi        "win_arm64",
69*abe8e1b9SSadaf Ebrahimi    ],
70*abe8e1b9SSadaf Ebrahimi    # Must match JDK repos defined in remote_jdk21_repos()
71*abe8e1b9SSadaf Ebrahimi    "21": [
72*abe8e1b9SSadaf Ebrahimi        "linux",
73*abe8e1b9SSadaf Ebrahimi        "linux_aarch64",
74*abe8e1b9SSadaf Ebrahimi        "linux_ppc64le",
75*abe8e1b9SSadaf Ebrahimi        "linux_s390x",
76*abe8e1b9SSadaf Ebrahimi        "macos",
77*abe8e1b9SSadaf Ebrahimi        "macos_aarch64",
78*abe8e1b9SSadaf Ebrahimi        "win",
79*abe8e1b9SSadaf Ebrahimi        "win_arm64",
80*abe8e1b9SSadaf Ebrahimi    ],
81*abe8e1b9SSadaf Ebrahimi}
82*abe8e1b9SSadaf Ebrahimi
83*abe8e1b9SSadaf EbrahimiREMOTE_JDK_REPOS = [(("remote_jdk" if version == "8" else "remotejdk") + version + "_" + platform) for version in JDKS for platform in JDKS[version]]
84*abe8e1b9SSadaf Ebrahimi
85*abe8e1b9SSadaf Ebrahimi[use_repo(
86*abe8e1b9SSadaf Ebrahimi    toolchains,
87*abe8e1b9SSadaf Ebrahimi    repo + "_toolchain_config_repo",
88*abe8e1b9SSadaf Ebrahimi) for repo in REMOTE_JDK_REPOS]
89*abe8e1b9SSadaf Ebrahimi
90*abe8e1b9SSadaf Ebrahimi[register_toolchains("@" + name + "_toolchain_config_repo//:all") for name in REMOTE_JDK_REPOS]
91*abe8e1b9SSadaf Ebrahimi
92*abe8e1b9SSadaf Ebrahimi# Dev dependencies
93*abe8e1b9SSadaf Ebrahimibazel_dep(name = "rules_pkg", version = "0.9.1", dev_dependency = True)
94*abe8e1b9SSadaf Ebrahimi
95*abe8e1b9SSadaf Ebrahimi# Override rules_python version to deal with #161 and https://github.com/bazelbuild/bazel/issues/20458
96*abe8e1b9SSadaf Ebrahimisingle_version_override(
97*abe8e1b9SSadaf Ebrahimi    module_name = "rules_python",
98*abe8e1b9SSadaf Ebrahimi    version = "0.24.0",
99*abe8e1b9SSadaf Ebrahimi)
100