forked from bazelbuild/rules_java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrules_java_deps.bzl
More file actions
158 lines (142 loc) · 5.74 KB
/
Copy pathrules_java_deps.bzl
File metadata and controls
158 lines (142 loc) · 5.74 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
"""Module extension for compatibility with previous Bazel versions"""
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
def _compatibility_proxy_repo_impl(rctx):
# TODO: use @bazel_features
bazel = native.bazel_version
if not bazel or bazel >= "8":
rctx.file(
"BUILD.bazel",
"""
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
exports_files(['proxy.bzl'], visibility = ["@rules_java//test:__pkg__"])
bzl_library(
name = "proxy_bzl",
srcs = ["proxy.bzl"],
deps = [
"@rules_java//java/bazel/rules",
"@rules_java//java/common/rules:toolchain_rules",
"@rules_java//java/private:internals",
"@rules_java//java/bazel:http_jar_bzl",
],
visibility = ["//visibility:public"]
)
""",
)
rctx.file(
"proxy.bzl",
"""
load("@rules_java//java/bazel/rules:bazel_java_binary_wrapper.bzl", _java_binary = "java_binary")
load("@rules_java//java/bazel/rules:bazel_java_import.bzl", _java_import = "java_import")
load("@rules_java//java/bazel/rules:bazel_java_library.bzl", _java_library = "java_library")
load("@rules_java//java/bazel/rules:bazel_java_plugin.bzl", _java_plugin = "java_plugin")
load("@rules_java//java/bazel/rules:bazel_java_test.bzl", _java_test = "java_test")
load("@rules_java//java/bazel:http_jar.bzl", _http_jar = "http_jar")
load("@rules_java//java/common/rules:java_package_configuration.bzl", _java_package_configuration = "java_package_configuration")
load("@rules_java//java/common/rules:java_runtime.bzl", _java_runtime = "java_runtime")
load("@rules_java//java/common/rules:java_toolchain.bzl", _java_toolchain = "java_toolchain")
load("@rules_java//java/private:java_common.bzl", _java_common = "java_common")
load("@rules_java//java/private:java_common_internal.bzl", _java_common_internal_compile = "compile")
load("@rules_java//java/private:java_info.bzl", _JavaInfo = "JavaInfo", _JavaPluginInfo = "JavaPluginInfo",
_java_info_internal_merge = "merge", _java_info_to_implicit_exportable = "to_implicit_exportable")
java_binary = _java_binary
java_import = _java_import
java_library = _java_library
java_plugin = _java_plugin
java_test = _java_test
java_package_configuration = _java_package_configuration
java_runtime = _java_runtime
java_toolchain = _java_toolchain
java_common = _java_common
JavaInfo = _JavaInfo
JavaPluginInfo = _JavaPluginInfo
java_common_internal_compile = _java_common_internal_compile
java_info_internal_merge = _java_info_internal_merge
java_info_to_implicit_exportable = _java_info_to_implicit_exportable
http_jar = _http_jar
""",
)
else:
rctx.file(
"BUILD.bazel",
"""
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
exports_files(['proxy.bzl'], visibility = ["@rules_java//test:__pkg__"])
bzl_library(
name = "proxy_bzl",
srcs = ["proxy.bzl"],
deps = [
"@rules_java//java/private:native_bzl",
"@bazel_tools//tools:bzl_srcs",
],
visibility = ["//visibility:public"]
)
""",
)
rctx.file(
"proxy.bzl",
"""
load("@bazel_tools//tools/build_defs/repo:http.bzl", _http_jar = "http_jar")
load("@rules_java//java/private:native.bzl", "native_java_common", "NativeJavaInfo", "NativeJavaPluginInfo")
java_binary = native.java_binary
java_import = native.java_import
java_library = native.java_library
java_plugin = native.java_plugin
java_test = native.java_test
java_package_configuration = native.java_package_configuration
java_runtime = native.java_runtime
java_toolchain = native.java_toolchain
java_common = native_java_common
JavaInfo = NativeJavaInfo
JavaPluginInfo = NativeJavaPluginInfo
java_common_internal_compile = None
java_info_internal_merge = None
# Not available before Bazel 7
java_info_to_implicit_exportable = getattr(android_common, "enable_implicit_sourceless_deps_exports_compatibility", None)
http_jar = _http_jar
""",
)
_compatibility_proxy_repo_rule = repository_rule(
_compatibility_proxy_repo_impl,
# force reruns on server restarts to use correct native.bazel_version
local = True,
)
def compatibility_proxy_repo():
maybe(_compatibility_proxy_repo_rule, name = "compatibility_proxy")
def _compat_proxy_impl(_unused):
compatibility_proxy_repo()
compatibility_proxy = module_extension(_compat_proxy_impl)
def protobuf_repo():
maybe(
http_archive,
name = "com_google_protobuf",
sha256 = "ce5d00b78450a0ca400bf360ac00c0d599cc225f049d986a27e9a4e396c5a84a",
strip_prefix = "protobuf-29.0-rc2",
url = "https://github.com/protocolbuffers/protobuf/releases/download/v29.0-rc2/protobuf-29.0-rc2.tar.gz",
)
def rules_cc_repo():
maybe(
http_archive,
name = "rules_cc",
sha256 = "f4aadd8387f381033a9ad0500443a52a0cea5f8ad1ede4369d3c614eb7b2682e",
strip_prefix = "rules_cc-0.0.15",
urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.15/rules_cc-0.0.15.tar.gz"],
)
def bazel_skylib_repo():
maybe(
http_archive,
name = "bazel_skylib",
sha256 = "bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
],
)
def rules_java_dependencies():
"""An utility method to load non-toolchain dependencies of rules_java.
Loads the remote repositories used by default in Bazel.
"""
compatibility_proxy_repo()
bazel_skylib_repo()
rules_cc_repo()
protobuf_repo()