blob: 5758d38b4cabb297cb37340fd8caa409cb57eb76 [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")
Philipp Wollermann4c558982017-07-27 18:01:12 +02006
Tobias Werth218e8f62018-12-13 04:44:35 -08007exports_files(["jdeps_modules.golden"])
8
Benjamin Peterson9eb19a62020-02-14 09:22:22 -08009md5_cmd = "set -e -o pipefail && %s $(SRCS) | %s | %s > $@"
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010010
Lukacs Berkieb851fe2015-10-19 10:52:31 +000011[genrule(
12 name = "install_base_key-file" + suffix,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010013 srcs = [
kkress73dcff32020-04-06 11:14:48 -070014 "//src/main/java/com/google/devtools/build/lib/bazel:BazelServer_deploy.jar",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010015 "//src/main/cpp:client",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010016 "//src/main/tools:build-runfiles",
17 "//src/main/tools:process-wrapper",
Philipp Wollermann278814b2016-07-15 14:41:54 +000018 "//src/main/tools:linux-sandbox",
Chris Parsons5eb86fe2016-07-21 15:24:55 +000019 "//tools/osx:xcode-locator",
Philipp Wollermann4c558982017-07-27 18:01:12 +020020 ] + embedded_tools_target,
Lukacs Berkieb851fe2015-10-19 10:52:31 +000021 outs = ["install_base_key" + suffix],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010022 cmd = select({
Benjamin Peterson9eb19a62020-02-14 09:22:22 -080023 "//src/conditions:darwin": md5_cmd % ("/sbin/md5", "/sbin/md5", "head -c 32"),
24 "//src/conditions:darwin_x86_64": md5_cmd % ("/sbin/md5", "/sbin/md5", "head -c 32"),
25 "//src/conditions:freebsd": md5_cmd % ("/sbin/md5", "/sbin/md5", "head -c 32"),
26 # We avoid using the `head` tool's `-c` option, since it does not exist
27 # on OpenBSD.
28 "//src/conditions:openbsd": md5_cmd % ("/bin/md5", "/bin/md5", "dd bs=32 count=1"),
29 "//conditions:default": md5_cmd % ("md5sum", "md5sum", "head -c 32"),
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010030 }),
Philipp Wollermann4c558982017-07-27 18:01:12 +020031) for suffix, embedded_tools_target in {
Tobias Werth218e8f62018-12-13 04:44:35 -080032 "_jdk_allmodules": [":embedded_tools_jdk_allmodules"],
33 "_jdk_minimal": [":embedded_tools_jdk_minimal"],
Tobias Werth5d2d06c2019-01-18 05:17:26 -080034 "_dev_jdk": [":embedded_tools_dev_jdk"],
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -070035 "_nojdk": [":embedded_tools_nojdk"],
Lukacs Berkieb851fe2015-10-19 10:52:31 +000036 "_notools": [],
37}.items()]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010038
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000039# Try to grab the java version from the java_toolchain.
Damien Martin-Guillerez4bf2c1a2015-10-02 09:19:18 +000040# Unfortunately, we don't have access to the javac options
41# so we cannot get it from the command-line options.
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000042genquery(
43 name = "java_toolchain_content",
dbabkin35df7152018-06-26 05:47:54 -070044 expression = "kind(java_toolchain, deps(@bazel_tools//tools/jdk:current_java_toolchain))",
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000045 opts = ["--output=xml"],
dbabkin35df7152018-06-26 05:47:54 -070046 scope = ["@bazel_tools//tools/jdk:current_java_toolchain"],
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000047)
48
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000049# Create dummy tools so we can do select to prevent building iOS target on
50# Linux.
51OSX_DUMMY_TARGETS = [
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000052 "src/tools/xcode/realpath/realpath",
53 "src/tools/xcode/stdredirect/StdRedirect.dylib",
54]
55
56[
57 genrule(
58 name = "dummy_darwin_tool_" + name.replace("/", "_"),
59 srcs = [],
60 outs = ["dummy_darwin_tools/" + name],
61 cmd = "touch $@",
62 )
63 for name in OSX_DUMMY_TARGETS
64]
65
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000066filegroup(
67 name = "darwin_tools",
68 srcs = [
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000069 "//src/tools/xcode/realpath:realpath",
Chris Parsons5eb86fe2016-07-21 15:24:55 +000070 "//tools/osx:xcode_locator.m",
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000071 ] + select({
tomlu1a483d42017-11-30 15:08:40 -080072 "//src/conditions:iphonesdk": ["//src/tools/xcode/stdredirect:StdRedirect.dylib"],
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000073 "//conditions:default": [":dummy_darwin_tool_src_tools_xcode_stdredirect_StdRedirect.dylib"],
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000074 }),
75)
76
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000077filegroup(
78 name = "dummy_darwin_tools",
79 srcs = [
80 "dummy_darwin_tool_" + name.replace("/", "_")
81 for name in OSX_DUMMY_TARGETS
82 ],
83)
84
László Csomor5f99fda2017-08-11 09:28:12 +020085py_library(
86 name = "create_embedded_tools_lib",
87 srcs = ["create_embedded_tools_lib.py"],
László Csomor0783b9e2017-08-11 10:28:36 +020088 visibility = ["//:__pkg__"],
László Csomor5f99fda2017-08-11 09:28:12 +020089)
90
Philipp Wollermann4c558982017-07-27 18:01:12 +020091py_binary(
92 name = "create_embedded_tools",
93 srcs = ["create_embedded_tools.py"],
László Csomor5f99fda2017-08-11 09:28:12 +020094 deps = [":create_embedded_tools_lib"],
Philipp Wollermann4c558982017-07-27 18:01:12 +020095)
96
iirinaf4604ba2019-01-16 02:38:07 -080097# The tools Bazel uses to compile Java.
98# TODO(#6316): Gradually remove the targets here.
99JAVA_TOOLS = [
iirinaf4604ba2019-01-16 02:38:07 -0800100 "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:srcs",
iirinaf4604ba2019-01-16 02:38:07 -0800101 "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:embedded_tools",
iirinaba3ebcb2019-03-21 08:02:56 -0700102 "//third_party/jarjar:embedded_build_and_license",
iirinaebdbdcd2019-04-09 04:43:08 -0700103]
iirinaf4604ba2019-01-16 02:38:07 -0800104
Philipp Wollermann4c558982017-07-27 18:01:12 +0200105# TODO(philwo): Clean this up, once a Bazel that can run py_binary and sh_binary
106# in Skylark rules on Windows has been released.
107[filegroup(
108 name = "embedded_tools" + suffix + "_srcs",
iirinaf4604ba2019-01-16 02:38:07 -0800109 srcs = JAVA_TOOLS + [
Tobias Werth218e8f62018-12-13 04:44:35 -0800110 "BUILD.tools",
111 "//tools:embedded_tools_srcs",
112 "//third_party:gpl-srcs",
iirina2d446752019-03-15 09:00:35 -0700113 "//third_party/ijar:embedded_zipper_sources",
114 "//third_party/ijar:zipper",
Tobias Werth218e8f62018-12-13 04:44:35 -0800115 "//third_party/java/j2objc:embedded_tools_srcs",
laszlocsomord93a1462019-11-04 09:14:39 -0800116 "//third_party/py/abseil:srcs",
Tobias Werth218e8f62018-12-13 04:44:35 -0800117 "//third_party/py/concurrent:srcs",
laszlocsomord93a1462019-11-04 09:14:39 -0800118 # TODO(laszlocsomor): delete "//third_party/py/gflags:srcs" after
119 # every script in @bazel_tools was migrated to use Abseil.
Tobias Werth218e8f62018-12-13 04:44:35 -0800120 "//third_party/py/gflags:srcs",
121 "//third_party/py/six:srcs",
122 "//src/conditions:embedded_tools",
Tobias Werth218e8f62018-12-13 04:44:35 -0800123 "//src/tools/android/java/com/google/devtools/build/android:embedded_tools",
124 "//src/tools/launcher:srcs",
Tobias Werth218e8f62018-12-13 04:44:35 -0800125 "//src/main/cpp/util:embedded_tools",
126 "//src/main/native:embedded_tools",
127 "//src/main/protobuf:srcs",
Tobias Werth218e8f62018-12-13 04:44:35 -0800128 "//third_party/def_parser:srcs",
Tobias Werth218e8f62018-12-13 04:44:35 -0800129 "//third_party/zlib:embedded_tools",
130 ] + select({
131 "//src/conditions:darwin": [
132 ":darwin_tools",
133 ],
134 "//src/conditions:darwin_x86_64": [
135 ":darwin_tools",
136 ],
137 "//conditions:default": [
138 ":dummy_darwin_tools",
139 ],
140 }) + select({
141 "//src/conditions:windows": [
142 "//src/tools/launcher:launcher",
143 "//third_party/def_parser:def_parser",
144 ],
145 "//conditions:default": [],
Tobias Werth218e8f62018-12-13 04:44:35 -0800146 }) +
147 jdk,
cushon72141a12018-06-11 08:30:15 -0700148 visibility = [
149 "//src/test:__subpackages__", # For integration tests
150 ],
Tobias Werth218e8f62018-12-13 04:44:35 -0800151) for suffix, jdk in {
Tobias Wertha87451a2019-01-29 07:03:58 -0800152 "_jdk_allmodules": [":embedded_jdk_allmodules_cached"],
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800153 "_jdk_minimal": [":embedded_jdk_minimal_cached"],
Tobias Werth5d2d06c2019-01-18 05:17:26 -0800154 "_dev_jdk": [":embedded_jdk_minimal"],
Tobias Werth218e8f62018-12-13 04:44:35 -0800155 "_nojdk": [],
156}.items()]
cushon72141a12018-06-11 08:30:15 -0700157
Laszlo Csomord784b5f2018-06-20 02:06:58 -0700158rule_size_test(
159 name = "embedded_tools_size_test",
Tobias Werth218e8f62018-12-13 04:44:35 -0800160 src = ":embedded_tools_jdk_allmodules_srcs",
Laszlo Csomord784b5f2018-06-20 02:06:58 -0700161 # WARNING: Only adjust the number in `expect` if you are intentionally
162 # adding or removing embedded tools. Know that the more embedded tools there
163 # are in Bazel, the bigger the binary becomes and the slower Bazel starts.
iirinaebdbdcd2019-04-09 04:43:08 -0700164 expect = 470,
Laszlo Csomord784b5f2018-06-20 02:06:58 -0700165 margin = 5, # percentage
166)
167
cushon72141a12018-06-11 08:30:15 -0700168filegroup(
Tobias Wertha87451a2019-01-29 07:03:58 -0800169 name = "embedded_jdk_allmodules_cached",
cushon72141a12018-06-11 08:30:15 -0700170 srcs = select({
tomlu1a483d42017-11-30 15:08:40 -0800171 "//src/conditions:darwin": [
Philipp Wollermann95048272017-03-17 15:11:58 +0000172 "@openjdk_macos//file",
173 ],
tomlu1a483d42017-11-30 15:08:40 -0800174 "//src/conditions:darwin_x86_64": [
Philipp Wollermann95048272017-03-17 15:11:58 +0000175 "@openjdk_macos//file",
176 ],
tomlu1a483d42017-11-30 15:08:40 -0800177 "//src/conditions:windows": [
pcloudy05c20aa2017-06-29 11:38:30 +0200178 "@openjdk_win//file",
179 ],
Arielle Albonfa7e49f2018-07-31 00:57:54 -0700180 "//src/conditions:linux_aarch64": [
181 "@openjdk_linux_aarch64//file",
182 ],
Philipp Wollermann95048272017-03-17 15:11:58 +0000183 "//conditions:default": [
184 "@openjdk_linux//file",
185 ],
cushon72141a12018-06-11 08:30:15 -0700186 }),
187 visibility = ["//src/test/shell/bazel:__pkg__"],
188)
Damien Martin-Guillerez12997672015-09-03 21:54:08 +0000189
Tobias Werth218e8f62018-12-13 04:44:35 -0800190filegroup(
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800191 name = "embedded_jdk_minimal_cached",
192 srcs = select({
193 "//src/conditions:darwin": [
194 "@openjdk_macos_minimal//file",
195 ],
196 "//src/conditions:darwin_x86_64": [
197 "@openjdk_macos_minimal//file",
198 ],
199 "//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({
215 "//src/conditions:darwin": [
216 "@openjdk_macos_vanilla//file",
217 ],
218 "//src/conditions:darwin_x86_64": [
219 "@openjdk_macos_vanilla//file",
220 ],
221 "//src/conditions:windows": [
222 "@openjdk_win_vanilla//file",
223 ],
224 "//src/conditions:linux_aarch64": [
225 "@openjdk_linux_aarch64_vanilla//file",
226 ],
227 "//conditions:default": [
228 "@openjdk_linux_vanilla//file",
229 ],
230 }),
231 visibility = ["//src/test/shell/bazel:__pkg__"],
232)
233
234sh_binary(
235 name = "minimize_jdk",
236 srcs = ["minimize_jdk.sh"],
237)
238
twerth683922c2018-12-20 05:12:08 -0800239filegroup(
Tobias Werth218e8f62018-12-13 04:44:35 -0800240 name = "embedded_jdk_minimal",
twerth683922c2018-12-20 05:12:08 -0800241 srcs = select({
242 "//src/conditions:windows": [
243 ":embedded_jdk_minimal.zip",
244 ],
245 "//conditions:default": [
246 ":embedded_jdk_minimal.tar.gz",
247 ],
248 }),
249)
250
Tobias Wertha87451a2019-01-29 07:03:58 -0800251filegroup(
252 name = "embedded_jdk_allmodules",
253 srcs = select({
254 "//src/conditions:windows": [
255 ":embedded_jdk_allmodules.zip",
256 ],
257 "//conditions:default": [
258 ":embedded_jdk_allmodules.tar.gz",
259 ],
260 }),
Tobias Werth144912e2019-02-01 10:40:20 -0800261 visibility = ["//src/test/shell/bazel:__pkg__"],
Tobias Wertha87451a2019-01-29 07:03:58 -0800262)
263
twerth683922c2018-12-20 05:12:08 -0800264[genrule(
265 name = "embedded_jdk_minimal" + suffix,
Tobias Werth218e8f62018-12-13 04:44:35 -0800266 srcs = [
267 ":embedded_jdk_vanilla",
268 ":minimize_jdk.sh",
269 ":jdeps_modules.golden",
270 ],
twerth683922c2018-12-20 05:12:08 -0800271 outs = ["minimal_jdk" + suffix],
Tobias Werth218e8f62018-12-13 04:44:35 -0800272 cmd = "$(location :minimize_jdk.sh) $(location :embedded_jdk_vanilla) $(location :jdeps_modules.golden) $(OUTS)",
273 visibility = ["//src/test/shell/bazel:__pkg__"],
twerth683922c2018-12-20 05:12:08 -0800274) for suffix in [
275 ".zip",
276 ".tar.gz",
277]]
Tobias Werth218e8f62018-12-13 04:44:35 -0800278
Tobias Wertha87451a2019-01-29 07:03:58 -0800279[genrule(
280 name = "embedded_jdk_allmodules" + suffix,
281 srcs = [
282 ":embedded_jdk_vanilla",
283 ":minimize_jdk.sh",
284 ":jdeps_modules.golden",
285 ],
286 outs = ["allmodules_jdk" + suffix],
287 cmd = "$(location :minimize_jdk.sh) --allmodules $(location :embedded_jdk_vanilla) $(location :jdeps_modules.golden) $(OUTS)",
288 visibility = ["//src/test/shell/bazel:__pkg__"],
289) for suffix in [
290 ".zip",
291 ".tar.gz",
292]]
293
Philipp Wollermann4c558982017-07-27 18:01:12 +0200294[srcsfile(
295 name = "embedded_tools" + suffix + "_params",
296 srcs = [":embedded_tools" + suffix + "_srcs"],
297 out = "embedded_tools" + suffix + ".params",
298) for suffix in [
Tobias Werth218e8f62018-12-13 04:44:35 -0800299 "_jdk_allmodules",
300 "_jdk_minimal",
Tobias Werth5d2d06c2019-01-18 05:17:26 -0800301 "_dev_jdk",
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700302 "_nojdk",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200303]]
304
Tobias Werth218e8f62018-12-13 04:44:35 -0800305[genrule(
306 name = "embedded_tools" + suffix,
Philipp Wollermann4c558982017-07-27 18:01:12 +0200307 srcs = [
Tobias Werth218e8f62018-12-13 04:44:35 -0800308 ":embedded_tools" + suffix + "_params",
309 ":embedded_tools" + suffix + "_srcs",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200310 ],
Tobias Werth218e8f62018-12-13 04:44:35 -0800311 outs = ["embedded_tools" + suffix + ".zip"],
312 cmd = "$(location :create_embedded_tools) \"$@\" $(location :embedded_tools" + suffix + "_params)",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200313 tools = [":create_embedded_tools"],
Tobias Werth218e8f62018-12-13 04:44:35 -0800314) for suffix in [
315 "_jdk_allmodules",
316 "_jdk_minimal",
Tobias Werth5d2d06c2019-01-18 05:17:26 -0800317 "_dev_jdk",
Tobias Werth218e8f62018-12-13 04:44:35 -0800318 "_nojdk",
319]]
Philipp Wollermann4c558982017-07-27 18:01:12 +0200320
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000321[genrule(
322 name = "package-zip" + suffix,
Philipp Wollermann95048272017-03-17 15:11:58 +0000323 srcs = ([":embedded_tools" + suffix + ".zip"] if embed else []) + [
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000324 # The script assumes that the embedded tools zip (if exists) is the
hlopkoaaf64572019-06-14 02:33:56 -0700325 # first item here, the deploy jar the second, install base key is the
326 # third, and platforms archive is the fourth.
kkress73dcff32020-04-06 11:14:48 -0700327 "//src/main/java/com/google/devtools/build/lib/bazel:BazelServer_deploy.jar",
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000328 "install_base_key" + suffix,
hlopkoaaf64572019-06-14 02:33:56 -0700329 ":platforms_archive",
Googler50712062020-02-05 01:57:11 -0800330 "//src/main/native:target-os-unix-native-lib",
331 "//src/main/native/windows:target-os-native-lib",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100332 "//src/main/tools:build-runfiles",
333 "//src/main/tools:process-wrapper",
Kristina Chodorowb5ecdab2015-03-16 17:55:04 +0000334 "//src/main/tools:jdk-support",
Philipp Wollermann278814b2016-07-15 14:41:54 +0000335 "//src/main/tools:linux-sandbox",
Chris Parsons5eb86fe2016-07-21 15:24:55 +0000336 "//tools/osx:xcode-locator",
jmmv18a0e232019-02-21 07:34:02 -0800337 ] + select({
338 "//src/conditions:windows": [],
339 "//conditions:default": [
340 "//src/main/tools:daemonize",
341 ],
342 }),
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000343 outs = ["package" + suffix + ".zip"],
aldersondrived6145a02020-01-21 08:11:48 -0800344 cmd = "$(location :package_bazel_on_host_platform) $@ " + ("" if embed else "''") + " $(SRCS)",
345 tools = [":package_bazel_on_host_platform"],
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000346) for suffix, embed in [
Tobias Werth218e8f62018-12-13 04:44:35 -0800347 ("_jdk_allmodules", True),
348 ("_jdk_minimal", True),
Tobias Werth5d2d06c2019-01-18 05:17:26 -0800349 ("_dev_jdk", True),
Damien Martin-Guillerez04d46ab2016-04-13 19:27:56 +0000350 ("_notools", False),
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700351 ("_nojdk", True),
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000352]]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100353
hlopkoaaf64572019-06-14 02:33:56 -0700354genrule(
aldersondrived6145a02020-01-21 08:11:48 -0800355 name = "package_bazel_on_host_platform",
356 srcs = ["package-bazel.sh"],
357 outs = ["package-bazel-on-host-platform.sh"],
358 cmd = select({
359 "//src/conditions:openbsd": "cat $(SRCS) | sed -e 's@#!/bin/bash@#!/usr/local/bin/bash@' > $@",
360 "//conditions:default": "cp $(SRCS) $@",
361 }),
362)
363
364genrule(
hlopkoaaf64572019-06-14 02:33:56 -0700365 name = "platforms_archive",
366 srcs = ["@platforms//:srcs"],
367 outs = ["platforms.zip"],
368 # Removing the WORKSPACE file since local_repository creates it no matter what and leaving
369 # it there would make the zip nondeterministic.
370 cmd = "zip -qX $@ $$(echo $(SRCS) | xargs -n 1 | grep -v '.*/WORKSPACE$$' | sort | xargs)",
371)
372
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000373[genrule(
374 name = "bazel-bin" + suffix,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100375 srcs = [
376 "//src/main/cpp:client",
Jakob Buchgraber92931bd2019-07-18 07:38:59 -0700377 "package-zip" + jdk,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100378 ],
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000379 outs = ["bazel" + suffix],
Yun Peng6ffb8e42016-04-14 16:55:02 +0000380 # In msys, a file path without .exe suffix(say foo), refers to a file with .exe
381 # suffix(say foo.exe), if foo.exe exists and foo doesn't. So, on windows, we
382 # need to remove bazel.exe first, so that cat to bazel won't fail.
Jakob Buchgraber92931bd2019-07-18 07:38:59 -0700383 cmd = "rm -f $@; cat $(location //src/main/cpp:client) $(location :package-zip" + jdk + ") > $@ && zip -qA $@",
Tobias Werth218e8f62018-12-13 04:44:35 -0800384 executable = 1,
385 output_to_bindir = 1,
386 visibility = [
387 "//scripts:__pkg__", # For bash completion generation
388 "//scripts/packages:__pkg__", # For installer generation
389 "//src/java:__subpackages__", # For command line reference generation
390 "//src/test:__subpackages__", # For integration tests
391 ],
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800392) for suffix, jdk in [
393 ("-dev", "_jdk_allmodules"),
394 ("", "_jdk_minimal"),
Jakob Buchgraber92931bd2019-07-18 07:38:59 -0700395 ("_jdk_allmodules", "_jdk_allmodules"),
396 ("_jdk_minimal", "_jdk_minimal"),
397 ("_dev_jdk", "_dev_jdk"),
398 ("_notools", "_notools"),
399 ("_nojdk", "_nojdk"),
Tobias Werthfbf8fb92019-01-09 11:22:11 -0800400]]
Tobias Werth218e8f62018-12-13 04:44:35 -0800401
Dmitry Lomov9d40a602016-02-15 16:15:03 +0000402# Build an executable named `bazel.exe`.
403# Works on all platforms but only makes sense on Windows.
404# Workaround for non-configurability of genrule's `outs` attribute.
405[genrule(
406 name = "bazel-bin" + suffix + ".exe",
407 srcs = [":bazel-bin" + suffix],
408 outs = ["bazel" + suffix + ".exe"],
409 cmd = "cp $(location :bazel-bin" + suffix + ") $@",
410 executable = 1,
411 output_to_bindir = 1,
412 visibility = [
413 "//scripts:__pkg__", # For bash completion generation
414 "//scripts/packages:__pkg__", # For installer generation
415 "//src/test:__subpackages__", # For integration tests
416 ],
417) for suffix in [
418 "",
Tobias Werthe7438ae2019-07-02 08:17:44 -0700419 "-dev",
Dmitry Lomov9d40a602016-02-15 16:15:03 +0000420 "_notools",
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700421 "_nojdk",
Dmitry Lomov9d40a602016-02-15 16:15:03 +0000422]]
423
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000424filegroup(
425 name = "srcs",
426 srcs = glob(["**"]) + [
tomlu1a483d42017-11-30 15:08:40 -0800427 "//src/conditions:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000428 "//src/java_tools/buildjar:srcs",
Benjamin Peterson425f9422018-02-09 14:05:17 -0800429 "//src/java_tools/import_deps_checker:srcs",
ulfjack26ad43d2017-08-28 12:30:44 +0200430 "//src/java_tools/junitrunner:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000431 "//src/java_tools/singlejar:srcs",
432 "//src/main/cpp:srcs",
Laszlo Csomor3e023182019-08-01 05:05:09 -0700433 "//src/main/res:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000434 "//src/main/java/com/google/devtools/build/docgen:srcs",
fellyc5c078c2019-07-31 12:05:24 -0700435 "//src/main/java/com/google/devtools/build/lib/actionsketch:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000436 "//src/main/java/com/google/devtools/build/lib:srcs",
philwo45743d02019-06-03 06:13:30 -0700437 "//src/main/java/com/google/devtools/build/lib/includescanning:srcs",
steinmanacf55d82019-05-21 09:49:58 -0700438 "//src/main/java/com/google/devtools/build/lib/network:srcs",
philwo62dd1742019-06-04 05:27:37 -0700439 "//src/main/java/com/google/devtools/build/lib/outputfilter:srcs",
cparsons5d85e752018-06-26 13:47:28 -0700440 "//src/main/java/com/google/devtools/build/skydoc:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000441 "//src/main/java/com/google/devtools/build/skyframe:srcs",
442 "//src/main/java/com/google/devtools/common/options:srcs",
adonovan39f3db22020-02-10 08:49:27 -0800443 "//src/main/java/com/google/devtools/starlark/cmd:srcs",
adonovan459eae72020-04-03 09:42:52 -0700444 "//src/main/java/com/google/devtools/starlark/spelling:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000445 "//src/main/native:srcs",
446 "//src/main/protobuf:srcs",
447 "//src/main/tools:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000448 "//src/test/cpp:srcs",
Googler3e830922017-03-17 17:39:00 +0000449 "//src/test/gen:srcs",
Laszlo Csomor3e023182019-08-01 05:05:09 -0700450 "//src/test/res:srcs",
Laszlo Csomordcc80fb2019-08-09 05:05:21 -0700451 "//src/test/native/windows:srcs",
laurentlb535f58d2019-02-18 10:07:15 -0800452 "//src/test/starlark:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000453 "//src/test/java/com/google/devtools/build/android:srcs",
454 "//src/test/java/com/google/devtools/build/docgen:srcs",
455 "//src/test/java/com/google/devtools/build/lib:srcs",
ruperts9f959c52018-01-04 11:54:02 -0800456 "//src/test/java/com/google/devtools/build/lib/shell:srcs",
cparsons5d85e752018-06-26 13:47:28 -0700457 "//src/test/java/com/google/devtools/build/skydoc:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000458 "//src/test/java/com/google/devtools/build/skyframe:srcs",
459 "//src/test/java/com/google/devtools/common/options:srcs",
adonovan459eae72020-04-03 09:42:52 -0700460 "//src/test/java/com/google/devtools/starlark/spelling:srcs",
Laszlo Csomore78ad832017-06-09 10:45:27 -0400461 "//src/test/py/bazel:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000462 "//src/test/shell:srcs",
ishikhman32268802019-04-25 03:47:24 -0700463 "//src/test/testdata/test_tls_certificate",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000464 "//src/tools/android/java/com/google/devtools/build/android:srcs",
olaolaa5e36ee2018-06-15 08:16:44 -0700465 "//src/tools/execlog:srcs",
Googler1950bf92018-08-28 15:40:05 -0700466 "//src/tools/workspacelog:srcs",
Yun Peng09dd8c02017-07-21 15:57:05 +0200467 "//src/tools/launcher:srcs",
cparsons59373d12019-02-06 13:29:47 -0800468 "//src/tools/skylark/java/com/google/devtools/skylark/common:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000469 "//src/tools/xcode/realpath:srcs",
Sasha Smundak06a12e52016-07-15 17:35:51 +0000470 "//src/tools/singlejar:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000471 "//src/tools/xcode/stdredirect:srcs",
olaola2f3d7df2017-12-05 12:41:19 -0800472 "//src/tools/remote:srcs",
Chris Parsons5eb86fe2016-07-21 15:24:55 +0000473 "//tools/osx:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000474 ],
475 visibility = ["//:__pkg__"],
476)
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000477
478genrule(
479 name = "derived_java_srcs",
480 srcs = [
481 "//src/main/protobuf:dist_jars",
482 "//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:dist_jars",
Googler7e703ec2018-07-16 08:48:39 -0700483 "//src/main/java/com/google/devtools/build/lib/bazel/debug:dist_jars",
Googler94bf0042020-03-05 09:02:03 -0800484 "//src/main/java/com/google/devtools/build/lib/skyframe/proto:dist_jars",
Googler72d62bc2018-05-18 06:59:57 -0700485 "//src/main/java/com/google/devtools/build/lib/skylarkdebug/proto:dist_jars",
cparsons5ece6502019-04-17 10:19:41 -0700486 "//src/main/java/com/google/devtools/build/skydoc/rendering/proto:dist_jars",
janakr65970e52020-02-26 08:25:00 -0800487 "//src/main/java/com/google/devtools/build/skyframe:dist_jars",
Jakob Buchgraber55c5a602017-06-08 23:11:21 +0200488 "@googleapis//:dist_jars",
Ola Rozenfeld930119a2018-08-10 11:04:44 -0700489 "@remoteapis//:dist_jars",
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000490 ],
491 outs = ["derived_java_srcs.zip"],
Klaus Aehlig86c9d942017-06-30 13:41:19 +0200492 cmd = "$(location :combine_derived_java_srcs.sh) $(JAVABASE) $@ $(SRCS)",
cushon849df362018-05-14 01:51:45 -0700493 toolchains = ["@bazel_tools//tools/jdk:current_host_java_runtime"],
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000494 tools = ["combine_derived_java_srcs.sh"],
495 visibility = ["//:__pkg__"],
496)
L?szl? Csomor088f6112017-09-19 17:12:32 +0200497
498test_suite(
499 name = "windows_tests",
500 tags = [
501 "-no_windows",
502 "-slow",
503 ],
504 visibility = ["//visibility:private"],
505)
506
507test_suite(
508 name = "all_windows_tests",
509 tests = [
510 ":windows_tests",
511 "//src/test/cpp:all_windows_tests",
512 "//src/test/java/com/google/devtools/build/android:all_windows_tests",
513 "//src/test/java/com/google/devtools/build/docgen:all_windows_tests",
514 "//src/test/java/com/google/devtools/build/lib:all_windows_tests",
515 "//src/test/java/com/google/devtools/build/skyframe:all_windows_tests",
516 "//src/test/java/com/google/devtools/common/options:all_windows_tests",
Laszlo Csomordcc80fb2019-08-09 05:05:21 -0700517 "//src/test/native/windows:all_windows_tests",
L?szl? Csomor088f6112017-09-19 17:12:32 +0200518 "//src/test/py/bazel:all_windows_tests",
philwo0bc2c7a2020-02-06 04:15:14 -0800519 "//src/test/res:all_windows_tests",
Laszlo Csomora7f202c2018-04-26 07:39:41 -0700520 "//src/test/shell:all_windows_tests",
Jingwen Chen908b8362019-08-09 15:29:12 -0700521 "//src/test/shell/bazel/android:all_windows_tests",
L?szl? Csomor088f6112017-09-19 17:12:32 +0200522 "//src/tools/launcher:all_windows_tests",
Laszlo Csomor2716b032018-10-26 05:23:34 -0700523 "//src/tools/singlejar:all_windows_tests",
László Csomorceefd572017-09-21 16:02:25 +0200524 "//third_party/def_parser:all_windows_tests",
Laszlo Csomordf16c772018-08-09 23:36:39 -0700525 "//tools:all_windows_tests",
L?szl? Csomor088f6112017-09-19 17:12:32 +0200526 ],
527)
tomlu1a483d42017-11-30 15:08:40 -0800528
529# config_setting alias left here because bazel-only third_party code is pointing to it
530alias(
531 name = "windows",
532 actual = "//src/conditions:windows",
533 visibility = ["//visibility:public"],
534)
iirina7aace9c2019-03-18 05:41:55 -0700535
536sh_binary(
537 name = "zip_files",
538 srcs = ["zip_files.sh"],
539 visibility = ["//visibility:public"],
540)
541
542sh_binary(
543 name = "merge_zip_files",
544 srcs = ["merge_zip_files.sh"],
545 visibility = ["//visibility:public"],
546)
iirina8df893a2019-03-25 09:34:51 -0700547
iirina93e80732019-04-16 02:07:40 -0700548JAVA_TOOLS_DEPLOY_JARS = [
549 "//src/java_tools/buildjar:JavaBuilder_deploy.jar",
550 "//src/java_tools/buildjar:VanillaJavaBuilder_deploy.jar",
551 "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:GenClass_deploy.jar",
552 "//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac:turbine_deploy.jar",
553 "//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine:turbine_direct_binary_deploy.jar",
554 "//src/java_tools/junitrunner/java/com/google/testing/coverage:JacocoCoverage_jarjar_deploy.jar",
iirina93e80732019-04-16 02:07:40 -0700555 "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:Runner_deploy.jar",
556 "//third_party/jarjar:jarjar_command_deploy.jar",
557] + select({
558 "//src/conditions:arm": ["//src/java_tools/singlejar/java/com/google/devtools/build/singlejar:bazel-singlejar_deploy.jar"],
559 "//conditions:default": [],
560})
561
elenairina692480a2020-02-18 02:42:26 -0800562JAVA_VERSIONS = ("11", "12")
iirina8df893a2019-03-25 09:34:51 -0700563
iirinaa6e92602019-05-13 06:20:12 -0700564[
565 genrule(
566 name = "jars_java_tools_java" + java_version + "_zip",
567 srcs = JAVA_TOOLS_DEPLOY_JARS + [
568 "@java_tools_langtools_javac" + java_version + "//:jdk_compiler_jar",
569 "@java_tools_langtools_javac" + java_version + "//:java_compiler_jar",
570 "@java_tools_langtools_javac" + java_version + "//:javac_jar",
571 ],
572 outs = ["jars_java_tools_java" + java_version + ".zip"],
573 cmd = "zip -qjX $@ $$(echo $(SRCS) | sort)",
574 visibility = ["//visibility:private"],
575 )
576 for java_version in JAVA_VERSIONS
577]
iirina93e80732019-04-16 02:07:40 -0700578
579[
580 genrule(
581 name = "java_tools_dist_java" + java_version,
582 srcs = [
583 "//src/java_tools/buildjar:srcs",
584 "//src/java_tools/junitrunner:srcs",
585 "//src/java_tools/singlejar:srcs",
586 "//src/tools/singlejar:embedded_java_tools",
Lukacs T. Berki6362c2d2019-04-26 07:25:29 -0700587 "//third_party/checker_framework_dataflow:srcs",
588 "//third_party/checker_framework_javacutil:srcs",
iirina93e80732019-04-16 02:07:40 -0700589 "//third_party/jarjar:srcs",
590 "//third_party/ijar:transitive_sources",
iirina6403fff2019-05-14 08:03:44 -0700591 "//third_party/java/jacoco:transitive_sources",
592 "//third_party/java/proguard:srcs",
iirina93e80732019-04-16 02:07:40 -0700593 "@java_tools_langtools_javac" + java_version + "//:srcs",
594 ],
595 outs = ["java_tools_dist_javac" + java_version + ".zip"],
596 cmd = "zip -qXr $@ $$(echo $(SRCS) | sort)",
597 output_to_bindir = 1,
iirina6403fff2019-05-14 08:03:44 -0700598 visibility = ["//src/test/shell/bazel:__pkg__"],
iirina93e80732019-04-16 02:07:40 -0700599 )
600 for java_version in JAVA_VERSIONS
601]
602
603[
604 # Targets used by the java_tools_binaries Buildkite pipeline to build the
605 # java_tools_dist_java* zips and upload them to a tmp directory in GCS.
606 sh_binary(
607 name = "upload_java_tools_dist_java" + java_version,
608 srcs = ["upload_java_tools.sh"],
609 args = [
610 "--java_tools_zip",
611 "src/java_tools_dist_javac" + java_version + ".zip",
612 "--gcs_java_tools_dir",
iirinadead8522019-04-17 00:41:54 -0700613 "tmp/sources",
iirina93e80732019-04-16 02:07:40 -0700614 "--java_version",
615 java_version,
616 "--platform",
617 ] + select({
618 "//src/conditions:darwin": ["darwin"],
619 "//src/conditions:darwin_x86_64": ["darwin_x86_64"],
620 "//src/conditions:windows": ["windows"],
621 "//src/conditions:linux_x86_64": ["linux"],
622 "//conditions:default": ["unknown"],
623 }),
624 data = [":java_tools_dist_java" + java_version],
625 deps = ["@bazel_tools//tools/bash/runfiles"],
626 )
627 for java_version in JAVA_VERSIONS
628]
629
iirina0eec6932019-06-12 07:48:22 -0700630[
631 # The java_tools releases can have BUILD files that vary depending on the
632 # javac version they embed. Currently the only difference is in the
633 # java_toolchain source version which has to be 12 for javac 12 to be able
634 # to build new Java 12 features.
635 genrule(
636 name = "create_java_tools_build_java" + java_version,
637 srcs = ["//tools/jdk:BUILD.java_tools"],
638 outs = ["remote_java_tools_java" + java_version + "/BUILD"],
639 cmd = "sed 's/JAVA_LANGUAGE_LEVEL/" + java_version + "/g' $< > $@",
640 )
641 for java_version in JAVA_VERSIONS
642]
iirinafbeb0c92019-04-25 07:34:14 -0700643
iirina0eec6932019-06-12 07:48:22 -0700644[
645 genrule(
646 name = "java_tools_java" + java_version + "_build_zip",
647 srcs = ["remote_java_tools_java" + java_version + "/BUILD"],
648 outs = ["java_tools_java_" + java_version + "_build.zip"],
649 cmd = "zip -jX $@ $<",
650 )
651 for java_version in JAVA_VERSIONS
652]
iirinafbeb0c92019-04-25 07:34:14 -0700653
iirina8df893a2019-03-25 09:34:51 -0700654# Builds the remote Java tools archive. Not embedded or used in Bazel, but used
655# by the Java tools release process.
iirina93e80732019-04-16 02:07:40 -0700656[
657 genrule(
iirinafbeb0c92019-04-25 07:34:14 -0700658 name = "java_tools_java" + java_version + "_no_build_zip",
iirina93e80732019-04-16 02:07:40 -0700659 srcs = [
660 ":jars_java_tools_java" + java_version + ".zip",
661 "//src/tools/singlejar:singlejar_transitive_zip",
662 "//third_party/ijar:ijar_transitive_zip",
iirina46d376d2019-04-25 08:46:16 -0700663 "//third_party/java/jacoco:jacoco_jars_zip",
iirinaf50b8a42019-05-13 07:00:26 -0700664 "//third_party/java/proguard:proguard_zip",
iirina93e80732019-04-16 02:07:40 -0700665 ],
iirinafbeb0c92019-04-25 07:34:14 -0700666 outs = ["java_tools_java" + java_version + "_no_build.zip"],
iirina93e80732019-04-16 02:07:40 -0700667 cmd = "$(location //src:merge_zip_files) java_tools $@ $(SRCS)",
668 output_to_bindir = 1,
669 tools = ["//src:merge_zip_files"],
670 visibility = ["//src/test/shell/bazel:__pkg__"],
671 )
672 for java_version in JAVA_VERSIONS
673]
674
675[
iirinafbeb0c92019-04-25 07:34:14 -0700676 genrule(
677 name = "java_tools_java" + java_version + "_zip",
678 srcs = [
679 "java_tools_java" + java_version + "_no_build.zip",
iirina0eec6932019-06-12 07:48:22 -0700680 "java_tools_java_" + java_version + "_build.zip",
iirinafbeb0c92019-04-25 07:34:14 -0700681 ],
682 outs = ["java_tools_java" + java_version + ".zip"],
683 cmd = "$(location //src:merge_zip_files) - $@ $(SRCS)",
684 output_to_bindir = 1,
685 tools = ["//src:merge_zip_files"],
686 visibility = ["//src/test/shell/bazel:__pkg__"],
687 )
688 for java_version in JAVA_VERSIONS
689]
690
691[
iirina93e80732019-04-16 02:07:40 -0700692 # Targets used by the java_tools_binaries Buildkite pipeline to build the
693 # java_tools_java* zips and upload them to a tmp directory in GCS.
694 sh_binary(
695 name = "upload_java_tools_java" + java_version,
696 srcs = ["upload_java_tools.sh"],
697 args = [
iirina93e80732019-04-16 02:07:40 -0700698 "--gcs_java_tools_dir",
699 "tmp/build",
700 "--java_version",
701 java_version,
702 "--platform",
703 ] + select({
704 "//src/conditions:darwin": ["darwin"],
705 "//src/conditions:darwin_x86_64": ["darwin_x86_64"],
706 "//src/conditions:windows": ["windows"],
707 "//src/conditions:linux_x86_64": ["linux"],
708 "//conditions:default": ["unknown"],
709 }),
710 data = [":java_tools_java" + java_version + "_zip"],
711 deps = ["@bazel_tools//tools/bash/runfiles"],
712 )
713 for java_version in JAVA_VERSIONS
714]
iirina8df893a2019-03-25 09:34:51 -0700715
716# Part of the Java tools remote archive. Not embedded or used in Bazel.
717genrule(
718 name = "zlib_zip",
719 srcs = ["//third_party/zlib:embedded_tools"],
720 outs = ["zlib.zip"],
721 cmd = "$(location //src:zip_files) zlib $@ $(SRCS)",
722 tools = ["//src:zip_files"],
iirinae4ac6162019-04-08 01:37:20 -0700723 visibility = [
724 "//src/tools/singlejar:__pkg__",
725 "//third_party/ijar:__pkg__",
726 ],
iirina8df893a2019-03-25 09:34:51 -0700727)
philwo17506af2020-01-28 04:20:39 -0800728
729filegroup(
730 name = "test_repos",
731 srcs = [
732 "@android_tools_for_testing//:WORKSPACE",
Yannic Bonenberger5e571d22020-02-13 07:29:58 -0800733 "@bazel_skylib//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800734 "@bazel_toolchains//:WORKSPACE",
735 "@com_google_protobuf//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800736 "@openjdk11_darwin_archive//:WORKSPACE",
737 "@openjdk11_linux_archive//:WORKSPACE",
738 "@openjdk11_windows_archive//:WORKSPACE",
739 "@openjdk12_darwin_archive//:WORKSPACE",
740 "@openjdk12_linux_archive//:WORKSPACE",
741 "@openjdk12_windows_archive//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800742 "@openjdk_linux_aarch64_minimal//file",
743 "@openjdk_linux_minimal//file",
744 "@openjdk_macos_minimal//file",
745 "@openjdk_win_minimal//file",
746 "@remote_coverage_tools_for_testing//:WORKSPACE",
747 "@remote_java_tools_darwin_for_testing//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800748 "@remote_java_tools_javac11_test_darwin//:WORKSPACE",
749 "@remote_java_tools_javac11_test_linux//:WORKSPACE",
750 "@remote_java_tools_javac11_test_windows//:WORKSPACE",
751 "@remote_java_tools_javac12_test_darwin//:WORKSPACE",
752 "@remote_java_tools_javac12_test_linux//:WORKSPACE",
753 "@remote_java_tools_javac12_test_windows//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800754 "@remote_java_tools_linux_for_testing//:WORKSPACE",
755 "@remote_java_tools_windows_for_testing//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800756 "@remotejdk11_linux_aarch64_for_testing//:WORKSPACE",
757 "@remotejdk11_linux_for_testing//:WORKSPACE",
758 "@remotejdk11_macos_for_testing//:WORKSPACE",
759 "@remotejdk11_win_for_testing//:WORKSPACE",
philwo17506af2020-01-28 04:20:39 -0800760 "@rules_cc//:WORKSPACE",
761 "@rules_java//:WORKSPACE",
762 "@rules_pkg//:WORKSPACE",
763 "@rules_proto//:WORKSPACE",
764 "@rules_python//:WORKSPACE",
765 ],
766)