forked from bazelbuild/rules_java
-
Notifications
You must be signed in to change notification settings - Fork 2
/
MODULE.bazel
63 lines (48 loc) · 1.61 KB
/
MODULE.bazel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
JDK_VERSIONS = [
"11",
"15",
"16",
"17",
]
PLATFORMS = [
"linux",
"macos",
"macos_aarch64",
"win",
]
# Remote JDK repos for those Linux platforms are only defined for JDK 11.
EXTRA_REMOTE_JDK11_REPOS = [
"remotejdk11_linux_aarch64",
"remotejdk11_linux_ppc64le",
"remotejdk11_linux_s390x",
]
REMOTE_JDK_REPOS = [("remotejdk" + version + "_" + platform) for version in JDK_VERSIONS for platform in PLATFORMS] + EXTRA_REMOTE_JDK11_REPOS
REMOTE_JAVA_TOOLCHAINS = [("@" + name + "_toolchain_config_repo//:toolchain") for name in REMOTE_JDK_REPOS]
module(
name = "rules_java",
compatibility_level = 1,
toolchains_to_register = [
"//toolchains:all",
"@local_jdk//:runtime_toolchain_definition",
] + REMOTE_JAVA_TOOLCHAINS,
version = "4.0.0",
)
bazel_dep(name = "platforms", version = "0.0.4")
bazel_dep(name = "rules_cc", version = "0.0.1")
# rules_proto is required by @remote_java_tools, which is loaded via module extension.
bazel_dep(name = "rules_proto", version = "4.0.0")
toolchains = use_extension("//java:extensions.bzl", "toolchains")
# Declare remote java tools repos
use_repo(toolchains, "remote_java_tools")
use_repo(toolchains, "remote_java_tools_linux")
use_repo(toolchains, "remote_java_tools_windows")
use_repo(toolchains, "remote_java_tools_darwin")
# Declare local jdk repo
use_repo(toolchains, "local_jdk")
# Declare all remote jdk toolchain config repos
[use_repo(
toolchains,
repo + "_toolchain_config_repo",
) for repo in REMOTE_JDK_REPOS]
# Dev dependencies
bazel_dep(name = "rules_pkg", dev_dependency = True, version = "0.5.1")