xref: /aosp_15_r20/external/bazelbuild-rules_java/java/repositories.bzl (revision abe8e1b943c923005d847f1e3cf6637de4ed1a1f)
1*abe8e1b9SSadaf Ebrahimi# Copyright 2019 The Bazel Authors. All rights reserved.
2*abe8e1b9SSadaf Ebrahimi#
3*abe8e1b9SSadaf Ebrahimi# Licensed under the Apache License, Version 2.0 (the "License");
4*abe8e1b9SSadaf Ebrahimi# you may not use this file except in compliance with the License.
5*abe8e1b9SSadaf Ebrahimi# You may obtain a copy of the License at
6*abe8e1b9SSadaf Ebrahimi#
7*abe8e1b9SSadaf Ebrahimi#    http://www.apache.org/licenses/LICENSE-2.0
8*abe8e1b9SSadaf Ebrahimi#
9*abe8e1b9SSadaf Ebrahimi# Unless required by applicable law or agreed to in writing, software
10*abe8e1b9SSadaf Ebrahimi# distributed under the License is distributed on an "AS IS" BASIS,
11*abe8e1b9SSadaf Ebrahimi# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*abe8e1b9SSadaf Ebrahimi# See the License for the specific language governing permissions and
13*abe8e1b9SSadaf Ebrahimi# limitations under the License.
14*abe8e1b9SSadaf Ebrahimi
15*abe8e1b9SSadaf Ebrahimi"""Development and production dependencies of rules_java."""
16*abe8e1b9SSadaf Ebrahimi
17*abe8e1b9SSadaf Ebrahimiload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
18*abe8e1b9SSadaf Ebrahimiload("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
19*abe8e1b9SSadaf Ebrahimiload("//toolchains:jdk_build_file.bzl", "JDK_BUILD_TEMPLATE")
20*abe8e1b9SSadaf Ebrahimiload("//toolchains:local_java_repository.bzl", "local_java_repository")
21*abe8e1b9SSadaf Ebrahimiload("//toolchains:remote_java_repository.bzl", "remote_java_repository")
22*abe8e1b9SSadaf Ebrahimi
23*abe8e1b9SSadaf Ebrahimi_JAVA_TOOLS_CONFIG = {
24*abe8e1b9SSadaf Ebrahimi    "version": "v13.6.0",
25*abe8e1b9SSadaf Ebrahimi    "release": "true",
26*abe8e1b9SSadaf Ebrahimi    "artifacts": {
27*abe8e1b9SSadaf Ebrahimi        "java_tools_linux": {
28*abe8e1b9SSadaf Ebrahimi            "mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.6.0/java_tools_linux-v13.6.0.zip",
29*abe8e1b9SSadaf Ebrahimi            "github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.6.0/java_tools_linux-v13.6.0.zip",
30*abe8e1b9SSadaf Ebrahimi            "sha": "0d3fcae7ae40d0a25f17c3adc30a3674f526953c55871189e2efe3463fce3496",
31*abe8e1b9SSadaf Ebrahimi        },
32*abe8e1b9SSadaf Ebrahimi        "java_tools_windows": {
33*abe8e1b9SSadaf Ebrahimi            "mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.6.0/java_tools_windows-v13.6.0.zip",
34*abe8e1b9SSadaf Ebrahimi            "github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.6.0/java_tools_windows-v13.6.0.zip",
35*abe8e1b9SSadaf Ebrahimi            "sha": "5a7d00e42c0b35f08eb5c8577eb115f8f57dd36ef8b6940c2190bd0d0e4ddcf0",
36*abe8e1b9SSadaf Ebrahimi        },
37*abe8e1b9SSadaf Ebrahimi        "java_tools_darwin_x86_64": {
38*abe8e1b9SSadaf Ebrahimi            "mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.6.0/java_tools_darwin_x86_64-v13.6.0.zip",
39*abe8e1b9SSadaf Ebrahimi            "github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.6.0/java_tools_darwin_x86_64-v13.6.0.zip",
40*abe8e1b9SSadaf Ebrahimi            "sha": "465dcb1da77a0c83c49f178c11bad29b3d703df1756722ec42fe5afd7c8129f8",
41*abe8e1b9SSadaf Ebrahimi        },
42*abe8e1b9SSadaf Ebrahimi        "java_tools_darwin_arm64": {
43*abe8e1b9SSadaf Ebrahimi            "mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.6.0/java_tools_darwin_arm64-v13.6.0.zip",
44*abe8e1b9SSadaf Ebrahimi            "github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.6.0/java_tools_darwin_arm64-v13.6.0.zip",
45*abe8e1b9SSadaf Ebrahimi            "sha": "eb54c4e5fa23d6e9e9fc14c106a682dbefc54659d8e389a2f3c0d61d51cae274",
46*abe8e1b9SSadaf Ebrahimi        },
47*abe8e1b9SSadaf Ebrahimi        "java_tools": {
48*abe8e1b9SSadaf Ebrahimi            "mirror_url": "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.6.0/java_tools-v13.6.0.zip",
49*abe8e1b9SSadaf Ebrahimi            "github_url": "https://github.com/bazelbuild/java_tools/releases/download/java_v13.6.0/java_tools-v13.6.0.zip",
50*abe8e1b9SSadaf Ebrahimi            "sha": "74c978eab040ad4ec38ce0d0970ac813cc2c6f4f6f4f121c0414719487edc991",
51*abe8e1b9SSadaf Ebrahimi        },
52*abe8e1b9SSadaf Ebrahimi    },
53*abe8e1b9SSadaf Ebrahimi}
54*abe8e1b9SSadaf Ebrahimi
55*abe8e1b9SSadaf Ebrahimidef java_tools_repos():
56*abe8e1b9SSadaf Ebrahimi    """ Declares the remote java_tools repositories """
57*abe8e1b9SSadaf Ebrahimi    for name, config in _JAVA_TOOLS_CONFIG["artifacts"].items():
58*abe8e1b9SSadaf Ebrahimi        maybe(
59*abe8e1b9SSadaf Ebrahimi            http_archive,
60*abe8e1b9SSadaf Ebrahimi            name = "remote_" + name,
61*abe8e1b9SSadaf Ebrahimi            sha256 = config["sha"],
62*abe8e1b9SSadaf Ebrahimi            urls = [
63*abe8e1b9SSadaf Ebrahimi                config["mirror_url"],
64*abe8e1b9SSadaf Ebrahimi                config["github_url"],
65*abe8e1b9SSadaf Ebrahimi            ],
66*abe8e1b9SSadaf Ebrahimi        )
67*abe8e1b9SSadaf Ebrahimi
68*abe8e1b9SSadaf Ebrahimidef local_jdk_repo():
69*abe8e1b9SSadaf Ebrahimi    maybe(
70*abe8e1b9SSadaf Ebrahimi        local_java_repository,
71*abe8e1b9SSadaf Ebrahimi        name = "local_jdk",
72*abe8e1b9SSadaf Ebrahimi        build_file_content = JDK_BUILD_TEMPLATE,
73*abe8e1b9SSadaf Ebrahimi    )
74*abe8e1b9SSadaf Ebrahimi
75*abe8e1b9SSadaf Ebrahimidef remote_jdk8_repos(name = ""):
76*abe8e1b9SSadaf Ebrahimi    """Imports OpenJDK 8 repositories.
77*abe8e1b9SSadaf Ebrahimi
78*abe8e1b9SSadaf Ebrahimi    Args:
79*abe8e1b9SSadaf Ebrahimi        name: The name of this macro (not used)
80*abe8e1b9SSadaf Ebrahimi    """
81*abe8e1b9SSadaf Ebrahimi    maybe(
82*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
83*abe8e1b9SSadaf Ebrahimi        name = "remote_jdk8_linux_aarch64",
84*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
85*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
86*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:aarch64",
87*abe8e1b9SSadaf Ebrahimi        ],
88*abe8e1b9SSadaf Ebrahimi        sha256 = "f4072e82faa5a09fab2accf2892d4684324fc999d614583c3ff785e87c03963f",
89*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu8.50.51.263-ca-jdk8.0.275-linux_aarch64",
90*abe8e1b9SSadaf Ebrahimi        urls = [
91*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/openjdk/azul-zulu-8.50.0.51-ca-jdk8.0.275/zulu8.50.51.263-ca-jdk8.0.275-linux_aarch64.tar.gz",
92*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu-embedded/bin/zulu8.50.51.263-ca-jdk8.0.275-linux_aarch64.tar.gz",
93*abe8e1b9SSadaf Ebrahimi        ],
94*abe8e1b9SSadaf Ebrahimi        version = "8",
95*abe8e1b9SSadaf Ebrahimi    )
96*abe8e1b9SSadaf Ebrahimi    maybe(
97*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
98*abe8e1b9SSadaf Ebrahimi        name = "remote_jdk8_linux_s390x",
99*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
100*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
101*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:s390x",
102*abe8e1b9SSadaf Ebrahimi        ],
103*abe8e1b9SSadaf Ebrahimi        sha256 = "276a431c79b7e94bc1b1b4fd88523383ae2d635ea67114dfc8a6174267f8fb2c",
104*abe8e1b9SSadaf Ebrahimi        strip_prefix = "jdk8u292-b10",
105*abe8e1b9SSadaf Ebrahimi        urls = [
106*abe8e1b9SSadaf Ebrahimi            "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_s390x_linux_hotspot_8u292b10.tar.gz",
107*abe8e1b9SSadaf Ebrahimi        ],
108*abe8e1b9SSadaf Ebrahimi        version = "8",
109*abe8e1b9SSadaf Ebrahimi    )
110*abe8e1b9SSadaf Ebrahimi    maybe(
111*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
112*abe8e1b9SSadaf Ebrahimi        name = "remote_jdk8_linux",
113*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
114*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
115*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
116*abe8e1b9SSadaf Ebrahimi        ],
117*abe8e1b9SSadaf Ebrahimi        sha256 = "1db6b2fa642950ee1b4b1ec2b6bc8a9113d7a4cd723f79398e1ada7dab1c981c",
118*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu8.50.0.51-ca-jdk8.0.275-linux_x64",
119*abe8e1b9SSadaf Ebrahimi        urls = [
120*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/openjdk/azul-zulu-8.50.0.51-ca-jdk8.0.275/zulu8.50.0.51-ca-jdk8.0.275-linux_x64.tar.gz",
121*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu8.50.0.51-ca-jdk8.0.275-linux_x64.tar.gz",
122*abe8e1b9SSadaf Ebrahimi        ],
123*abe8e1b9SSadaf Ebrahimi        version = "8",
124*abe8e1b9SSadaf Ebrahimi    )
125*abe8e1b9SSadaf Ebrahimi    maybe(
126*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
127*abe8e1b9SSadaf Ebrahimi        name = "remote_jdk8_macos_aarch64",
128*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
129*abe8e1b9SSadaf Ebrahimi            "@platforms//os:macos",
130*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:aarch64",
131*abe8e1b9SSadaf Ebrahimi        ],
132*abe8e1b9SSadaf Ebrahimi        sha256 = "e5c84a46bbd985c3a53358db9c97a6fd4930f92b833c3163a0d1e47dab59768c",
133*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu8.62.0.19-ca-jdk8.0.332-macosx_aarch64",
134*abe8e1b9SSadaf Ebrahimi        urls = [
135*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu8.62.0.19-ca-jdk8.0.332-macosx_aarch64.tar.gz",
136*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu8.62.0.19-ca-jdk8.0.332-macosx_aarch64.tar.gz",
137*abe8e1b9SSadaf Ebrahimi        ],
138*abe8e1b9SSadaf Ebrahimi        version = "8",
139*abe8e1b9SSadaf Ebrahimi    )
140*abe8e1b9SSadaf Ebrahimi    maybe(
141*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
142*abe8e1b9SSadaf Ebrahimi        name = "remote_jdk8_macos",
143*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
144*abe8e1b9SSadaf Ebrahimi            "@platforms//os:macos",
145*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
146*abe8e1b9SSadaf Ebrahimi        ],
147*abe8e1b9SSadaf Ebrahimi        sha256 = "b03176597734299c9a15b7c2cc770783cf14d121196196c1248e80c026b59c17",
148*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu8.50.0.51-ca-jdk8.0.275-macosx_x64",
149*abe8e1b9SSadaf Ebrahimi        urls = [
150*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/openjdk/azul-zulu-8.50.0.51-ca-jdk8.0.275/zulu8.50.0.51-ca-jdk8.0.275-macosx_x64.tar.gz",
151*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu8.50.0.51-ca-jdk8.0.275-macosx_x64.tar.gz",
152*abe8e1b9SSadaf Ebrahimi        ],
153*abe8e1b9SSadaf Ebrahimi        version = "8",
154*abe8e1b9SSadaf Ebrahimi    )
155*abe8e1b9SSadaf Ebrahimi    maybe(
156*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
157*abe8e1b9SSadaf Ebrahimi        name = "remote_jdk8_windows",
158*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
159*abe8e1b9SSadaf Ebrahimi            "@platforms//os:windows",
160*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
161*abe8e1b9SSadaf Ebrahimi        ],
162*abe8e1b9SSadaf Ebrahimi        sha256 = "49759b2bd2ab28231a21ff3a3bb45824ddef55d89b5b1a05a62e26a365da0774",
163*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu8.50.0.51-ca-jdk8.0.275-win_x64",
164*abe8e1b9SSadaf Ebrahimi        urls = [
165*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/openjdk/azul-zulu-8.50.0.51-ca-jdk8.0.275/zulu8.50.0.51-ca-jdk8.0.275-win_x64.zip",
166*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu8.50.0.51-ca-jdk8.0.275-win_x64.zip",
167*abe8e1b9SSadaf Ebrahimi        ],
168*abe8e1b9SSadaf Ebrahimi        version = "8",
169*abe8e1b9SSadaf Ebrahimi    )
170*abe8e1b9SSadaf Ebrahimi
171*abe8e1b9SSadaf Ebrahimidef remote_jdk11_repos():
172*abe8e1b9SSadaf Ebrahimi    """Imports OpenJDK 11 repositories."""
173*abe8e1b9SSadaf Ebrahimi    maybe(
174*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
175*abe8e1b9SSadaf Ebrahimi        name = "remotejdk11_linux",
176*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
177*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
178*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
179*abe8e1b9SSadaf Ebrahimi        ],
180*abe8e1b9SSadaf Ebrahimi        sha256 = "a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c",
181*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu11.66.15-ca-jdk11.0.20-linux_x64",
182*abe8e1b9SSadaf Ebrahimi        urls = [
183*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz",
184*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz",
185*abe8e1b9SSadaf Ebrahimi        ],
186*abe8e1b9SSadaf Ebrahimi        version = "11",
187*abe8e1b9SSadaf Ebrahimi    )
188*abe8e1b9SSadaf Ebrahimi
189*abe8e1b9SSadaf Ebrahimi    maybe(
190*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
191*abe8e1b9SSadaf Ebrahimi        name = "remotejdk11_linux_aarch64",
192*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
193*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
194*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:aarch64",
195*abe8e1b9SSadaf Ebrahimi        ],
196*abe8e1b9SSadaf Ebrahimi        sha256 = "54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de",
197*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu11.66.15-ca-jdk11.0.20-linux_aarch64",
198*abe8e1b9SSadaf Ebrahimi        urls = [
199*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz",
200*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz",
201*abe8e1b9SSadaf Ebrahimi        ],
202*abe8e1b9SSadaf Ebrahimi        version = "11",
203*abe8e1b9SSadaf Ebrahimi    )
204*abe8e1b9SSadaf Ebrahimi
205*abe8e1b9SSadaf Ebrahimi    maybe(
206*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
207*abe8e1b9SSadaf Ebrahimi        name = "remotejdk11_linux_ppc64le",
208*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
209*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
210*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:ppc",
211*abe8e1b9SSadaf Ebrahimi        ],
212*abe8e1b9SSadaf Ebrahimi        sha256 = "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f",
213*abe8e1b9SSadaf Ebrahimi        strip_prefix = "jdk-11.0.15+10",
214*abe8e1b9SSadaf Ebrahimi        urls = [
215*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz",
216*abe8e1b9SSadaf Ebrahimi            "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz",
217*abe8e1b9SSadaf Ebrahimi        ],
218*abe8e1b9SSadaf Ebrahimi        version = "11",
219*abe8e1b9SSadaf Ebrahimi    )
220*abe8e1b9SSadaf Ebrahimi
221*abe8e1b9SSadaf Ebrahimi    maybe(
222*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
223*abe8e1b9SSadaf Ebrahimi        name = "remotejdk11_linux_s390x",
224*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
225*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
226*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:s390x",
227*abe8e1b9SSadaf Ebrahimi        ],
228*abe8e1b9SSadaf Ebrahimi        sha256 = "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b",
229*abe8e1b9SSadaf Ebrahimi        strip_prefix = "jdk-11.0.15+10",
230*abe8e1b9SSadaf Ebrahimi        urls = [
231*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz",
232*abe8e1b9SSadaf Ebrahimi            "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz",
233*abe8e1b9SSadaf Ebrahimi        ],
234*abe8e1b9SSadaf Ebrahimi        version = "11",
235*abe8e1b9SSadaf Ebrahimi    )
236*abe8e1b9SSadaf Ebrahimi
237*abe8e1b9SSadaf Ebrahimi    maybe(
238*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
239*abe8e1b9SSadaf Ebrahimi        name = "remotejdk11_macos",
240*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
241*abe8e1b9SSadaf Ebrahimi            "@platforms//os:macos",
242*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
243*abe8e1b9SSadaf Ebrahimi        ],
244*abe8e1b9SSadaf Ebrahimi        sha256 = "bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd",
245*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu11.66.15-ca-jdk11.0.20-macosx_x64",
246*abe8e1b9SSadaf Ebrahimi        urls = [
247*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz",
248*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz",
249*abe8e1b9SSadaf Ebrahimi        ],
250*abe8e1b9SSadaf Ebrahimi        version = "11",
251*abe8e1b9SSadaf Ebrahimi    )
252*abe8e1b9SSadaf Ebrahimi
253*abe8e1b9SSadaf Ebrahimi    maybe(
254*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
255*abe8e1b9SSadaf Ebrahimi        name = "remotejdk11_macos_aarch64",
256*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
257*abe8e1b9SSadaf Ebrahimi            "@platforms//os:macos",
258*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:aarch64",
259*abe8e1b9SSadaf Ebrahimi        ],
260*abe8e1b9SSadaf Ebrahimi        sha256 = "7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885",
261*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu11.66.15-ca-jdk11.0.20-macosx_aarch64",
262*abe8e1b9SSadaf Ebrahimi        urls = [
263*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz",
264*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz",
265*abe8e1b9SSadaf Ebrahimi        ],
266*abe8e1b9SSadaf Ebrahimi        version = "11",
267*abe8e1b9SSadaf Ebrahimi    )
268*abe8e1b9SSadaf Ebrahimi
269*abe8e1b9SSadaf Ebrahimi    maybe(
270*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
271*abe8e1b9SSadaf Ebrahimi        name = "remotejdk11_win",
272*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
273*abe8e1b9SSadaf Ebrahimi            "@platforms//os:windows",
274*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
275*abe8e1b9SSadaf Ebrahimi        ],
276*abe8e1b9SSadaf Ebrahimi        sha256 = "43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83",
277*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu11.66.15-ca-jdk11.0.20-win_x64",
278*abe8e1b9SSadaf Ebrahimi        urls = [
279*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip",
280*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip",
281*abe8e1b9SSadaf Ebrahimi        ],
282*abe8e1b9SSadaf Ebrahimi        version = "11",
283*abe8e1b9SSadaf Ebrahimi    )
284*abe8e1b9SSadaf Ebrahimi
285*abe8e1b9SSadaf Ebrahimi    maybe(
286*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
287*abe8e1b9SSadaf Ebrahimi        name = "remotejdk11_win_arm64",
288*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
289*abe8e1b9SSadaf Ebrahimi            "@platforms//os:windows",
290*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:arm64",
291*abe8e1b9SSadaf Ebrahimi        ],
292*abe8e1b9SSadaf Ebrahimi        sha256 = "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2",
293*abe8e1b9SSadaf Ebrahimi        strip_prefix = "jdk-11.0.13+8",
294*abe8e1b9SSadaf Ebrahimi        urls = [
295*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip",
296*abe8e1b9SSadaf Ebrahimi        ],
297*abe8e1b9SSadaf Ebrahimi        version = "11",
298*abe8e1b9SSadaf Ebrahimi    )
299*abe8e1b9SSadaf Ebrahimi
300*abe8e1b9SSadaf Ebrahimidef remote_jdk17_repos():
301*abe8e1b9SSadaf Ebrahimi    """Imports OpenJDK 17 repositories."""
302*abe8e1b9SSadaf Ebrahimi    maybe(
303*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
304*abe8e1b9SSadaf Ebrahimi        name = "remotejdk17_linux",
305*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
306*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
307*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
308*abe8e1b9SSadaf Ebrahimi        ],
309*abe8e1b9SSadaf Ebrahimi        sha256 = "b9482f2304a1a68a614dfacddcf29569a72f0fac32e6c74f83dc1b9a157b8340",
310*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu17.44.53-ca-jdk17.0.8.1-linux_x64",
311*abe8e1b9SSadaf Ebrahimi        urls = [
312*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_x64.tar.gz",
313*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_x64.tar.gz",
314*abe8e1b9SSadaf Ebrahimi        ],
315*abe8e1b9SSadaf Ebrahimi        version = "17",
316*abe8e1b9SSadaf Ebrahimi    )
317*abe8e1b9SSadaf Ebrahimi
318*abe8e1b9SSadaf Ebrahimi    maybe(
319*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
320*abe8e1b9SSadaf Ebrahimi        name = "remotejdk17_linux_aarch64",
321*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
322*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
323*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:aarch64",
324*abe8e1b9SSadaf Ebrahimi        ],
325*abe8e1b9SSadaf Ebrahimi        sha256 = "6531cef61e416d5a7b691555c8cf2bdff689201b8a001ff45ab6740062b44313",
326*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64",
327*abe8e1b9SSadaf Ebrahimi        urls = [
328*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64.tar.gz",
329*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64.tar.gz",
330*abe8e1b9SSadaf Ebrahimi        ],
331*abe8e1b9SSadaf Ebrahimi        version = "17",
332*abe8e1b9SSadaf Ebrahimi    )
333*abe8e1b9SSadaf Ebrahimi
334*abe8e1b9SSadaf Ebrahimi    maybe(
335*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
336*abe8e1b9SSadaf Ebrahimi        name = "remotejdk17_linux_s390x",
337*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
338*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
339*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:s390x",
340*abe8e1b9SSadaf Ebrahimi        ],
341*abe8e1b9SSadaf Ebrahimi        sha256 = "ffacba69c6843d7ca70d572489d6cc7ab7ae52c60f0852cedf4cf0d248b6fc37",
342*abe8e1b9SSadaf Ebrahimi        strip_prefix = "jdk-17.0.8.1+1",
343*abe8e1b9SSadaf Ebrahimi        urls = [
344*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.8.1_1.tar.gz",
345*abe8e1b9SSadaf Ebrahimi            "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.8.1_1.tar.gz",
346*abe8e1b9SSadaf Ebrahimi        ],
347*abe8e1b9SSadaf Ebrahimi        version = "17",
348*abe8e1b9SSadaf Ebrahimi    )
349*abe8e1b9SSadaf Ebrahimi
350*abe8e1b9SSadaf Ebrahimi    maybe(
351*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
352*abe8e1b9SSadaf Ebrahimi        name = "remotejdk17_linux_ppc64le",
353*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
354*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
355*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:ppc",
356*abe8e1b9SSadaf Ebrahimi        ],
357*abe8e1b9SSadaf Ebrahimi        sha256 = "00a4c07603d0218cd678461b5b3b7e25b3253102da4022d31fc35907f21a2efd",
358*abe8e1b9SSadaf Ebrahimi        strip_prefix = "jdk-17.0.8.1+1",
359*abe8e1b9SSadaf Ebrahimi        urls = [
360*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz",
361*abe8e1b9SSadaf Ebrahimi            "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz",
362*abe8e1b9SSadaf Ebrahimi        ],
363*abe8e1b9SSadaf Ebrahimi        version = "17",
364*abe8e1b9SSadaf Ebrahimi    )
365*abe8e1b9SSadaf Ebrahimi
366*abe8e1b9SSadaf Ebrahimi    maybe(
367*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
368*abe8e1b9SSadaf Ebrahimi        name = "remotejdk17_macos",
369*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
370*abe8e1b9SSadaf Ebrahimi            "@platforms//os:macos",
371*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
372*abe8e1b9SSadaf Ebrahimi        ],
373*abe8e1b9SSadaf Ebrahimi        sha256 = "640453e8afe8ffe0fb4dceb4535fb50db9c283c64665eebb0ba68b19e65f4b1f",
374*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu17.44.53-ca-jdk17.0.8.1-macosx_x64",
375*abe8e1b9SSadaf Ebrahimi        urls = [
376*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_x64.tar.gz",
377*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_x64.tar.gz",
378*abe8e1b9SSadaf Ebrahimi        ],
379*abe8e1b9SSadaf Ebrahimi        version = "17",
380*abe8e1b9SSadaf Ebrahimi    )
381*abe8e1b9SSadaf Ebrahimi
382*abe8e1b9SSadaf Ebrahimi    maybe(
383*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
384*abe8e1b9SSadaf Ebrahimi        name = "remotejdk17_macos_aarch64",
385*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
386*abe8e1b9SSadaf Ebrahimi            "@platforms//os:macos",
387*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:aarch64",
388*abe8e1b9SSadaf Ebrahimi        ],
389*abe8e1b9SSadaf Ebrahimi        sha256 = "314b04568ec0ae9b36ba03c9cbd42adc9e1265f74678923b19297d66eb84dcca",
390*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64",
391*abe8e1b9SSadaf Ebrahimi        urls = [
392*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64.tar.gz",
393*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64.tar.gz",
394*abe8e1b9SSadaf Ebrahimi        ],
395*abe8e1b9SSadaf Ebrahimi        version = "17",
396*abe8e1b9SSadaf Ebrahimi    )
397*abe8e1b9SSadaf Ebrahimi    maybe(
398*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
399*abe8e1b9SSadaf Ebrahimi        name = "remotejdk17_win",
400*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
401*abe8e1b9SSadaf Ebrahimi            "@platforms//os:windows",
402*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
403*abe8e1b9SSadaf Ebrahimi        ],
404*abe8e1b9SSadaf Ebrahimi        sha256 = "192f2afca57701de6ec496234f7e45d971bf623ff66b8ee4a5c81582054e5637",
405*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu17.44.53-ca-jdk17.0.8.1-win_x64",
406*abe8e1b9SSadaf Ebrahimi        urls = [
407*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_x64.zip",
408*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_x64.zip",
409*abe8e1b9SSadaf Ebrahimi        ],
410*abe8e1b9SSadaf Ebrahimi        version = "17",
411*abe8e1b9SSadaf Ebrahimi    )
412*abe8e1b9SSadaf Ebrahimi    maybe(
413*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
414*abe8e1b9SSadaf Ebrahimi        name = "remotejdk17_win_arm64",
415*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
416*abe8e1b9SSadaf Ebrahimi            "@platforms//os:windows",
417*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:arm64",
418*abe8e1b9SSadaf Ebrahimi        ],
419*abe8e1b9SSadaf Ebrahimi        sha256 = "6802c99eae0d788e21f52d03cab2e2b3bf42bc334ca03cbf19f71eb70ee19f85",
420*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu17.44.53-ca-jdk17.0.8.1-win_aarch64",
421*abe8e1b9SSadaf Ebrahimi        urls = [
422*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_aarch64.zip",
423*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_aarch64.zip",
424*abe8e1b9SSadaf Ebrahimi        ],
425*abe8e1b9SSadaf Ebrahimi        version = "17",
426*abe8e1b9SSadaf Ebrahimi    )
427*abe8e1b9SSadaf Ebrahimi
428*abe8e1b9SSadaf Ebrahimidef remote_jdk21_repos():
429*abe8e1b9SSadaf Ebrahimi    """Imports OpenJDK 21 repositories."""
430*abe8e1b9SSadaf Ebrahimi    maybe(
431*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
432*abe8e1b9SSadaf Ebrahimi        name = "remotejdk21_linux",
433*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
434*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
435*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
436*abe8e1b9SSadaf Ebrahimi        ],
437*abe8e1b9SSadaf Ebrahimi        sha256 = "5ad730fbee6bb49bfff10bf39e84392e728d89103d3474a7e5def0fd134b300a",
438*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu21.32.17-ca-jdk21.0.2-linux_x64",
439*abe8e1b9SSadaf Ebrahimi        urls = [
440*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz",
441*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz",
442*abe8e1b9SSadaf Ebrahimi        ],
443*abe8e1b9SSadaf Ebrahimi        version = "21",
444*abe8e1b9SSadaf Ebrahimi    )
445*abe8e1b9SSadaf Ebrahimi    maybe(
446*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
447*abe8e1b9SSadaf Ebrahimi        name = "remotejdk21_linux_aarch64",
448*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
449*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
450*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:aarch64",
451*abe8e1b9SSadaf Ebrahimi        ],
452*abe8e1b9SSadaf Ebrahimi        sha256 = "ce7df1af5d44a9f455617c4b8891443fbe3e4b269c777d8b82ed66f77167cfe0",
453*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu21.32.17-ca-jdk21.0.2-linux_aarch64",
454*abe8e1b9SSadaf Ebrahimi        urls = [
455*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
456*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
457*abe8e1b9SSadaf Ebrahimi        ],
458*abe8e1b9SSadaf Ebrahimi        version = "21",
459*abe8e1b9SSadaf Ebrahimi    )
460*abe8e1b9SSadaf Ebrahimi    maybe(
461*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
462*abe8e1b9SSadaf Ebrahimi        name = "remotejdk21_linux_ppc64le",
463*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
464*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
465*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:ppc",
466*abe8e1b9SSadaf Ebrahimi        ],
467*abe8e1b9SSadaf Ebrahimi        sha256 = "d08de863499d8851811c893e8915828f2cd8eb67ed9e29432a6b4e222d80a12f",
468*abe8e1b9SSadaf Ebrahimi        strip_prefix = "jdk-21.0.2+13",
469*abe8e1b9SSadaf Ebrahimi        urls = [
470*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.2%2B13/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.2_13.tar.gz",
471*abe8e1b9SSadaf Ebrahimi            "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.2%2B13/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.2_13.tar.gz",
472*abe8e1b9SSadaf Ebrahimi        ],
473*abe8e1b9SSadaf Ebrahimi        version = "21",
474*abe8e1b9SSadaf Ebrahimi    )
475*abe8e1b9SSadaf Ebrahimi    maybe(
476*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
477*abe8e1b9SSadaf Ebrahimi        name = "remotejdk21_linux_s390x",
478*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
479*abe8e1b9SSadaf Ebrahimi            "@platforms//os:linux",
480*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:s390x",
481*abe8e1b9SSadaf Ebrahimi        ],
482*abe8e1b9SSadaf Ebrahimi        sha256 = "0d5676c50821e0d0b951bf3ffd717e7a13be2a89d8848a5c13b4aedc6f982c78",
483*abe8e1b9SSadaf Ebrahimi        strip_prefix = "jdk-21.0.2+13",
484*abe8e1b9SSadaf Ebrahimi        urls = [
485*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.2%2B13/OpenJDK21U-jdk_s390x_linux_hotspot_21.0.2_13.tar.gz",
486*abe8e1b9SSadaf Ebrahimi            "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.2%2B13/OpenJDK21U-jdk_s390x_linux_hotspot_21.0.2_13.tar.gz",
487*abe8e1b9SSadaf Ebrahimi        ],
488*abe8e1b9SSadaf Ebrahimi        version = "21",
489*abe8e1b9SSadaf Ebrahimi    )
490*abe8e1b9SSadaf Ebrahimi    maybe(
491*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
492*abe8e1b9SSadaf Ebrahimi        name = "remotejdk21_macos",
493*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
494*abe8e1b9SSadaf Ebrahimi            "@platforms//os:macos",
495*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
496*abe8e1b9SSadaf Ebrahimi        ],
497*abe8e1b9SSadaf Ebrahimi        sha256 = "3ad8fe288eb57d975c2786ae453a036aa46e47ab2ac3d81538ebae2a54d3c025",
498*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu21.32.17-ca-jdk21.0.2-macosx_x64",
499*abe8e1b9SSadaf Ebrahimi        urls = [
500*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz",
501*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz",
502*abe8e1b9SSadaf Ebrahimi        ],
503*abe8e1b9SSadaf Ebrahimi        version = "21",
504*abe8e1b9SSadaf Ebrahimi    )
505*abe8e1b9SSadaf Ebrahimi
506*abe8e1b9SSadaf Ebrahimi    maybe(
507*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
508*abe8e1b9SSadaf Ebrahimi        name = "remotejdk21_macos_aarch64",
509*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
510*abe8e1b9SSadaf Ebrahimi            "@platforms//os:macos",
511*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:aarch64",
512*abe8e1b9SSadaf Ebrahimi        ],
513*abe8e1b9SSadaf Ebrahimi        sha256 = "e8260516de8b60661422a725f1df2c36ef888f6fb35393566b00e7325db3d04e",
514*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu21.32.17-ca-jdk21.0.2-macosx_aarch64",
515*abe8e1b9SSadaf Ebrahimi        urls = [
516*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz",
517*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz",
518*abe8e1b9SSadaf Ebrahimi        ],
519*abe8e1b9SSadaf Ebrahimi        version = "21",
520*abe8e1b9SSadaf Ebrahimi    )
521*abe8e1b9SSadaf Ebrahimi    maybe(
522*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
523*abe8e1b9SSadaf Ebrahimi        name = "remotejdk21_win",
524*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
525*abe8e1b9SSadaf Ebrahimi            "@platforms//os:windows",
526*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:x86_64",
527*abe8e1b9SSadaf Ebrahimi        ],
528*abe8e1b9SSadaf Ebrahimi        sha256 = "f7cc15ca17295e69c907402dfe8db240db446e75d3b150da7bf67243cded93de",
529*abe8e1b9SSadaf Ebrahimi        strip_prefix = "zulu21.32.17-ca-jdk21.0.2-win_x64",
530*abe8e1b9SSadaf Ebrahimi        urls = [
531*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-win_x64.zip",
532*abe8e1b9SSadaf Ebrahimi            "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-win_x64.zip",
533*abe8e1b9SSadaf Ebrahimi        ],
534*abe8e1b9SSadaf Ebrahimi        version = "21",
535*abe8e1b9SSadaf Ebrahimi    )
536*abe8e1b9SSadaf Ebrahimi    maybe(
537*abe8e1b9SSadaf Ebrahimi        remote_java_repository,
538*abe8e1b9SSadaf Ebrahimi        name = "remotejdk21_win_arm64",
539*abe8e1b9SSadaf Ebrahimi        target_compatible_with = [
540*abe8e1b9SSadaf Ebrahimi            "@platforms//os:windows",
541*abe8e1b9SSadaf Ebrahimi            "@platforms//cpu:arm64",
542*abe8e1b9SSadaf Ebrahimi        ],
543*abe8e1b9SSadaf Ebrahimi        sha256 = "975603e684f2ec5a525b3b5336d6aa0b09b5b7d2d0d9e271bd6a9892ad550181",
544*abe8e1b9SSadaf Ebrahimi        strip_prefix = "jdk-21+35",
545*abe8e1b9SSadaf Ebrahimi        urls = [
546*abe8e1b9SSadaf Ebrahimi            "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-21.0.0-windows-aarch64.zip",
547*abe8e1b9SSadaf Ebrahimi            "https://aka.ms/download-jdk/microsoft-jdk-21.0.0-windows-aarch64.zip",
548*abe8e1b9SSadaf Ebrahimi        ],
549*abe8e1b9SSadaf Ebrahimi        version = "21",
550*abe8e1b9SSadaf Ebrahimi    )
551*abe8e1b9SSadaf Ebrahimi
552*abe8e1b9SSadaf Ebrahimidef rules_java_dependencies():
553*abe8e1b9SSadaf Ebrahimi    """An utility method to load all dependencies of rules_java.
554*abe8e1b9SSadaf Ebrahimi
555*abe8e1b9SSadaf Ebrahimi    Loads the remote repositories used by default in Bazel.
556*abe8e1b9SSadaf Ebrahimi    """
557*abe8e1b9SSadaf Ebrahimi
558*abe8e1b9SSadaf Ebrahimi    local_jdk_repo()
559*abe8e1b9SSadaf Ebrahimi    remote_jdk8_repos()
560*abe8e1b9SSadaf Ebrahimi    remote_jdk11_repos()
561*abe8e1b9SSadaf Ebrahimi    remote_jdk17_repos()
562*abe8e1b9SSadaf Ebrahimi    remote_jdk21_repos()
563*abe8e1b9SSadaf Ebrahimi    java_tools_repos()
564*abe8e1b9SSadaf Ebrahimi
565*abe8e1b9SSadaf Ebrahimidef rules_java_toolchains(name = "toolchains"):
566*abe8e1b9SSadaf Ebrahimi    """An utility method to load all Java toolchains.
567*abe8e1b9SSadaf Ebrahimi
568*abe8e1b9SSadaf Ebrahimi    Args:
569*abe8e1b9SSadaf Ebrahimi        name: The name of this macro (not used)
570*abe8e1b9SSadaf Ebrahimi    """
571*abe8e1b9SSadaf Ebrahimi    JDKS = {
572*abe8e1b9SSadaf Ebrahimi        # Must match JDK repos defined in remote_jdk8_repos()
573*abe8e1b9SSadaf Ebrahimi        "8": ["linux", "linux_aarch64", "linux_s390x", "macos", "macos_aarch64", "windows"],
574*abe8e1b9SSadaf Ebrahimi        # Must match JDK repos defined in remote_jdk11_repos()
575*abe8e1b9SSadaf Ebrahimi        "11": ["linux", "linux_aarch64", "linux_ppc64le", "linux_s390x", "macos", "macos_aarch64", "win", "win_arm64"],
576*abe8e1b9SSadaf Ebrahimi        # Must match JDK repos defined in remote_jdk17_repos()
577*abe8e1b9SSadaf Ebrahimi        "17": ["linux", "linux_aarch64", "linux_ppc64le", "linux_s390x", "macos", "macos_aarch64", "win", "win_arm64"],
578*abe8e1b9SSadaf Ebrahimi        # Must match JDK repos defined in remote_jdk21_repos()
579*abe8e1b9SSadaf Ebrahimi        "21": ["linux", "linux_aarch64", "macos", "macos_aarch64", "win"],
580*abe8e1b9SSadaf Ebrahimi    }
581*abe8e1b9SSadaf Ebrahimi
582*abe8e1b9SSadaf Ebrahimi    REMOTE_JDK_REPOS = [(("remote_jdk" if version == "8" else "remotejdk") + version + "_" + platform) for version in JDKS for platform in JDKS[version]]
583*abe8e1b9SSadaf Ebrahimi
584*abe8e1b9SSadaf Ebrahimi    native.register_toolchains(
585*abe8e1b9SSadaf Ebrahimi        "//toolchains:all",
586*abe8e1b9SSadaf Ebrahimi        "@local_jdk//:runtime_toolchain_definition",
587*abe8e1b9SSadaf Ebrahimi        "@local_jdk//:bootstrap_runtime_toolchain_definition",
588*abe8e1b9SSadaf Ebrahimi    )
589*abe8e1b9SSadaf Ebrahimi    for name in REMOTE_JDK_REPOS:
590*abe8e1b9SSadaf Ebrahimi        native.register_toolchains(
591*abe8e1b9SSadaf Ebrahimi            "@" + name + "_toolchain_config_repo//:toolchain",
592*abe8e1b9SSadaf Ebrahimi            "@" + name + "_toolchain_config_repo//:bootstrap_runtime_toolchain",
593*abe8e1b9SSadaf Ebrahimi        )
594