1# Copyright 2021 The Bazel Authors. All rights reserved. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14"""Module extensions for rules_java.""" 15 16load("@bazel_features//:features.bzl", "bazel_features") 17load( 18 "//java:repositories.bzl", 19 "java_tools_repos", 20 "local_jdk_repo", 21 "remote_jdk11_repos", 22 "remote_jdk17_repos", 23 "remote_jdk21_repos", 24 "remote_jdk8_repos", 25) 26 27def _toolchains_impl(module_ctx): 28 java_tools_repos() 29 local_jdk_repo() 30 remote_jdk8_repos() 31 remote_jdk11_repos() 32 remote_jdk17_repos() 33 remote_jdk21_repos() 34 35 if bazel_features.external_deps.extension_metadata_has_reproducible: 36 return module_ctx.extension_metadata(reproducible = True) 37 else: 38 return None 39 40toolchains = module_extension(_toolchains_impl) 41