blob: ad767d889d7a62aa13f9606b8ade749431a6e506 [file] [log] [blame]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01001# Packaging
2
Laszlo Csomor3e023182019-08-01 05:05:09 -07003load("//tools/python:private/defs.bzl", "py_binary", "py_library")
Philipp Wollermann4c558982017-07-27 18:01:12 +02004load(":embedded_tools.bzl", "srcsfile")
Laszlo Csomord784b5f2018-06-20 02:06:58 -07005load(":rule_size_test.bzl", "rule_size_test")
Ivo Listc0809f72020-12-04 06:21:44 -08006load("//src:release_archive.bzl", "release_archive")
Philipp Wollermann4c558982017-07-27 18:01:12 +02007
Tobias Werth218e8f62018-12-13 04:44:35 -08008exports_files(["jdeps_modules.golden"])
9
Benjamin Peterson9eb19a62020-02-14 09:22:22 -080010md5_cmd = "set -e -o pipefail && %s $(SRCS) | %s | %s > $@"
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010011
Lukacs Berkieb851fe2015-10-19 10:52:31 +000012[genrule(
13 name = "install_base_key-file" + suffix,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010014 srcs = [
kkress73dcff32020-04-06 11:14:48 -070015 "//src/main/java/com/google/devtools/build/lib/bazel:BazelServer_deploy.jar",
adonovan450c7ad2020-09-14 13:00:21 -070016 "//src/main/java/net/starlark/java/eval:cpu_profiler",
adonovan1e4f0692020-06-10 06:22:23 -070017 # TODO(brandjon): ensure we haven't forgotten any package-zip items,
18 # otherwise bazel won't correctly reextract modified files.
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010019 "//src/main/cpp:client",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010020 "//src/main/tools:build-runfiles",
21 "//src/main/tools:process-wrapper",
Philipp Wollermann278814b2016-07-15 14:41:54 +000022 "//src/main/tools:linux-sandbox",
Chris Parsons5eb86fe2016-07-21 15:24:55 +000023 "//tools/osx:xcode-locator",
Philipp Wollermann4c558982017-07-27 18:01:12 +020024 ] + embedded_tools_target,
Lukacs Berkieb851fe2015-10-19 10:52:31 +000025 outs = ["install_base_key" + suffix],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010026 cmd = select({
Benjamin Peterson9eb19a62020-02-14 09:22:22 -080027 "//src/conditions:darwin": md5_cmd % ("/sbin/md5", "/sbin/md5", "head -c 32"),
Benjamin Peterson9eb19a62020-02-14 09:22:22 -080028 "//src/conditions:freebsd": md5_cmd % ("/sbin/md5", "/sbin/md5", "head -c 32"),
29 # We avoid using the `head` tool's `-c` option, since it does not exist
30 # on OpenBSD.
31 "//src/conditions:openbsd": md5_cmd % ("/bin/md5", "/bin/md5", "dd bs=32 count=1"),
32 "//conditions:default": md5_cmd % ("md5sum", "md5sum", "head -c 32"),
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010033 }),
Philipp Wollermann4c558982017-07-27 18:01:12 +020034) for suffix, embedded_tools_target in {
Tobias Werth218e8f62018-12-13 04:44:35 -080035 "_jdk_allmodules": [":embedded_tools_jdk_allmodules"],
36 "_jdk_minimal": [":embedded_tools_jdk_minimal"],
Tobias Werth5d2d06c2019-01-18 05:17:26 -080037 "_dev_jdk": [":embedded_tools_dev_jdk"],
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -070038 "_nojdk": [":embedded_tools_nojdk"],
Lukacs Berkieb851fe2015-10-19 10:52:31 +000039 "_notools": [],
40}.items()]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010041
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000042# Try to grab the java version from the java_toolchain.
Damien Martin-Guillerez4bf2c1a2015-10-02 09:19:18 +000043# Unfortunately, we don't have access to the javac options
44# so we cannot get it from the command-line options.
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000045genquery(
46 name = "java_toolchain_content",
dbabkin35df7152018-06-26 05:47:54 -070047 expression = "kind(java_toolchain, deps(@bazel_tools//tools/jdk:current_java_toolchain))",
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000048 opts = ["--output=xml"],
dbabkin35df7152018-06-26 05:47:54 -070049 scope = ["@bazel_tools//tools/jdk:current_java_toolchain"],
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000050)
51
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000052# Create dummy tools so we can do select to prevent building iOS target on
53# Linux.
54OSX_DUMMY_TARGETS = [
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000055 "src/tools/xcode/realpath/realpath",
56 "src/tools/xcode/stdredirect/StdRedirect.dylib",
57]
58
59[
60 genrule(
61 name = "dummy_darwin_tool_" + name.replace("/", "_"),
62 srcs = [],
63 outs = ["dummy_darwin_tools/" + name],
64 cmd = "touch $@",
65 )
66 for name in OSX_DUMMY_TARGETS
67]
68
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000069filegroup(
70 name = "darwin_tools",
71 srcs = [
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000072 "//src/tools/xcode/realpath:realpath",
Chris Parsons5eb86fe2016-07-21 15:24:55 +000073 "//tools/osx:xcode_locator.m",
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000074 ] + select({
tomlu1a483d42017-11-30 15:08:40 -080075 "//src/conditions:iphonesdk": ["//src/tools/xcode/stdredirect:StdRedirect.dylib"],
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000076 "//conditions:default": [":dummy_darwin_tool_src_tools_xcode_stdredirect_StdRedirect.dylib"],
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000077 }),
78)
79
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000080filegroup(
81 name = "dummy_darwin_tools",
82 srcs = [
83 "dummy_darwin_tool_" + name.replace("/", "_")
84 for name in OSX_DUMMY_TARGETS
85 ],
86)
87
László Csomor5f99fda2017-08-11 09:28:12 +020088py_library(
89 name = "create_embedded_tools_lib",
90 srcs = ["create_embedded_tools_lib.py"],
László Csomor0783b9e2017-08-11 10:28:36 +020091 visibility = ["//:__pkg__"],
László Csomor5f99fda2017-08-11 09:28:12 +020092)
93
Philipp Wollermann4c558982017-07-27 18:01:12 +020094py_binary(
95 name = "create_embedded_tools",
96 srcs = ["create_embedded_tools.py"],
László Csomor5f99fda2017-08-11 09:28:12 +020097 deps = [":create_embedded_tools_lib"],
Philipp Wollermann4c558982017-07-27 18:01:12 +020098)
99
brandjonde1babe2020-11-17 14:19:23 -0800100# Script for turning builtins_bzl sources into a zip file for unioning into the
101# package zip / install base.
102sh_binary(
103 name = "zip_builtins",
104 srcs = ["zip_builtins.sh"],
105 visibility = ["//src/main/starlark/builtins_bzl:__pkg__"],
106)
107
iirinaf4604ba2019-01-16 02:38:07 -0800108# The tools Bazel uses to compile Java.
109# TODO(#6316): Gradually remove the targets here.
110JAVA_TOOLS = [
iirinaf4604ba2019-01-16 02:38:07 -0800111 "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:srcs",
iirinaf4604ba2019-01-16 02:38:07 -0800112 "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:embedded_tools",
iirinaebdbdcd2019-04-09 04:43:08 -0700113]
iirinaf4604ba2019-01-16 02:38:07 -0800114
Philipp Wollermann4c558982017-07-27 18:01:12 +0200115# TODO(philwo): Clean this up, once a Bazel that can run py_binary and sh_binary
gregcead752cc2020-04-10 10:32:59 -0700116# in Starlark rules on Windows has been released.
Philipp Wollermann4c558982017-07-27 18:01:12 +0200117[filegroup(
118 name = "embedded_tools" + suffix + "_srcs",
iirinaf4604ba2019-01-16 02:38:07 -0800119 srcs = JAVA_TOOLS + [
Tobias Werth218e8f62018-12-13 04:44:35 -0800120 "BUILD.tools",
121 "//tools:embedded_tools_srcs",
122 "//third_party:gpl-srcs",
Tobias Werth9ef27942020-05-18 08:14:03 -0700123 "//third_party/grpc:embedded_tools_srcs",
124 "//third_party/grpc/bazel:embedded_tools_srcs",
iirina2d446752019-03-15 09:00:35 -0700125 "//third_party/ijar:embedded_zipper_sources",
126 "//third_party/ijar:zipper",
Tobias Werth218e8f62018-12-13 04:44:35 -0800127 "//third_party/java/j2objc:embedded_tools_srcs",
laszlocsomord93a1462019-11-04 09:14:39 -0800128 "//third_party/py/abseil:srcs",
Tobias Werth218e8f62018-12-13 04:44:35 -0800129 "//third_party/py/concurrent:srcs",
Tobias Werth218e8f62018-12-13 04:44:35 -0800130 "//third_party/py/six:srcs",
131 "//src/conditions:embedded_tools",
Tobias Werth218e8f62018-12-13 04:44:35 -0800132 "//src/tools/android/java/com/google/devtools/build/android:embedded_tools",
133 "//src/tools/launcher:srcs",
Tobias Werth218e8f62018-12-13 04:44:35 -0800134 "//src/main/cpp/util:embedded_tools",
135 "//src/main/native:embedded_tools",
136 "//src/main/protobuf:srcs",
Tobias Werth218e8f62018-12-13 04:44:35 -0800137 "//third_party/def_parser:srcs",
Tobias Werth218e8f62018-12-13 04:44:35 -0800138 "//third_party/zlib:embedded_tools",
139 ] + select({
140 "//src/conditions:darwin": [
141 ":darwin_tools",
142 ],
Tobias Werth218e8f62018-12-13 04:44:35 -0800143 "//conditions:default": [
144 ":dummy_darwin_tools",
145 ],
146 }) + select({
147 "//src/conditions:windows": [
148 "//src/tools/launcher:launcher",
149 "//third_party/def_parser:def_parser",
150 ],
151 "//conditions:default": [],
Tobias Werth218e8f62018-12-13 04:44:35 -0800152 }) +
153 jdk,
cushon72141a12018-06-11 08:30:15 -0700154 visibility = [
155 "//src/test:__subpackages__", # For integration tests
156 ],
Tobias Werth218e8f62018-12-13 04:44:35 -0800157) for suffix, jdk in {
Tobias Wertha87451a2019-01-29 07:03:58 -0800158 "_jdk_allmodules": [":embedded_jdk_allmodules_cached"],
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800159 "_jdk_minimal": [":embedded_jdk_minimal_cached"],
Tobias Werth5d2d06c2019-01-18 05:17:26 -0800160 "_dev_jdk": [":embedded_jdk_minimal"],
Tobias Werth218e8f62018-12-13 04:44:35 -0800161 "_nojdk": [],
162}.items()]
cushon72141a12018-06-11 08:30:15 -0700163
Laszlo Csomord784b5f2018-06-20 02:06:58 -0700164rule_size_test(
165 name = "embedded_tools_size_test",
Tobias Werth218e8f62018-12-13 04:44:35 -0800166 src = ":embedded_tools_jdk_allmodules_srcs",
Laszlo Csomord784b5f2018-06-20 02:06:58 -0700167 # WARNING: Only adjust the number in `expect` if you are intentionally
168 # adding or removing embedded tools. Know that the more embedded tools there
169 # are in Bazel, the bigger the binary becomes and the slower Bazel starts.
sgjessebfa65962020-04-16 23:36:50 -0700170 expect = 500,
Laszlo Csomord784b5f2018-06-20 02:06:58 -0700171 margin = 5, # percentage
172)
173
cushon72141a12018-06-11 08:30:15 -0700174filegroup(
Tobias Wertha87451a2019-01-29 07:03:58 -0800175 name = "embedded_jdk_allmodules_cached",
cushon72141a12018-06-11 08:30:15 -0700176 srcs = select({
Thi Doanb39a51c2020-12-07 11:27:56 -0800177 "//src/conditions:darwin_x86_64": [
178 "@openjdk_macos_x86_64//file",
Philipp Wollermann95048272017-03-17 15:11:58 +0000179 ],
tomlu1a483d42017-11-30 15:08:40 -0800180 "//src/conditions:windows": [
pcloudy05c20aa2017-06-29 11:38:30 +0200181 "@openjdk_win//file",
182 ],
Arielle Albonfa7e49f2018-07-31 00:57:54 -0700183 "//src/conditions:linux_aarch64": [
184 "@openjdk_linux_aarch64//file",
185 ],
Philipp Wollermann95048272017-03-17 15:11:58 +0000186 "//conditions:default": [
187 "@openjdk_linux//file",
188 ],
cushon72141a12018-06-11 08:30:15 -0700189 }),
190 visibility = ["//src/test/shell/bazel:__pkg__"],
191)
Damien Martin-Guillerez12997672015-09-03 21:54:08 +0000192
Tobias Werth218e8f62018-12-13 04:44:35 -0800193filegroup(
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800194 name = "embedded_jdk_minimal_cached",
195 srcs = select({
Thi Doanb39a51c2020-12-07 11:27:56 -0800196 "//src/conditions:darwin_x86_64": [
197 "@openjdk_macos_x86_64_minimal//file",
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800198 ],
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800199 "//src/conditions:windows": [
200 "@openjdk_win_minimal//file",
201 ],
philwo9f7fe692019-06-27 06:53:12 -0700202 "//src/conditions:linux_aarch64": [
203 "@openjdk_linux_aarch64_minimal//file",
204 ],
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800205 "//conditions:default": [
206 "@openjdk_linux_minimal//file",
207 ],
208 }),
209 visibility = ["//src/test/shell/bazel:__pkg__"],
210)
211
212filegroup(
Tobias Werth218e8f62018-12-13 04:44:35 -0800213 name = "embedded_jdk_vanilla",
214 srcs = select({
Thi Doanb39a51c2020-12-07 11:27:56 -0800215 "//src/conditions:darwin_x86_64": [
216 "@openjdk_macos_x86_64_vanilla//file",
Tobias Werth218e8f62018-12-13 04:44:35 -0800217 ],
Tobias Werth218e8f62018-12-13 04:44:35 -0800218 "//src/conditions:windows": [
219 "@openjdk_win_vanilla//file",
220 ],
221 "//src/conditions:linux_aarch64": [
222 "@openjdk_linux_aarch64_vanilla//file",
223 ],
Jason Furmanek04e073e2020-05-28 05:48:09 -0700224 "//src/conditions:linux_ppc64le": [
225 "@openjdk_linux_ppc64le_vanilla//file",
226 ],
Ruixin Baoe14a6f22020-08-21 06:17:24 -0700227 "//src/conditions:linux_s390x": [
228 "@openjdk_linux_s390x_vanilla//file",
229 ],
Tobias Werth218e8f62018-12-13 04:44:35 -0800230 "//conditions:default": [
231 "@openjdk_linux_vanilla//file",
232 ],
233 }),
234 visibility = ["//src/test/shell/bazel:__pkg__"],
235)
236
237sh_binary(
238 name = "minimize_jdk",
239 srcs = ["minimize_jdk.sh"],
240)
241
twerth683922c2018-12-20 05:12:08 -0800242filegroup(
Tobias Werth218e8f62018-12-13 04:44:35 -0800243 name = "embedded_jdk_minimal",
twerth683922c2018-12-20 05:12:08 -0800244 srcs = select({
245 "//src/conditions:windows": [
246 ":embedded_jdk_minimal.zip",
247 ],
248 "//conditions:default": [
249 ":embedded_jdk_minimal.tar.gz",
250 ],
251 }),
252)
253
Tobias Wertha87451a2019-01-29 07:03:58 -0800254filegroup(
255 name = "embedded_jdk_allmodules",
256 srcs = select({
257 "//src/conditions:windows": [
258 ":embedded_jdk_allmodules.zip",
259 ],
260 "//conditions:default": [
261 ":embedded_jdk_allmodules.tar.gz",
262 ],
263 }),
Tobias Werth144912e2019-02-01 10:40:20 -0800264 visibility = ["//src/test/shell/bazel:__pkg__"],
Tobias Wertha87451a2019-01-29 07:03:58 -0800265)
266
twerth683922c2018-12-20 05:12:08 -0800267[genrule(
268 name = "embedded_jdk_minimal" + suffix,
Tobias Werth218e8f62018-12-13 04:44:35 -0800269 srcs = [
270 ":embedded_jdk_vanilla",
271 ":minimize_jdk.sh",
272 ":jdeps_modules.golden",
273 ],
twerth683922c2018-12-20 05:12:08 -0800274 outs = ["minimal_jdk" + suffix],
Tobias Werth218e8f62018-12-13 04:44:35 -0800275 cmd = "$(location :minimize_jdk.sh) $(location :embedded_jdk_vanilla) $(location :jdeps_modules.golden) $(OUTS)",
276 visibility = ["//src/test/shell/bazel:__pkg__"],
twerth683922c2018-12-20 05:12:08 -0800277) for suffix in [
278 ".zip",
279 ".tar.gz",
280]]
Tobias Werth218e8f62018-12-13 04:44:35 -0800281
Tobias Wertha87451a2019-01-29 07:03:58 -0800282[genrule(
283 name = "embedded_jdk_allmodules" + suffix,
284 srcs = [
285 ":embedded_jdk_vanilla",
286 ":minimize_jdk.sh",
287 ":jdeps_modules.golden",
288 ],
289 outs = ["allmodules_jdk" + suffix],
290 cmd = "$(location :minimize_jdk.sh) --allmodules $(location :embedded_jdk_vanilla) $(location :jdeps_modules.golden) $(OUTS)",
291 visibility = ["//src/test/shell/bazel:__pkg__"],
292) for suffix in [
293 ".zip",
294 ".tar.gz",
295]]
296
Philipp Wollermann4c558982017-07-27 18:01:12 +0200297[srcsfile(
298 name = "embedded_tools" + suffix + "_params",
299 srcs = [":embedded_tools" + suffix + "_srcs"],
300 out = "embedded_tools" + suffix + ".params",
301) for suffix in [
Tobias Werth218e8f62018-12-13 04:44:35 -0800302 "_jdk_allmodules",
303 "_jdk_minimal",
Tobias Werth5d2d06c2019-01-18 05:17:26 -0800304 "_dev_jdk",
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700305 "_nojdk",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200306]]
307
Tobias Werth218e8f62018-12-13 04:44:35 -0800308[genrule(
309 name = "embedded_tools" + suffix,
Philipp Wollermann4c558982017-07-27 18:01:12 +0200310 srcs = [
Tobias Werth218e8f62018-12-13 04:44:35 -0800311 ":embedded_tools" + suffix + "_params",
312 ":embedded_tools" + suffix + "_srcs",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200313 ],
Tobias Werth218e8f62018-12-13 04:44:35 -0800314 outs = ["embedded_tools" + suffix + ".zip"],
315 cmd = "$(location :create_embedded_tools) \"$@\" $(location :embedded_tools" + suffix + "_params)",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200316 tools = [":create_embedded_tools"],
Tobias Werth218e8f62018-12-13 04:44:35 -0800317) for suffix in [
318 "_jdk_allmodules",
319 "_jdk_minimal",
Tobias Werth5d2d06c2019-01-18 05:17:26 -0800320 "_dev_jdk",
Tobias Werth218e8f62018-12-13 04:44:35 -0800321 "_nojdk",
322]]
Philipp Wollermann4c558982017-07-27 18:01:12 +0200323
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000324[genrule(
325 name = "package-zip" + suffix,
brandjon708e1ce2020-12-15 14:51:06 -0800326 # This script assumes the following arg order:
327 # 1) embedded tools zip (if it exists)
328 # 2) the deploy jar
329 # 3) the install base key
330 # 4) the platforms archive
331 # 5) everything else to be bundled
Philipp Wollermann95048272017-03-17 15:11:58 +0000332 srcs = ([":embedded_tools" + suffix + ".zip"] if embed else []) + [
kkress73dcff32020-04-06 11:14:48 -0700333 "//src/main/java/com/google/devtools/build/lib/bazel:BazelServer_deploy.jar",
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000334 "install_base_key" + suffix,
hlopkoaaf64572019-06-14 02:33:56 -0700335 ":platforms_archive",
brandjonde1babe2020-11-17 14:19:23 -0800336 # Non-ordered items follow:
adonovan450c7ad2020-09-14 13:00:21 -0700337 "//src/main/java/net/starlark/java/eval:cpu_profiler",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100338 "//src/main/tools:build-runfiles",
339 "//src/main/tools:process-wrapper",
Philipp Wollermann278814b2016-07-15 14:41:54 +0000340 "//src/main/tools:linux-sandbox",
Chris Parsons5eb86fe2016-07-21 15:24:55 +0000341 "//tools/osx:xcode-locator",
jmmv18a0e232019-02-21 07:34:02 -0800342 ] + select({
343 "//src/conditions:windows": [],
344 "//conditions:default": [
345 "//src/main/tools:daemonize",
346 ],
347 }),
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000348 outs = ["package" + suffix + ".zip"],
aldersondrived6145a02020-01-21 08:11:48 -0800349 cmd = "$(location :package_bazel_on_host_platform) $@ " + ("" if embed else "''") + " $(SRCS)",
350 tools = [":package_bazel_on_host_platform"],
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000351) for suffix, embed in [
Tobias Werth218e8f62018-12-13 04:44:35 -0800352 ("_jdk_allmodules", True),
353 ("_jdk_minimal", True),
Tobias Werth5d2d06c2019-01-18 05:17:26 -0800354 ("_dev_jdk", True),
Damien Martin-Guillerez04d46ab2016-04-13 19:27:56 +0000355 ("_notools", False),
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700356 ("_nojdk", True),
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000357]]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100358
hlopkoaaf64572019-06-14 02:33:56 -0700359genrule(
aldersondrived6145a02020-01-21 08:11:48 -0800360 name = "package_bazel_on_host_platform",
361 srcs = ["package-bazel.sh"],
362 outs = ["package-bazel-on-host-platform.sh"],
363 cmd = select({
364 "//src/conditions:openbsd": "cat $(SRCS) | sed -e 's@#!/bin/bash@#!/usr/local/bin/bash@' > $@",
365 "//conditions:default": "cp $(SRCS) $@",
366 }),
367)
368
369genrule(
hlopkoaaf64572019-06-14 02:33:56 -0700370 name = "platforms_archive",
371 srcs = ["@platforms//:srcs"],
372 outs = ["platforms.zip"],
373 # Removing the WORKSPACE file since local_repository creates it no matter what and leaving
374 # it there would make the zip nondeterministic.
375 cmd = "zip -qX $@ $$(echo $(SRCS) | xargs -n 1 | grep -v '.*/WORKSPACE$$' | sort | xargs)",
376)
377
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000378[genrule(
379 name = "bazel-bin" + suffix,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100380 srcs = [
381 "//src/main/cpp:client",
Jakob Buchgraber92931bd2019-07-18 07:38:59 -0700382 "package-zip" + jdk,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100383 ],
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000384 outs = ["bazel" + suffix],
Yun Peng6ffb8e42016-04-14 16:55:02 +0000385 # In msys, a file path without .exe suffix(say foo), refers to a file with .exe
386 # suffix(say foo.exe), if foo.exe exists and foo doesn't. So, on windows, we
387 # need to remove bazel.exe first, so that cat to bazel won't fail.
Googler48648502021-01-20 06:53:05 -0800388 cmd = "rm -f $@; cat $(location //src/main/cpp:client) $(location :package-zip" + jdk + ") > $@ && zip -qA $@ && chmod a+x $@",
Tobias Werth218e8f62018-12-13 04:44:35 -0800389 executable = 1,
390 output_to_bindir = 1,
391 visibility = [
392 "//scripts:__pkg__", # For bash completion generation
393 "//scripts/packages:__pkg__", # For installer generation
394 "//src/java:__subpackages__", # For command line reference generation
395 "//src/test:__subpackages__", # For integration tests
396 ],
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800397) for suffix, jdk in [
398 ("-dev", "_jdk_allmodules"),
399 ("", "_jdk_minimal"),
Jakob Buchgraber92931bd2019-07-18 07:38:59 -0700400 ("_jdk_allmodules", "_jdk_allmodules"),
401 ("_jdk_minimal", "_jdk_minimal"),
402 ("_dev_jdk", "_dev_jdk"),
403 ("_notools", "_notools"),
404 ("_nojdk", "_nojdk"),
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800405]]
Tobias Werth218e8f62018-12-13 04:44:35 -0800406
Dmitry Lomov9d40a602016-02-15 16:15:03 +0000407# Build an executable named `bazel.exe`.
408# Works on all platforms but only makes sense on Windows.
409# Workaround for non-configurability of genrule's `outs` attribute.
410[genrule(
411 name = "bazel-bin" + suffix + ".exe",
412 srcs = [":bazel-bin" + suffix],
413 outs = ["bazel" + suffix + ".exe"],
414 cmd = "cp $(location :bazel-bin" + suffix + ") $@",
415 executable = 1,
416 output_to_bindir = 1,
417 visibility = [
418 "//scripts:__pkg__", # For bash completion generation
419 "//scripts/packages:__pkg__", # For installer generation
420 "//src/test:__subpackages__", # For integration tests
421 ],
422) for suffix in [
423 "",
Tobias Werthe7438ae2019-07-02 08:17:44 -0700424 "-dev",
Dmitry Lomov9d40a602016-02-15 16:15:03 +0000425 "_notools",
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700426 "_nojdk",
Dmitry Lomov9d40a602016-02-15 16:15:03 +0000427]]
428
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000429filegroup(
430 name = "srcs",
431 srcs = glob(["**"]) + [
tomlu1a483d42017-11-30 15:08:40 -0800432 "//src/conditions:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000433 "//src/java_tools/buildjar:srcs",
Benjamin Peterson425f9422018-02-09 14:05:17 -0800434 "//src/java_tools/import_deps_checker:srcs",
ulfjack26ad43d2017-08-28 12:30:44 +0200435 "//src/java_tools/junitrunner:srcs",
dorranh210ae642021-01-14 02:14:31 -0800436 "//src/java_tools/junitrunner/javatests/com/google/testing/coverage:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000437 "//src/java_tools/singlejar:srcs",
438 "//src/main/cpp:srcs",
Laszlo Csomor3e023182019-08-01 05:05:09 -0700439 "//src/main/res:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000440 "//src/main/java/com/google/devtools/build/docgen:srcs",
fellyc5c078c2019-07-31 12:05:24 -0700441 "//src/main/java/com/google/devtools/build/lib/actionsketch:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000442 "//src/main/java/com/google/devtools/build/lib:srcs",
philwo45743d02019-06-03 06:13:30 -0700443 "//src/main/java/com/google/devtools/build/lib/includescanning:srcs",
steinmanacf55d82019-05-21 09:49:58 -0700444 "//src/main/java/com/google/devtools/build/lib/network:srcs",
philwo62dd1742019-06-04 05:27:37 -0700445 "//src/main/java/com/google/devtools/build/lib/outputfilter:srcs",
cparsons5d85e752018-06-26 13:47:28 -0700446 "//src/main/java/com/google/devtools/build/skydoc:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000447 "//src/main/java/com/google/devtools/build/skyframe:srcs",
448 "//src/main/java/com/google/devtools/common/options:srcs",
adonovancb5dc082020-05-18 12:02:00 -0700449 "//src/main/java/net/starlark/java/cmd:srcs",
450 "//src/main/java/net/starlark/java/spelling:srcs",
adonovan6e47a402020-10-19 15:16:15 -0700451 "//src/main/java/net/starlark/java/lib/json:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000452 "//src/main/native:srcs",
453 "//src/main/protobuf:srcs",
brandjonde1babe2020-11-17 14:19:23 -0800454 "//src/main/starlark/builtins_bzl:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000455 "//src/main/tools:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000456 "//src/test/cpp:srcs",
Googler3e830922017-03-17 17:39:00 +0000457 "//src/test/gen:srcs",
Laszlo Csomor3e023182019-08-01 05:05:09 -0700458 "//src/test/res:srcs",
Laszlo Csomordcc80fb2019-08-09 05:05:21 -0700459 "//src/test/native/windows:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000460 "//src/test/java/com/google/devtools/build/android:srcs",
461 "//src/test/java/com/google/devtools/build/docgen:srcs",
462 "//src/test/java/com/google/devtools/build/lib:srcs",
ruperts9f959c52018-01-04 11:54:02 -0800463 "//src/test/java/com/google/devtools/build/lib/shell:srcs",
cparsons5d85e752018-06-26 13:47:28 -0700464 "//src/test/java/com/google/devtools/build/skydoc:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000465 "//src/test/java/com/google/devtools/build/skyframe:srcs",
466 "//src/test/java/com/google/devtools/common/options:srcs",
adonovan53e22d92020-07-28 08:54:43 -0700467 "//src/test/java/net/starlark/java/eval:srcs",
adonovancb5dc082020-05-18 12:02:00 -0700468 "//src/test/java/net/starlark/java/spelling:srcs",
Laszlo Csomore78ad832017-06-09 10:45:27 -0400469 "//src/test/py/bazel:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000470 "//src/test/shell:srcs",
ishikhman32268802019-04-25 03:47:24 -0700471 "//src/test/testdata/test_tls_certificate",
jmmvb07b7992020-05-18 09:24:11 -0700472 "//src/test/tools:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000473 "//src/tools/android/java/com/google/devtools/build/android:srcs",
olaolaa5e36ee2018-06-15 08:16:44 -0700474 "//src/tools/execlog:srcs",
Googler1950bf92018-08-28 15:40:05 -0700475 "//src/tools/workspacelog:srcs",
Yun Peng09dd8c02017-07-21 15:57:05 +0200476 "//src/tools/launcher:srcs",
gregce3ec8d812020-06-18 08:05:01 -0700477 "//src/tools/starlark/java/com/google/devtools/starlark/common:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000478 "//src/tools/xcode/realpath:srcs",
Sasha Smundak06a12e52016-07-15 17:35:51 +0000479 "//src/tools/singlejar:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000480 "//src/tools/xcode/stdredirect:srcs",
olaola2f3d7df2017-12-05 12:41:19 -0800481 "//src/tools/remote:srcs",
Chris Parsons5eb86fe2016-07-21 15:24:55 +0000482 "//tools/osx:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000483 ],
484 visibility = ["//:__pkg__"],
485)
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000486
487genrule(
488 name = "derived_java_srcs",
489 srcs = [
490 "//src/main/protobuf:dist_jars",
491 "//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:dist_jars",
Googler7e703ec2018-07-16 08:48:39 -0700492 "//src/main/java/com/google/devtools/build/lib/bazel/debug:dist_jars",
kkress9ed89e52020-08-13 11:21:55 -0700493 "//src/main/java/com/google/devtools/build/lib/packages/metrics:dist_jars",
Googler94bf0042020-03-05 09:02:03 -0800494 "//src/main/java/com/google/devtools/build/lib/skyframe/proto:dist_jars",
laurentlb6e87c952020-04-28 11:44:05 -0700495 "//src/main/java/com/google/devtools/build/lib/starlarkdebug/proto:dist_jars",
cparsons5ece6502019-04-17 10:19:41 -0700496 "//src/main/java/com/google/devtools/build/skydoc/rendering/proto:dist_jars",
janakr65970e52020-02-26 08:25:00 -0800497 "//src/main/java/com/google/devtools/build/skyframe:dist_jars",
Jakob Buchgraber55c5a602017-06-08 23:11:21 +0200498 "@googleapis//:dist_jars",
Ola Rozenfeld930119a2018-08-10 11:04:44 -0700499 "@remoteapis//:dist_jars",
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000500 ],
501 outs = ["derived_java_srcs.zip"],
Klaus Aehlig86c9d942017-06-30 13:41:19 +0200502 cmd = "$(location :combine_derived_java_srcs.sh) $(JAVABASE) $@ $(SRCS)",
cushon849df362018-05-14 01:51:45 -0700503 toolchains = ["@bazel_tools//tools/jdk:current_host_java_runtime"],
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000504 tools = ["combine_derived_java_srcs.sh"],
505 visibility = ["//:__pkg__"],
506)
L?szl? Csomor088f6112017-09-19 17:12:32 +0200507
508test_suite(
509 name = "windows_tests",
510 tags = [
511 "-no_windows",
512 "-slow",
513 ],
514 visibility = ["//visibility:private"],
515)
516
517test_suite(
518 name = "all_windows_tests",
519 tests = [
520 ":windows_tests",
521 "//src/test/cpp:all_windows_tests",
522 "//src/test/java/com/google/devtools/build/android:all_windows_tests",
523 "//src/test/java/com/google/devtools/build/docgen:all_windows_tests",
524 "//src/test/java/com/google/devtools/build/lib:all_windows_tests",
525 "//src/test/java/com/google/devtools/build/skyframe:all_windows_tests",
526 "//src/test/java/com/google/devtools/common/options:all_windows_tests",
Laszlo Csomordcc80fb2019-08-09 05:05:21 -0700527 "//src/test/native/windows:all_windows_tests",
L?szl? Csomor088f6112017-09-19 17:12:32 +0200528 "//src/test/py/bazel:all_windows_tests",
philwo0bc2c7a2020-02-06 04:15:14 -0800529 "//src/test/res:all_windows_tests",
Laszlo Csomora7f202c2018-04-26 07:39:41 -0700530 "//src/test/shell:all_windows_tests",
Jingwen Chen908b8362019-08-09 15:29:12 -0700531 "//src/test/shell/bazel/android:all_windows_tests",
L?szl? Csomor088f6112017-09-19 17:12:32 +0200532 "//src/tools/launcher:all_windows_tests",
Laszlo Csomor2716b032018-10-26 05:23:34 -0700533 "//src/tools/singlejar:all_windows_tests",
László Csomorceefd572017-09-21 16:02:25 +0200534 "//third_party/def_parser:all_windows_tests",
Laszlo Csomordf16c772018-08-09 23:36:39 -0700535 "//tools:all_windows_tests",
L?szl? Csomor088f6112017-09-19 17:12:32 +0200536 ],
537)
tomlu1a483d42017-11-30 15:08:40 -0800538
539# config_setting alias left here because bazel-only third_party code is pointing to it
540alias(
541 name = "windows",
542 actual = "//src/conditions:windows",
543 visibility = ["//visibility:public"],
544)
iirina7aace9c2019-03-18 05:41:55 -0700545
546sh_binary(
547 name = "zip_files",
548 srcs = ["zip_files.sh"],
549 visibility = ["//visibility:public"],
550)
551
552sh_binary(
553 name = "merge_zip_files",
554 srcs = ["merge_zip_files.sh"],
555 visibility = ["//visibility:public"],
556)
iirina8df893a2019-03-25 09:34:51 -0700557
Ivo Listd10013d2020-11-25 14:41:16 -0800558# The java_tools release process produces following zip files:
559# - java_tools_dist.zip: all sources (Java and C++)
560# - java_tools.zip: platform independent part - Java classes (deploy jars) and C++ sources
561# - java_tools_prebuilt.zip: C++ binaries (for platforms: Linux, Darwin and Windows)
562#
563# The files are then used in Bazel as @remote_java_tools and @remote_java_tools_{platform}
564# repositories.
565# The zip files are not embedded or used in Bazel.
566
567# Following target build java_tools_dist.zip - the sources
568genrule(
569 name = "java_tools_dist",
570 srcs = [
571 "//src/java_tools/buildjar:srcs",
572 "//src/java_tools/junitrunner:srcs",
573 "//src/java_tools/singlejar:srcs",
574 "//src/tools/singlejar:embedded_java_tools",
575 "//third_party/checker_framework_dataflow:srcs",
576 "//third_party/checker_framework_javacutil:srcs",
577 "//third_party/ijar:transitive_sources",
578 "//third_party/java/jacoco:transitive_sources",
579 "//third_party/java/proguard:srcs",
580 "@java_tools_langtools_javac11//:srcs",
581 ],
582 outs = ["java_tools_dist.zip"],
583 cmd = "zip -qXr $@ $$(echo $(SRCS) | sort)",
584 output_to_bindir = 1,
585 visibility = ["//src/test/shell/bazel:__pkg__"],
586)
587
588# Following targets build java_tools.zip - platform independent part of java_tools
iirina93e80732019-04-16 02:07:40 -0700589JAVA_TOOLS_DEPLOY_JARS = [
590 "//src/java_tools/buildjar:JavaBuilder_deploy.jar",
591 "//src/java_tools/buildjar:VanillaJavaBuilder_deploy.jar",
592 "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:GenClass_deploy.jar",
iirina93e80732019-04-16 02:07:40 -0700593 "//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine:turbine_direct_binary_deploy.jar",
594 "//src/java_tools/junitrunner/java/com/google/testing/coverage:JacocoCoverage_jarjar_deploy.jar",
iirina93e80732019-04-16 02:07:40 -0700595 "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:Runner_deploy.jar",
Ivo Listd10013d2020-11-25 14:41:16 -0800596 "//src/java_tools/singlejar/java/com/google/devtools/build/singlejar:bazel-singlejar_deploy.jar",
iirinaa6e92602019-05-13 06:20:12 -0700597]
iirina93e80732019-04-16 02:07:40 -0700598
Ivo Listc0809f72020-12-04 06:21:44 -0800599release_archive(
Ivo Listd10013d2020-11-25 14:41:16 -0800600 name = "jars_java_tools_zip",
601 srcs = JAVA_TOOLS_DEPLOY_JARS + [
602 "@java_tools_langtools_javac11//:jdk_compiler_jar",
603 "@java_tools_langtools_javac11//:java_compiler_jar",
604 "@java_tools_langtools_javac11//:javac_jar",
605 ],
Ivo Listc0809f72020-12-04 06:21:44 -0800606 package_dir = "java_tools",
Ivo Listd10013d2020-11-25 14:41:16 -0800607 visibility = ["//visibility:private"],
608)
iirina93e80732019-04-16 02:07:40 -0700609
Ivo Listc0809f72020-12-04 06:21:44 -0800610release_archive(
611 name = "java_tools_zip",
612 src_map = {
613 "//tools/jdk:BUILD.java_tools": "BUILD",
614 },
615 visibility = ["//src/test/shell/bazel:__pkg__"],
616 deps = [
617 ":jars_java_tools_zip",
Ivo Listd10013d2020-11-25 14:41:16 -0800618 "//src/tools/singlejar:singlejar_transitive_zip",
619 "//third_party/ijar:ijar_transitive_srcs_zip",
620 "//third_party/java/jacoco:jacoco_jars_zip",
621 "//third_party/java/proguard:proguard_zip",
622 ],
Ivo Listc0809f72020-12-04 06:21:44 -0800623)
624
625# Following target builds java_tools_prebuilt.zip part of java_tools
626release_archive(
627 name = "java_tools_prebuilt_zip",
628 src_map = {
629 "//tools/jdk:BUILD.java_tools_prebuilt": "BUILD",
630 },
Ivo Listd10013d2020-11-25 14:41:16 -0800631 visibility = ["//src/test/shell/bazel:__pkg__"],
Ivo Listc0809f72020-12-04 06:21:44 -0800632 deps = [
Ivo Listd10013d2020-11-25 14:41:16 -0800633 "//src/tools/singlejar:singlejar_deploy_zip",
634 "//third_party/ijar:ijar_deploy_zip",
635 ],
Ivo Listd10013d2020-11-25 14:41:16 -0800636)
637
638# Following targets used by the java_tools_binaries Buildkite pipeline to upload
639# the java_tools_*.zip to either tmp/sources or tmp/build directories in GCS.
640sh_binary(
641 name = "upload_java_tools_dist",
642 srcs = ["upload_java_tools.sh"],
643 args = [
644 "--java_tools_zip",
645 "src/java_tools_dist.zip",
646 "--gcs_java_tools_dir",
647 "tmp/sources",
648 ],
649 data = [":java_tools_dist"],
650 deps = ["@bazel_tools//tools/bash/runfiles"],
651)
652
653sh_binary(
654 name = "upload_java_tools",
655 srcs = ["upload_java_tools.sh"],
656 args = [
657 "--java_tools_zip",
658 "src/java_tools.zip",
659 "--gcs_java_tools_dir",
660 "tmp/build",
661 ],
662 data = [":java_tools_zip"],
663 deps = ["@bazel_tools//tools/bash/runfiles"],
664)
665
666sh_binary(
667 name = "upload_java_tools_prebuilt",
668 srcs = ["upload_java_tools.sh"],
669 args = [
670 "--java_tools_zip",
671 "src/java_tools_prebuilt.zip",
672 "--gcs_java_tools_dir",
673 "tmp/build",
674 "--platform",
675 ] + select({
676 "//src/conditions:darwin": ["darwin"],
677 "//src/conditions:windows": ["windows"],
678 "//src/conditions:linux": ["linux"],
679 "//conditions:default": ["unknown"],
680 }),
681 data = [":java_tools_prebuilt_zip"],
682 deps = ["@bazel_tools//tools/bash/runfiles"],
683)
iirina8df893a2019-03-25 09:34:51 -0700684
685# Part of the Java tools remote archive. Not embedded or used in Bazel.
Ivo Listc0809f72020-12-04 06:21:44 -0800686release_archive(
iirina8df893a2019-03-25 09:34:51 -0700687 name = "zlib_zip",
688 srcs = ["//third_party/zlib:embedded_tools"],
Ivo Listc0809f72020-12-04 06:21:44 -0800689 package_dir = "zlib",
iirinae4ac6162019-04-08 01:37:20 -0700690 visibility = [
691 "//src/tools/singlejar:__pkg__",
692 "//third_party/ijar:__pkg__",
693 ],
iirina8df893a2019-03-25 09:34:51 -0700694)
philwo17506af2020-01-28 04:20:39 -0800695
696filegroup(
697 name = "test_repos",
698 srcs = [
699 "@android_tools_for_testing//:WORKSPACE",
Yannic Bonenberger5e571d22020-02-13 07:29:58 -0800700 "@bazel_skylib//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800701 "@com_google_protobuf//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800702 "@openjdk11_darwin_archive//:WORKSPACE",
703 "@openjdk11_linux_archive//:WORKSPACE",
704 "@openjdk11_windows_archive//:WORKSPACE",
Jonathan Perry94505522020-10-07 12:45:34 -0700705 "@openjdk15_darwin_archive//:WORKSPACE",
706 "@openjdk15_linux_archive//:WORKSPACE",
707 "@openjdk15_windows_archive//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800708 "@openjdk_linux_aarch64_minimal//file",
709 "@openjdk_linux_minimal//file",
Thi Doanb39a51c2020-12-07 11:27:56 -0800710 "@openjdk_macos_x86_64_minimal//file",
philwo17506af2020-01-28 04:20:39 -0800711 "@openjdk_win_minimal//file",
aiutobbeb1da2021-01-15 06:50:56 -0800712 "@remote_coverage_tools//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800713 "@remote_java_tools_darwin_for_testing//:WORKSPACE",
Ivo List62022712020-11-27 07:24:36 -0800714 "@remote_java_tools_for_testing//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800715 "@remote_java_tools_linux_for_testing//:WORKSPACE",
Ivo List62022712020-11-27 07:24:36 -0800716 "@remote_java_tools_test//:WORKSPACE",
717 "@remote_java_tools_test_darwin//:WORKSPACE",
718 "@remote_java_tools_test_linux//:WORKSPACE",
719 "@remote_java_tools_test_windows//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800720 "@remote_java_tools_windows_for_testing//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800721 "@remotejdk11_linux_aarch64_for_testing//:WORKSPACE",
722 "@remotejdk11_linux_for_testing//:WORKSPACE",
Jason Furmanek04e073e2020-05-28 05:48:09 -0700723 "@remotejdk11_linux_ppc64le_for_testing//:WORKSPACE",
Ruixin Baoe14a6f22020-08-21 06:17:24 -0700724 "@remotejdk11_linux_s390x_for_testing//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800725 "@remotejdk11_macos_for_testing//:WORKSPACE",
726 "@remotejdk11_win_for_testing//:WORKSPACE",
Jonathan Perry94505522020-10-07 12:45:34 -0700727 "@remotejdk15_linux_for_testing//:WORKSPACE",
728 "@remotejdk15_macos_for_testing//:WORKSPACE",
729 "@remotejdk15_win_for_testing//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800730 "@rules_cc//:WORKSPACE",
731 "@rules_java//:WORKSPACE",
732 "@rules_pkg//:WORKSPACE",
733 "@rules_proto//:WORKSPACE",
734 "@rules_python//:WORKSPACE",
735 ],
736)