blob: 78fb5e18d97534c33d7fcb0621c8c8ace2469e3c [file] [log] [blame]
iirinad4651e82019-03-15 03:15:37 -07001package(default_visibility = ["//visibility:public"])
Ivo Listbe0f07e2020-10-07 12:14:13 -07002
Klaus Aehligd0137212019-11-15 00:45:13 -08003exports_files(glob(["**/*.jar"]))
iirinad4651e82019-03-15 03:15:37 -07004
5licenses(["notice"]) # Apache 2.0
6
iirinaf5a6ee12019-07-23 02:02:24 -07007load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_proto_library")
Yannic Bonenberger38fb90c2019-08-23 02:34:28 -07008load("@rules_proto//proto:defs.bzl", "proto_library")
iirinae8260492019-07-03 05:16:09 -07009
Stephan Wolskif1bbe582019-08-27 00:58:23 -070010SUPRESSED_WARNINGS = select({
11 ":windows": [],
12 "//conditions:default": [
13 "-Wno-error",
14 "-Wno-old-style-cast",
15 ],
16})
17
iirinad4651e82019-03-15 03:15:37 -070018filegroup(
iirinad4651e82019-03-15 03:15:37 -070019 name = "GenClass",
20 srcs = ["java_tools/GenClass_deploy.jar"],
21)
22
iirina3dc59e42019-05-31 06:44:21 -070023filegroup(
24 name = "jacoco_coverage_runner_filegroup",
25 srcs = ["java_tools/JacocoCoverage_jarjar_deploy.jar"],
26)
27
iirinad6545102019-05-21 06:53:59 -070028java_import(
29 name = "jacoco_coverage_runner",
30 jars = ["java_tools/JacocoCoverage_jarjar_deploy.jar"],
31)
32
iirinad4651e82019-03-15 03:15:37 -070033filegroup(
34 name = "JacocoCoverage",
35 srcs = ["java_tools/JacocoCoverage_jarjar_deploy.jar"],
36)
37
38filegroup(
39 name = "JavaBuilder",
40 srcs = ["java_tools/JavaBuilder_deploy.jar"],
41)
42
43filegroup(
44 name = "Runner",
45 srcs = ["java_tools/Runner_deploy.jar"],
46)
47
48filegroup(
49 name = "VanillaJavaBuilder",
50 srcs = ["java_tools/VanillaJavaBuilder_deploy.jar"],
51)
52
53filegroup(
54 name = "SingleJar",
55 srcs = ["java_tools/bazel-singlejar_deploy.jar"],
56)
57
58filegroup(
iirinad4651e82019-03-15 03:15:37 -070059 name = "Turbine",
60 srcs = ["java_tools/turbine_deploy.jar"],
61)
62
63filegroup(
64 name = "TurbineDirect",
65 srcs = ["java_tools/turbine_direct_binary_deploy.jar"],
66)
67
68filegroup(
69 name = "javac_jar",
70 srcs = ["java_tools/javac-9+181-r4173-1.jar"],
71)
72
73filegroup(
74 name = "jdk_compiler_jar",
75 srcs = ["java_tools/jdk_compiler.jar"],
76)
77
78filegroup(
79 name = "java_compiler_jar",
80 srcs = ["java_tools/java_compiler.jar"],
81)
82
iirina4e001992019-04-26 04:55:47 -070083java_import(
84 name = "jacoco-agent",
iirinac9522f92019-05-28 02:18:58 -070085 jars = ["java_tools/third_party/java/jacoco/org.jacoco.agent-0.8.3.jar"],
86 srcjar = "java_tools/third_party/java/jacoco/org.jacoco.agent-0.8.3-src.jar",
iirina4e001992019-04-26 04:55:47 -070087)
88
89java_import(
90 name = "jacoco-core",
iirinac9522f92019-05-28 02:18:58 -070091 jars = ["java_tools/third_party/java/jacoco/org.jacoco.core-0.8.3.jar"],
92 srcjar = "java_tools/third_party/java/jacoco/org.jacoco.core-0.8.3-src.jar",
iirina4e001992019-04-26 04:55:47 -070093 exports = [
94 ":asm",
95 ":asm-commons",
96 ":asm-tree",
97 ],
98)
99
100filegroup(
101 name = "jacoco-core-jars",
iirinac9522f92019-05-28 02:18:58 -0700102 srcs = ["java_tools/third_party/java/jacoco/org.jacoco.core-0.8.3.jar"],
iirina4e001992019-04-26 04:55:47 -0700103)
104
105java_import(
106 name = "jacoco-report",
iirinac9522f92019-05-28 02:18:58 -0700107 jars = ["java_tools/third_party/java/jacoco/org.jacoco.report-0.8.3.jar"],
108 srcjar = "java_tools/third_party/java/jacoco/org.jacoco.report-sources.jar",
iirina4e001992019-04-26 04:55:47 -0700109 exports = [
iirina4e001992019-04-26 04:55:47 -0700110 ":asm",
iirinab0317492019-04-29 09:26:43 -0700111 ":jacoco-core",
iirina4e001992019-04-26 04:55:47 -0700112 ],
113)
114
115java_import(
116 name = "bazel-jacoco-agent",
iirinac9522f92019-05-28 02:18:58 -0700117 jars = ["java_tools/third_party/java/jacoco/jacocoagent-0.8.3.jar"],
iirina4e001992019-04-26 04:55:47 -0700118)
119
120java_import(
121 name = "bazel-jacoco-agent-neverlink",
iirinac9522f92019-05-28 02:18:58 -0700122 jars = ["java_tools/third_party/java/jacoco/jacocoagent-0.8.3.jar"],
iirina4e001992019-04-26 04:55:47 -0700123 neverlink = 1,
124)
125
126java_import(
127 name = "asm",
Ivo List7cc85772020-11-04 06:03:48 -0800128 jars = ["java_tools/third_party/java/jacoco/asm-8.0.jar"],
129 srcjar = "java_tools/third_party/java/jacoco/asm-8.0-sources.jar",
iirina4e001992019-04-26 04:55:47 -0700130)
131
132java_import(
133 name = "asm-commons",
Ivo List7cc85772020-11-04 06:03:48 -0800134 jars = ["java_tools/third_party/java/jacoco/asm-commons-8.0.jar"],
135 srcjar = "java_tools/third_party/java/jacoco/asm-commons-8.0-sources.jar",
iirina4e001992019-04-26 04:55:47 -0700136 runtime_deps = [":asm-tree"],
137)
138
139java_import(
140 name = "asm-tree",
Ivo List7cc85772020-11-04 06:03:48 -0800141 jars = ["java_tools/third_party/java/jacoco/asm-tree-8.0.jar"],
142 srcjar = "java_tools/third_party/java/jacoco/asm-tree-8.0-sources.jar",
iirina4e001992019-04-26 04:55:47 -0700143 runtime_deps = [":asm"],
144)
145
iirinad4651e82019-03-15 03:15:37 -0700146config_setting(
iirinad4651e82019-03-15 03:15:37 -0700147 name = "windows",
Ivo Liste68b1e32020-11-12 08:28:55 -0800148 constraint_values = ["@platforms//os:windows"],
iirinad4651e82019-03-15 03:15:37 -0700149)
150
iirinae4ac6162019-04-08 01:37:20 -0700151config_setting(
152 name = "freebsd",
Ivo Liste68b1e32020-11-12 08:28:55 -0800153 constraint_values = ["@platforms//os:freebsd"],
iirinae4ac6162019-04-08 01:37:20 -0700154 visibility = ["//visibility:public"],
155)
156
Googler5e53b152020-07-06 17:38:14 -0700157config_setting(
158 name = "openbsd",
Ivo Liste68b1e32020-11-12 08:28:55 -0800159 constraint_values = ["@platforms//os:openbsd"],
Googler5e53b152020-07-06 17:38:14 -0700160 visibility = ["//visibility:public"],
161)
162
Yun Peng2bdd3282019-07-23 05:46:01 -0700163cc_library(
164 name = "malloc",
165)
166
iirinad4651e82019-03-15 03:15:37 -0700167cc_binary(
168 name = "ijar_cc_binary",
169 srcs = [
170 "java_tools/ijar/classfile.cc",
171 "java_tools/ijar/ijar.cc",
172 ],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700173 copts = SUPRESSED_WARNINGS,
Yun Peng2bdd3282019-07-23 05:46:01 -0700174 # Remove dependency on @bazel_tools//tools/cpp:malloc, which avoid /Iexternal/tools being used
175 # in compiling actions.
176 malloc = ":malloc",
iirinad4651e82019-03-15 03:15:37 -0700177 deps = [":zip"],
178)
179
180cc_library(
181 name = "zip",
182 srcs = [
183 "java_tools/ijar/zip.cc",
184 ] + select({
185 ":windows": [
186 "java_tools/ijar/mapped_file_windows.cc",
187 ],
188 "//conditions:default": [
189 "java_tools/ijar/mapped_file_unix.cc",
190 ],
191 }),
192 hdrs = [
193 "java_tools/ijar/common.h",
194 "java_tools/ijar/mapped_file.h",
195 "java_tools/ijar/zip.h",
196 ],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700197 copts = SUPRESSED_WARNINGS,
iirinab0317492019-04-29 09:26:43 -0700198 include_prefix = "third_party",
199 strip_include_prefix = "java_tools",
iirinad4651e82019-03-15 03:15:37 -0700200 deps = [
201 ":platform_utils",
202 ":zlib_client",
203 ] + select({
204 ":windows": [
205 ":errors",
206 ":filesystem",
207 ":logging",
208 ":strings",
209 ],
210 "//conditions:default": [
211 ],
212 }),
iirinad4651e82019-03-15 03:15:37 -0700213)
214
215cc_library(
216 name = "platform_utils",
217 srcs = ["java_tools/ijar/platform_utils.cc"],
218 hdrs = [
219 "java_tools/ijar/common.h",
220 "java_tools/ijar/platform_utils.h",
221 ],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700222 copts = SUPRESSED_WARNINGS,
iirinab0317492019-04-29 09:26:43 -0700223 include_prefix = "third_party",
224 strip_include_prefix = "java_tools",
iirinad4651e82019-03-15 03:15:37 -0700225 visibility = ["//visibility:private"],
226 deps = [
227 ":errors",
228 ":filesystem",
229 ":logging",
230 ],
iirinad4651e82019-03-15 03:15:37 -0700231)
232
233cc_library(
iirinae4ac6162019-04-08 01:37:20 -0700234 name = "cpp_util",
235 hdrs = [
236 "java_tools/src/main/cpp/util/errors.h",
237 "java_tools/src/main/cpp/util/file.h",
238 "java_tools/src/main/cpp/util/file_platform.h",
239 "java_tools/src/main/cpp/util/md5.h",
240 "java_tools/src/main/cpp/util/numbers.h",
241 "java_tools/src/main/cpp/util/path.h",
242 "java_tools/src/main/cpp/util/path_platform.h",
243 "java_tools/src/main/cpp/util/port.h",
244 ],
iirinab0317492019-04-29 09:26:43 -0700245 strip_include_prefix = "java_tools",
iirinae4ac6162019-04-08 01:37:20 -0700246 visibility = ["//visibility:public"],
247 deps = [
248 ":blaze_exit_code",
249 ":errors",
250 ":filesystem",
251 ":md5",
252 ":numbers",
253 ":port",
254 ":strings",
255 ],
iirinae4ac6162019-04-08 01:37:20 -0700256)
257
258cc_library(
259 name = "md5",
260 srcs = ["java_tools/src/main/cpp/util/md5.cc"],
261 hdrs = ["java_tools/src/main/cpp/util/md5.h"],
262 strip_include_prefix = "java_tools",
263)
264
265cc_library(
266 name = "numbers",
267 srcs = ["java_tools/src/main/cpp/util/numbers.cc"],
268 hdrs = ["java_tools/src/main/cpp/util/numbers.h"],
iirinae4ac6162019-04-08 01:37:20 -0700269 strip_include_prefix = "java_tools",
iirinab0317492019-04-29 09:26:43 -0700270 deps = [":strings"],
iirinae4ac6162019-04-08 01:37:20 -0700271)
272
273cc_library(
iirinad4651e82019-03-15 03:15:37 -0700274 name = "filesystem",
275 srcs = [
276 "java_tools/src/main/cpp/util/file.cc",
277 "java_tools/src/main/cpp/util/path.cc",
278 ] + select({
279 ":windows": [
280 "java_tools/src/main/cpp/util/file_windows.cc",
281 "java_tools/src/main/cpp/util/path_windows.cc",
282 ],
283 "//conditions:default": [
284 "java_tools/src/main/cpp/util/file_posix.cc",
285 "java_tools/src/main/cpp/util/path_posix.cc",
286 ],
287 }),
288 hdrs = [
289 "java_tools/src/main/cpp/util/file.h",
290 "java_tools/src/main/cpp/util/file_platform.h",
291 "java_tools/src/main/cpp/util/path.h",
292 "java_tools/src/main/cpp/util/path_platform.h",
293 ],
iirinab0317492019-04-29 09:26:43 -0700294 strip_include_prefix = "java_tools",
iirinad4651e82019-03-15 03:15:37 -0700295 deps = [
296 ":blaze_exit_code",
297 ":errors",
298 ":logging",
299 ":strings",
300 ] + select({
301 ":windows": [":lib-file"],
302 "//conditions:default": [],
303 }),
iirinad4651e82019-03-15 03:15:37 -0700304)
305
306cc_library(
307 name = "lib-file",
iirinaf5a6ee12019-07-23 02:02:24 -0700308 srcs = [
309 "java_tools/src/main/native/windows/file.cc",
310 "java_tools/src/main/native/windows/util.cc",
311 ],
312 hdrs = [
313 "java_tools/src/main/native/windows/file.h",
314 "java_tools/src/main/native/windows/util.h",
315 ],
iirinad4651e82019-03-15 03:15:37 -0700316 strip_include_prefix = "java_tools",
317)
318
319cc_library(
iirinad4651e82019-03-15 03:15:37 -0700320 name = "errors",
321 srcs = select({
322 ":windows": ["java_tools/src/main/cpp/util/errors_windows.cc"],
323 "//conditions:default": ["java_tools/src/main/cpp/util/errors_posix.cc"],
324 }),
325 hdrs = ["java_tools/src/main/cpp/util/errors.h"],
iirinab0317492019-04-29 09:26:43 -0700326 strip_include_prefix = "java_tools",
iirinad4651e82019-03-15 03:15:37 -0700327 deps = [
328 ":logging",
329 ":port",
330 ":strings",
331 ],
iirinad4651e82019-03-15 03:15:37 -0700332)
333
334cc_library(
335 name = "strings",
336 srcs = ["java_tools/src/main/cpp/util/strings.cc"],
337 hdrs = ["java_tools/src/main/cpp/util/strings.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700338 copts = SUPRESSED_WARNINGS,
iirinad4651e82019-03-15 03:15:37 -0700339 # Automatically propagate the symbol definition to rules depending on this.
340 defines = [
341 "BLAZE_OPENSOURCE",
342 ],
iirinad4651e82019-03-15 03:15:37 -0700343 strip_include_prefix = "java_tools",
iirinab0317492019-04-29 09:26:43 -0700344 deps = [":blaze_exit_code"],
iirinad4651e82019-03-15 03:15:37 -0700345)
346
347cc_library(
348 name = "blaze_exit_code",
349 hdrs = ["java_tools/src/main/cpp/util/exit_code.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700350 copts = SUPRESSED_WARNINGS,
iirinad4651e82019-03-15 03:15:37 -0700351 strip_include_prefix = "java_tools",
352)
353
iirinad4651e82019-03-15 03:15:37 -0700354cc_library(
355 name = "port",
356 srcs = ["java_tools/src/main/cpp/util/port.cc"],
357 hdrs = ["java_tools/src/main/cpp/util/port.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700358 copts = SUPRESSED_WARNINGS,
iirinad4651e82019-03-15 03:15:37 -0700359 strip_include_prefix = "java_tools",
360)
361
362cc_library(
363 name = "logging",
364 srcs = ["java_tools/src/main/cpp/util/logging.cc"],
365 hdrs = ["java_tools/src/main/cpp/util/logging.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700366 copts = SUPRESSED_WARNINGS,
iirinab0317492019-04-29 09:26:43 -0700367 strip_include_prefix = "java_tools",
iirinad4651e82019-03-15 03:15:37 -0700368 deps = [
369 ":blaze_exit_code",
370 ":strings",
371 ],
iirinad4651e82019-03-15 03:15:37 -0700372)
373
374cc_library(
375 name = "zlib_client",
376 srcs = ["java_tools/ijar/zlib_client.cc"],
377 hdrs = [
378 "java_tools/ijar/common.h",
379 "java_tools/ijar/zlib_client.h",
380 ],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700381 copts = SUPRESSED_WARNINGS,
iirinad4651e82019-03-15 03:15:37 -0700382 include_prefix = "third_party",
iirinab0317492019-04-29 09:26:43 -0700383 strip_include_prefix = "java_tools",
384 deps = ["//java_tools/zlib"],
iirinad4651e82019-03-15 03:15:37 -0700385)
iirinae4ac6162019-04-08 01:37:20 -0700386
387##################### singlejar
388
389cc_binary(
iirinaebdbdcd2019-04-09 04:43:08 -0700390 name = "singlejar_cc_bin",
iirinae4ac6162019-04-08 01:37:20 -0700391 srcs = [
392 "java_tools/src/tools/singlejar/singlejar_main.cc",
393 ],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700394 copts = SUPRESSED_WARNINGS,
iirinae4ac6162019-04-08 01:37:20 -0700395 linkopts = select({
396 ":freebsd": ["-lm"],
Googler5e53b152020-07-06 17:38:14 -0700397 ":openbsd": ["-lm"],
iirinae4ac6162019-04-08 01:37:20 -0700398 "//conditions:default": [],
399 }),
400 linkstatic = 1,
Yun Peng2bdd3282019-07-23 05:46:01 -0700401 # Remove dependency on @bazel_tools//tools/cpp:malloc, which avoid /Iexternal/tools being used
402 # in compiling actions.
403 malloc = ":malloc",
iirinae4ac6162019-04-08 01:37:20 -0700404 visibility = ["//visibility:public"],
405 deps = [
406 ":options",
407 ":output_jar",
408 "//java_tools/zlib",
409 ],
410)
411
412cc_binary(
413 name = "singlejar_local",
414 srcs = [
415 "java_tools/src/tools/singlejar/singlejar_local_main.cc",
416 ],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700417 copts = SUPRESSED_WARNINGS,
iirinae4ac6162019-04-08 01:37:20 -0700418 linkopts = select({
419 ":freebsd": ["-lm"],
Googler5e53b152020-07-06 17:38:14 -0700420 ":openbsd": ["-lm"],
iirinae4ac6162019-04-08 01:37:20 -0700421 "//conditions:default": [],
422 }),
423 linkstatic = 1,
424 visibility = ["//visibility:public"],
425 deps = [
426 ":combiners",
427 ":desugar_checking",
428 ":options",
429 ":output_jar",
430 "//java_tools/zlib",
431 ],
432)
433
434cc_library(
435 name = "combiners",
436 srcs = [
437 "java_tools/src/tools/singlejar/combiners.cc",
iirinaebdbdcd2019-04-09 04:43:08 -0700438 ],
439 hdrs = [
440 "java_tools/src/tools/singlejar/combiners.h",
iirinae4ac6162019-04-08 01:37:20 -0700441 ":transient_bytes",
iirinae4ac6162019-04-08 01:37:20 -0700442 ],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700443 copts = SUPRESSED_WARNINGS,
iirinae4ac6162019-04-08 01:37:20 -0700444 strip_include_prefix = "java_tools",
445 deps = [
446 "//java_tools/zlib",
447 ],
448)
449
450proto_library(
iirinab0317492019-04-29 09:26:43 -0700451 name = "desugar_deps_proto",
452 srcs = ["java_tools/src/main/protobuf/desugar_deps.proto"],
iirinae4ac6162019-04-08 01:37:20 -0700453)
454
455cc_proto_library(
456 name = "desugar_deps_cc_proto",
457 deps = [":desugar_deps_proto"],
458)
459
460cc_library(
461 name = "desugar_checking",
462 srcs = ["java_tools/src/tools/singlejar/desugar_checking.cc"],
463 hdrs = ["java_tools/src/tools/singlejar/desugar_checking.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700464 copts = SUPRESSED_WARNINGS,
iirinae4ac6162019-04-08 01:37:20 -0700465 strip_include_prefix = "java_tools",
466 deps = [
467 ":combiners",
468 ":desugar_deps_cc_proto",
469 ],
470)
471
472cc_library(
473 name = "diag",
474 hdrs = ["java_tools/src/tools/singlejar/diag.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700475 copts = SUPRESSED_WARNINGS,
iirinae4ac6162019-04-08 01:37:20 -0700476 strip_include_prefix = "java_tools",
477 visibility = ["//visibility:private"],
478)
479
480cc_library(
481 name = "singlejar_port",
482 hdrs = ["java_tools/src/tools/singlejar/port.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700483 copts = SUPRESSED_WARNINGS,
iirinae4ac6162019-04-08 01:37:20 -0700484 strip_include_prefix = "java_tools",
485 visibility = ["//visibility:private"],
486)
487
488cc_library(
489 name = "mapped_file",
iirinaebdbdcd2019-04-09 04:43:08 -0700490 srcs = ["java_tools/src/tools/singlejar/mapped_file.cc"],
491 hdrs = ["java_tools/src/tools/singlejar/mapped_file.h"] +
iirinab0317492019-04-29 09:26:43 -0700492 select({
493 ":windows": ["java_tools/src/tools/singlejar/mapped_file_windows.inc"],
494 "//conditions:default": ["java_tools/src/tools/singlejar/mapped_file_posix.inc"],
495 }),
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700496 copts = SUPRESSED_WARNINGS,
iirinae4ac6162019-04-08 01:37:20 -0700497 strip_include_prefix = "java_tools",
iirinab0317492019-04-29 09:26:43 -0700498 visibility = ["//visibility:private"],
iirinae4ac6162019-04-08 01:37:20 -0700499 deps = [
iirinab0317492019-04-29 09:26:43 -0700500 ":cpp_util",
iirinae4ac6162019-04-08 01:37:20 -0700501 ":diag",
502 ":singlejar_port",
iirinae4ac6162019-04-08 01:37:20 -0700503 ],
504)
505
506cc_library(
507 name = "input_jar",
508 srcs = [
509 "java_tools/src/tools/singlejar/input_jar.cc",
510 ],
511 hdrs = [
512 "java_tools/src/tools/singlejar/input_jar.h",
513 "java_tools/src/tools/singlejar/zip_headers.h",
514 ],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700515 copts = SUPRESSED_WARNINGS,
iirinab0317492019-04-29 09:26:43 -0700516 strip_include_prefix = "java_tools",
iirinae4ac6162019-04-08 01:37:20 -0700517 deps = [
518 ":diag",
519 ":mapped_file",
520 ],
iirinae4ac6162019-04-08 01:37:20 -0700521)
522
523cc_library(
524 name = "options",
525 srcs = [
526 "java_tools/src/tools/singlejar/options.cc",
527 "java_tools/src/tools/singlejar/options.h",
528 ],
529 hdrs = ["java_tools/src/tools/singlejar/options.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700530 copts = SUPRESSED_WARNINGS,
iirinab0317492019-04-29 09:26:43 -0700531 strip_include_prefix = "java_tools",
iirinae4ac6162019-04-08 01:37:20 -0700532 deps = [
533 ":diag",
534 ":token_stream",
535 ],
iirinae4ac6162019-04-08 01:37:20 -0700536)
537
538cc_library(
539 name = "output_jar",
540 srcs = [
541 "java_tools/src/tools/singlejar/output_jar.cc",
542 "java_tools/src/tools/singlejar/output_jar.h",
543 ":zip_headers",
544 ],
545 hdrs = ["java_tools/src/tools/singlejar/output_jar.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700546 copts = SUPRESSED_WARNINGS,
iirinab0317492019-04-29 09:26:43 -0700547 strip_include_prefix = "java_tools",
iirinae4ac6162019-04-08 01:37:20 -0700548 deps = [
549 ":combiners",
iirinab0317492019-04-29 09:26:43 -0700550 ":cpp_util",
iirinae4ac6162019-04-08 01:37:20 -0700551 ":diag",
552 ":input_jar",
553 ":mapped_file",
554 ":options",
555 ":singlejar_port",
iirinae4ac6162019-04-08 01:37:20 -0700556 "//java_tools/zlib",
557 ],
iirinae4ac6162019-04-08 01:37:20 -0700558)
559
560cc_library(
561 name = "token_stream",
562 hdrs = ["java_tools/src/tools/singlejar/token_stream.h"],
Stephan Wolskif1bbe582019-08-27 00:58:23 -0700563 copts = SUPRESSED_WARNINGS,
iirinae4ac6162019-04-08 01:37:20 -0700564 strip_include_prefix = "java_tools",
iirinaf5a6ee12019-07-23 02:02:24 -0700565 deps = [
566 ":diag",
567 ":filesystem",
568 ],
iirinae4ac6162019-04-08 01:37:20 -0700569)
570
571filegroup(
572 name = "transient_bytes",
573 srcs = [
574 "java_tools/src/tools/singlejar/diag.h",
575 "java_tools/src/tools/singlejar/transient_bytes.h",
576 "java_tools/src/tools/singlejar/zlib_interface.h",
577 ":zip_headers",
578 ],
579)
580
581filegroup(
582 name = "zip_headers",
583 srcs = ["java_tools/src/tools/singlejar/zip_headers.h"],
584)
iirinaf50b8a42019-05-13 07:00:26 -0700585
iirinaf50b8a42019-05-13 07:00:26 -0700586################### Proguard ###################
587java_import(
588 name = "proguard_import",
589 jars = ["java_tools/third_party/java/proguard/proguard.jar"],
590)
591
592java_binary(
593 name = "proguard",
594 main_class = "proguard.ProGuard",
iirinaf50b8a42019-05-13 07:00:26 -0700595 visibility = ["//visibility:public"],
iirinaf5a6ee12019-07-23 02:02:24 -0700596 runtime_deps = [":proguard_import"],
iirinaf50b8a42019-05-13 07:00:26 -0700597)