xref: /aosp_15_r20/external/bazelbuild-rules_java/java/extensions.bzl (revision abe8e1b943c923005d847f1e3cf6637de4ed1a1f)
1*abe8e1b9SSadaf Ebrahimi# Copyright 2021 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"""Module extensions for rules_java."""
15*abe8e1b9SSadaf Ebrahimi
16*abe8e1b9SSadaf Ebrahimiload("@bazel_features//:features.bzl", "bazel_features")
17*abe8e1b9SSadaf Ebrahimiload(
18*abe8e1b9SSadaf Ebrahimi    "//java:repositories.bzl",
19*abe8e1b9SSadaf Ebrahimi    "java_tools_repos",
20*abe8e1b9SSadaf Ebrahimi    "local_jdk_repo",
21*abe8e1b9SSadaf Ebrahimi    "remote_jdk11_repos",
22*abe8e1b9SSadaf Ebrahimi    "remote_jdk17_repos",
23*abe8e1b9SSadaf Ebrahimi    "remote_jdk21_repos",
24*abe8e1b9SSadaf Ebrahimi    "remote_jdk8_repos",
25*abe8e1b9SSadaf Ebrahimi)
26*abe8e1b9SSadaf Ebrahimi
27*abe8e1b9SSadaf Ebrahimidef _toolchains_impl(module_ctx):
28*abe8e1b9SSadaf Ebrahimi    java_tools_repos()
29*abe8e1b9SSadaf Ebrahimi    local_jdk_repo()
30*abe8e1b9SSadaf Ebrahimi    remote_jdk8_repos()
31*abe8e1b9SSadaf Ebrahimi    remote_jdk11_repos()
32*abe8e1b9SSadaf Ebrahimi    remote_jdk17_repos()
33*abe8e1b9SSadaf Ebrahimi    remote_jdk21_repos()
34*abe8e1b9SSadaf Ebrahimi
35*abe8e1b9SSadaf Ebrahimi    if bazel_features.external_deps.extension_metadata_has_reproducible:
36*abe8e1b9SSadaf Ebrahimi        return module_ctx.extension_metadata(reproducible = True)
37*abe8e1b9SSadaf Ebrahimi    else:
38*abe8e1b9SSadaf Ebrahimi        return None
39*abe8e1b9SSadaf Ebrahimi
40*abe8e1b9SSadaf Ebrahimitoolchains = module_extension(_toolchains_impl)
41