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