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