blob: 9d176220ba10945adf00487c75cbe7034a48b35f [file] [log] [blame]
iirinaa4de4842019-08-08 03:05:51 -07001load("@rules_java//java:defs.bzl", "java_library")
Ivo Listc0809f72020-12-04 06:21:44 -08002load("//src:release_archive.bzl", "release_archive")
iirinaa4de4842019-08-08 03:05:51 -07003
Sasha Smundak06a12e52016-07-15 17:35:51 +00004# Description:
5# singlejar C++ implementation.
6package(default_visibility = ["//src:__subpackages__"])
7
8filegroup(
9 name = "srcs",
10 srcs = glob(["**"]),
11 visibility = ["//src:__pkg__"],
12)
13
iirinae4ac6162019-04-08 01:37:20 -070014SOURCES = [
15 "combiners.cc",
16 "combiners.h",
17 "diag.h",
18 "input_jar.cc",
19 "input_jar.h",
20 "mapped_file.cc",
21 "mapped_file.h",
22 "mapped_file_posix.inc",
23 "mapped_file_windows.inc",
24 "options.cc",
25 "options.h",
26 "output_jar.cc",
27 "output_jar.h",
28 "port.h",
29 "singlejar_main.cc",
30 "token_stream.h",
31 "transient_bytes.h",
32 "zip_headers.h",
33 "zlib_interface.h",
34]
35
Xin Gao33d05f62017-06-21 17:13:23 +020036filegroup(
iirinae4ac6162019-04-08 01:37:20 -070037 name = "embedded_java_tools",
38 srcs = SOURCES + [
39 "//src/main/cpp/util:embedded_java_tools",
Googler5a4a3402023-04-03 09:05:06 -070040 "//src/main/protobuf:desugar_deps_filegroup",
Googlerb9bdcf82023-04-03 09:14:57 -070041 "//third_party/zlib:embedded_tools",
iirinae4ac6162019-04-08 01:37:20 -070042 ],
43 visibility = ["//src:__pkg__"],
44)
45
Ivo Listc0809f72020-12-04 06:21:44 -080046release_archive(
iirinae4ac6162019-04-08 01:37:20 -070047 name = "singlejar_transitive_zip",
Ivo Listc0809f72020-12-04 06:21:44 -080048 package_dir = "java_tools",
49 visibility = ["//src:__pkg__"],
50 deps = [
iirinae4ac6162019-04-08 01:37:20 -070051 ":singlejar_zip",
52 "//src:zlib_zip",
53 "//src/main/cpp/util:cpp_util_with_deps_zip",
54 "//src/main/protobuf:desugar_deps_zip",
55 ],
iirinae4ac6162019-04-08 01:37:20 -070056)
57
Ivo Listc0809f72020-12-04 06:21:44 -080058release_archive(
iirinae4ac6162019-04-08 01:37:20 -070059 name = "singlejar_zip",
Ivo Listd10013d2020-11-25 14:41:16 -080060 srcs = SOURCES,
Ivo Listc0809f72020-12-04 06:21:44 -080061 package_dir = "src/tools/singlejar",
iirinae4ac6162019-04-08 01:37:20 -070062 visibility = ["//visibility:private"],
63)
64
Ivo Listc0809f72020-12-04 06:21:44 -080065release_archive(
Ivo Listd10013d2020-11-25 14:41:16 -080066 name = "singlejar_deploy_zip",
Googlere93a8a22023-03-15 05:38:23 -070067 srcs = [":singlejar_local"],
Ivo Listc0809f72020-12-04 06:21:44 -080068 package_dir = "java_tools/src/tools/singlejar",
Ivo Listd10013d2020-11-25 14:41:16 -080069 visibility = ["//src:__pkg__"],
70)
71
Sasha Smundak57472632016-08-05 20:07:40 +000072cc_binary(
73 name = "singlejar",
74 srcs = [
75 "singlejar_main.cc",
76 ],
Klaus Aehlig9f8d81e2017-06-09 13:34:34 -040077 linkopts = select({
tomlu1a483d42017-11-30 15:08:40 -080078 "//src/conditions:freebsd": ["-lm"],
Googlerebf6a462020-02-10 05:54:03 -080079 "//src/conditions:openbsd": ["-lm"],
Klaus Aehlig9f8d81e2017-06-09 13:34:34 -040080 "//conditions:default": [],
81 }),
Sasha Smundak57472632016-08-05 20:07:40 +000082 linkstatic = 1,
Xin Gao33d05f62017-06-21 17:13:23 +020083 visibility = ["//visibility:public"],
Sasha Smundak57472632016-08-05 20:07:40 +000084 deps = [
85 "options",
86 "output_jar",
87 "//third_party/zlib",
88 ],
89)
90
kmb5f911192018-03-29 15:51:32 -070091cc_binary(
92 name = "singlejar_local",
93 srcs = [
94 "singlejar_local_main.cc",
95 ],
96 linkopts = select({
97 "//src/conditions:freebsd": ["-lm"],
Googlerebf6a462020-02-10 05:54:03 -080098 "//src/conditions:openbsd": ["-lm"],
kmb5f911192018-03-29 15:51:32 -070099 "//conditions:default": [],
100 }),
101 linkstatic = 1,
102 visibility = ["//visibility:public"],
103 deps = [
104 "combiners",
105 "desugar_checking",
106 "options",
107 "output_jar",
108 "//third_party/zlib",
109 ],
110)
111
Sasha Smundak06a12e52016-07-15 17:35:51 +0000112cc_test(
Sasha Smundakde63c6f2016-07-27 17:05:11 +0000113 name = "combiners_test",
114 size = "large",
115 srcs = [
116 "combiners_test.cc",
Sasha Smundakde63c6f2016-07-27 17:05:11 +0000117 ":zip_headers",
118 ":zlib_interface",
119 ],
cushonb28a1aa2022-03-21 16:24:00 -0700120 data = [
121 "data/multi_release.jar",
122 ],
Jakob Buchgraber593c5302019-04-16 10:12:20 -0700123 # Requires at least 5 GiB of memory
124 exec_compatible_with = ["//:highcpu_machine"],
Sasha Smundakde63c6f2016-07-27 17:05:11 +0000125 deps = [
Sasha Smundak3f814d72016-08-09 17:17:57 +0000126 ":combiners",
Sasha Smundak5f35e522016-08-04 14:55:08 +0000127 ":input_jar",
cushonb28a1aa2022-03-21 16:24:00 -0700128 ":test_util",
Sasha Smundakde63c6f2016-07-27 17:05:11 +0000129 "//third_party/zlib",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700130 "@com_google_googletest//:gtest_main",
Sasha Smundakde63c6f2016-07-27 17:05:11 +0000131 ],
132)
133
134cc_test(
kmb5f911192018-03-29 15:51:32 -0700135 name = "desugar_checking_test",
136 srcs = [
Laszlo Csomor8177f5c2018-10-16 05:56:46 -0700137 "desugar_checking_test.cc",
kmb5f911192018-03-29 15:51:32 -0700138 ":zip_headers",
139 ":zlib_interface",
140 ],
141 deps = [
142 ":combiners",
143 ":desugar_checking",
144 ":input_jar",
145 "//third_party/zlib",
146 "@com_google_googletest//:gtest_main",
147 ],
148)
149
150cc_test(
Sasha Smundak07c3fe22016-08-24 13:20:22 +0000151 name = "input_jar_empty_jar_test",
152 srcs = [
153 "input_jar_empty_jar_test.cc",
154 ],
155 data = [
156 "data/empty.zip",
157 ],
158 deps = [
159 ":input_jar",
160 ":test_util",
161 "//src/main/cpp/util",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700162 "@com_google_googletest//:gtest_main",
Sasha Smundak07c3fe22016-08-24 13:20:22 +0000163 ],
164)
165
166cc_test(
Sasha Smundak1e98fff2016-08-03 17:18:02 +0000167 name = "input_jar_preambled_test",
Loo Rong Jie4b53e8f2018-11-02 09:24:43 -0700168 size = "large",
Sasha Smundak1e98fff2016-08-03 17:18:02 +0000169 srcs = [
170 "input_jar_preambled_test.cc",
Sasha Smundak1e98fff2016-08-03 17:18:02 +0000171 ],
172 data = [
173 ":test1",
174 ],
175 deps = [
Sasha Smundak5f35e522016-08-04 14:55:08 +0000176 ":input_jar",
Sasha Smundak28d70942016-08-09 09:20:43 +0000177 ":test_util",
Sasha Smundak1e98fff2016-08-03 17:18:02 +0000178 "//src/main/cpp/util",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700179 "@com_google_googletest//:gtest_main",
Sasha Smundak1e98fff2016-08-03 17:18:02 +0000180 ],
181)
182
183cc_test(
Sasha Smundak06a12e52016-07-15 17:35:51 +0000184 name = "input_jar_scan_jartool_test",
185 size = "large",
186 srcs = [
187 "input_jar_scan_entries_test.h",
188 "input_jar_scan_jartool_test.cc",
Sasha Smundak06a12e52016-07-15 17:35:51 +0000189 ],
Loo Rong Jie4b53e8f2018-11-02 09:24:43 -0700190 copts = select({
191 "//src/conditions:windows": ["-DJAR_TOOL_PATH=\\\"io_bazel/$(JAVABASE)/bin/jar.exe\\\""],
192 "//conditions:default": ["-DJAR_TOOL_PATH=\\\"io_bazel/$(JAVABASE)/bin/jar\\\""],
193 }),
Loo Rong Jie68611b32018-10-15 07:10:41 -0700194 data = ["@bazel_tools//tools/jdk:current_java_runtime"],
Damien Martin-Guillerez57a965b2016-07-25 11:24:14 +0000195 # Timing out, see https://github.com/bazelbuild/bazel/issues/1555
196 tags = ["manual"],
Loo Rong Jie68611b32018-10-15 07:10:41 -0700197 toolchains = ["@bazel_tools//tools/jdk:current_java_runtime"],
Sasha Smundak5f35e522016-08-04 14:55:08 +0000198 deps = [
199 ":input_jar",
Sasha Smundak28d70942016-08-09 09:20:43 +0000200 ":test_util",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700201 "@com_google_googletest//:gtest_main",
Sasha Smundak5f35e522016-08-04 14:55:08 +0000202 ],
Sasha Smundak06a12e52016-07-15 17:35:51 +0000203)
204
205cc_test(
206 name = "input_jar_scan_ziptool_test",
207 size = "large",
208 srcs = [
209 "input_jar_scan_entries_test.h",
210 "input_jar_scan_ziptool_test.cc",
Sasha Smundak06a12e52016-07-15 17:35:51 +0000211 ],
Damien Martin-Guillerez57a965b2016-07-25 11:24:14 +0000212 # Timing out, see https://github.com/bazelbuild/bazel/issues/1555
213 tags = ["manual"],
Sasha Smundak5f35e522016-08-04 14:55:08 +0000214 deps = [
215 ":input_jar",
Sasha Smundak28d70942016-08-09 09:20:43 +0000216 ":test_util",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700217 "@com_google_googletest//:gtest_main",
Sasha Smundak5f35e522016-08-04 14:55:08 +0000218 ],
Sasha Smundak06a12e52016-07-15 17:35:51 +0000219)
220
221cc_test(
222 name = "input_jar_bad_jar_test",
223 srcs = [
224 "input_jar_bad_jar_test.cc",
Sasha Smundak06a12e52016-07-15 17:35:51 +0000225 ],
Sasha Smundak5f35e522016-08-04 14:55:08 +0000226 deps = [
227 ":input_jar",
Sasha Smundak28d70942016-08-09 09:20:43 +0000228 ":test_util",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700229 "@com_google_googletest//:gtest_main",
Sasha Smundak5f35e522016-08-04 14:55:08 +0000230 ],
Sasha Smundak06a12e52016-07-15 17:35:51 +0000231)
232
233cc_test(
Sasha Smundakd3b0ede2016-07-20 09:11:34 +0000234 name = "options_test",
235 srcs = [
236 "options.h",
237 "options_test.cc",
Sasha Smundakd3b0ede2016-07-20 09:11:34 +0000238 ],
239 deps = [
240 ":options",
Liam Miller-Cushonf7ce0472016-12-06 07:23:09 +0000241 ":token_stream",
Sasha Smundak28d70942016-08-09 09:20:43 +0000242 "//src/main/cpp/util",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700243 "@com_google_googletest//:gtest_main",
Sasha Smundakd3b0ede2016-07-20 09:11:34 +0000244 ],
245)
246
Sasha Smundak5733f7e2016-08-30 17:21:18 +0000247sh_test(
248 name = "output_jar_bash_test",
249 srcs = ["output_jar_shell_test.sh"],
Sasha Smundak5733f7e2016-08-30 17:21:18 +0000250 data = [
251 ":singlejar",
Loo Rong Jiea3390702018-07-23 07:38:55 -0700252 "//src/test/shell:bashunit",
253 "@bazel_tools//tools/bash/runfiles",
Sasha Smundak5733f7e2016-08-30 17:21:18 +0000254 ],
255 deps = ["//src/test/shell:bashunit"],
256)
257
Sasha Smundakd3b0ede2016-07-20 09:11:34 +0000258cc_test(
Sasha Smundak57472632016-08-05 20:07:40 +0000259 name = "output_jar_simple_test",
260 srcs = [
261 "output_jar_simple_test.cc",
262 ],
Loo Rong Jie4b53e8f2018-11-02 09:24:43 -0700263 copts = select({
264 "//src/conditions:windows": ["-DJAR_TOOL_PATH=\\\"io_bazel/$(JAVABASE)/bin/jar.exe\\\""],
265 "//conditions:default": ["-DJAR_TOOL_PATH=\\\"io_bazel/$(JAVABASE)/bin/jar\\\""],
266 }),
Sasha Smundak57472632016-08-05 20:07:40 +0000267 data = [
Sasha Smundak92fbef02016-08-10 15:53:11 +0000268 ":data1",
269 ":data2",
Sasha Smundakb01948d2016-08-17 18:20:37 +0000270 ":stored_jar",
Sasha Smundak57472632016-08-05 20:07:40 +0000271 ":test1",
272 ":test2",
Loo Rong Jie68611b32018-10-15 07:10:41 -0700273 "@bazel_tools//tools/jdk:current_java_runtime",
Sasha Smundak57472632016-08-05 20:07:40 +0000274 ],
Loo Rong Jie68611b32018-10-15 07:10:41 -0700275 toolchains = ["@bazel_tools//tools/jdk:current_java_runtime"],
Sasha Smundak57472632016-08-05 20:07:40 +0000276 deps = [
277 ":input_jar",
278 ":options",
279 ":output_jar",
Loo Rong Jie68611b32018-10-15 07:10:41 -0700280 ":port",
Sasha Smundak28d70942016-08-09 09:20:43 +0000281 ":test_util",
Sasha Smundak57472632016-08-05 20:07:40 +0000282 "//src/main/cpp/util",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700283 "@com_google_googletest//:gtest_main",
Sasha Smundak57472632016-08-05 20:07:40 +0000284 ],
285)
286
287cc_test(
Sasha Smundak876d6f62016-07-19 17:34:37 +0000288 name = "token_stream_test",
289 srcs = [
290 "token_stream_test.cc",
Sasha Smundak876d6f62016-07-19 17:34:37 +0000291 ],
Sasha Smundak28d70942016-08-09 09:20:43 +0000292 deps = [
293 ":test_util",
Liam Miller-Cushonf7ce0472016-12-06 07:23:09 +0000294 ":token_stream",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700295 "@com_google_googletest//:gtest_main",
Sasha Smundak28d70942016-08-09 09:20:43 +0000296 ],
Sasha Smundak876d6f62016-07-19 17:34:37 +0000297)
298
299cc_test(
Sasha Smundak0c6cccd2016-07-19 19:52:03 +0000300 name = "transient_bytes_test",
301 size = "large",
302 srcs = [
303 "transient_bytes_test.cc",
Sasha Smundak0c6cccd2016-07-19 19:52:03 +0000304 ":transient_bytes",
305 ":zlib_interface",
306 ],
Damien Martin-Guillerez57a965b2016-07-25 11:24:14 +0000307 # Timing out, see https://github.com/bazelbuild/bazel/issues/1555
308 tags = ["manual"],
Sasha Smundak0c6cccd2016-07-19 19:52:03 +0000309 deps = [
Sasha Smundak5f35e522016-08-04 14:55:08 +0000310 ":input_jar",
Sasha Smundak28d70942016-08-09 09:20:43 +0000311 ":test_util",
Sasha Smundak0c6cccd2016-07-19 19:52:03 +0000312 "//third_party/zlib",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700313 "@com_google_googletest//:gtest_main",
Sasha Smundak0c6cccd2016-07-19 19:52:03 +0000314 ],
315)
316
317cc_test(
Sasha Smundaka66060c2016-07-25 08:26:33 +0000318 name = "zip_headers_test",
319 size = "small",
320 srcs = [
321 "zip_headers_test.cc",
322 ":zip_headers",
323 ],
ccalvarin8e9f4a82018-03-23 08:19:37 -0700324 deps = [
325 "@com_google_googletest//:gtest_main",
326 ],
Sasha Smundaka66060c2016-07-25 08:26:33 +0000327)
328
329cc_test(
Sasha Smundak06a12e52016-07-15 17:35:51 +0000330 name = "zlib_interface_test",
331 srcs = [
332 "zlib_interface_test.cc",
333 ":zlib_interface",
334 ],
335 deps = [
Sasha Smundak06a12e52016-07-15 17:35:51 +0000336 "//third_party/zlib",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700337 "@com_google_googletest//:gtest_main",
Sasha Smundak06a12e52016-07-15 17:35:51 +0000338 ],
339)
340
Sasha Smundak207349e2016-08-23 17:21:47 +0000341sh_test(
342 name = "zip64_test",
343 srcs = ["zip64_test.sh"],
Jakob Buchgraber8fe54792019-04-15 06:26:16 -0700344 args = ["$(JAVABASE)"],
Sasha Smundak207349e2016-08-23 17:21:47 +0000345 data = [
346 ":singlejar",
Loo Rong Jiea3390702018-07-23 07:38:55 -0700347 "//src/test/shell:bashunit",
348 "@bazel_tools//tools/bash/runfiles",
dbabkin35df7152018-06-26 05:47:54 -0700349 "@bazel_tools//tools/jdk:current_java_runtime",
Sasha Smundak207349e2016-08-23 17:21:47 +0000350 ],
Loo Rong Jie68611b32018-10-15 07:10:41 -0700351 toolchains = ["@bazel_tools//tools/jdk:current_java_runtime"],
Sasha Smundak207349e2016-08-23 17:21:47 +0000352 deps = ["//src/test/shell:bashunit"],
353)
354
Sasha Smundakd3b0ede2016-07-20 09:11:34 +0000355cc_library(
Sasha Smundak3f814d72016-08-09 17:17:57 +0000356 name = "combiners",
357 srcs = [
358 "combiners.cc",
359 ":transient_bytes",
360 ":zip_headers",
361 ],
362 hdrs = ["combiners.h"],
kmbf6b8d5e2017-10-12 01:21:26 +0200363 deps = [
kmbf6b8d5e2017-10-12 01:21:26 +0200364 "//third_party/zlib",
365 ],
Sasha Smundak3f814d72016-08-09 17:17:57 +0000366)
367
368cc_library(
kmb5f911192018-03-29 15:51:32 -0700369 name = "desugar_checking",
370 srcs = ["desugar_checking.cc"],
371 hdrs = ["desugar_checking.h"],
372 deps = [
373 ":combiners",
xingao5dcf5482018-06-29 07:35:32 -0700374 "//src/main/protobuf:desugar_deps_cc_proto",
kmb5f911192018-03-29 15:51:32 -0700375 ],
376)
377
378cc_library(
Laszlo Csomorc14b3c62018-03-09 02:11:23 -0800379 name = "diag",
380 hdrs = ["diag.h"],
381 visibility = ["//visibility:private"],
382)
383
384cc_library(
Loo Rong Jie8231cd72018-07-17 03:57:01 -0700385 name = "port",
Loo Rong Jie8231cd72018-07-17 03:57:01 -0700386 hdrs = ["port.h"],
387 visibility = ["//visibility:private"],
388)
389
390cc_library(
Laszlo Csomorc14b3c62018-03-09 02:11:23 -0800391 name = "mapped_file",
Loo Rong Jie27385b12018-08-08 22:52:58 -0700392 srcs = ["mapped_file.cc"] + select({
Laszlo Csomorc14b3c62018-03-09 02:11:23 -0800393 "//src:windows": ["mapped_file_windows.inc"],
394 "//conditions:default": ["mapped_file_posix.inc"],
395 }),
396 hdrs = ["mapped_file.h"],
397 visibility = ["//visibility:private"],
Loo Rong Jie27385b12018-08-08 22:52:58 -0700398 deps = [
399 ":diag",
400 ":port",
Loo Rong Jie0a5ea612019-01-03 06:44:20 -0800401 "//src/main/cpp/util",
Loo Rong Jie27385b12018-08-08 22:52:58 -0700402 ],
Laszlo Csomorc14b3c62018-03-09 02:11:23 -0800403)
404
405cc_library(
Sasha Smundak5f35e522016-08-04 14:55:08 +0000406 name = "input_jar",
407 srcs = [
Sasha Smundak5f35e522016-08-04 14:55:08 +0000408 "input_jar.cc",
Sasha Smundak5f35e522016-08-04 14:55:08 +0000409 ],
410 hdrs = [
411 "input_jar.h",
412 "zip_headers.h",
413 ],
Laszlo Csomorc14b3c62018-03-09 02:11:23 -0800414 deps = [
415 ":diag",
416 ":mapped_file",
417 ],
Sasha Smundak5f35e522016-08-04 14:55:08 +0000418)
419
420cc_library(
Sasha Smundakd3b0ede2016-07-20 09:11:34 +0000421 name = "options",
422 srcs = [
Sasha Smundakd3b0ede2016-07-20 09:11:34 +0000423 "options.cc",
424 "options.h",
Sasha Smundakd3b0ede2016-07-20 09:11:34 +0000425 ],
Sasha Smundak57472632016-08-05 20:07:40 +0000426 hdrs = ["options.h"],
Liam Miller-Cushonf7ce0472016-12-06 07:23:09 +0000427 deps = [
Laszlo Csomorc14b3c62018-03-09 02:11:23 -0800428 ":diag",
Liam Miller-Cushonf7ce0472016-12-06 07:23:09 +0000429 ":token_stream",
430 ],
Sasha Smundak57472632016-08-05 20:07:40 +0000431)
432
433cc_library(
434 name = "output_jar",
435 srcs = [
436 "output_jar.cc",
437 "output_jar.h",
Sasha Smundak57472632016-08-05 20:07:40 +0000438 ":zip_headers",
439 ],
440 hdrs = ["output_jar.h"],
441 deps = [
Sasha Smundak3f814d72016-08-09 17:17:57 +0000442 ":combiners",
Laszlo Csomorc14b3c62018-03-09 02:11:23 -0800443 ":diag",
Sasha Smundak57472632016-08-05 20:07:40 +0000444 ":input_jar",
Laszlo Csomorc14b3c62018-03-09 02:11:23 -0800445 ":mapped_file",
Sasha Smundak57472632016-08-05 20:07:40 +0000446 ":options",
Loo Rong Jief0d57712018-07-27 08:14:11 -0700447 ":port",
Sasha Smundak57472632016-08-05 20:07:40 +0000448 "//src/main/cpp/util",
449 "//third_party/zlib",
450 ],
Sasha Smundakd3b0ede2016-07-20 09:11:34 +0000451)
452
Sasha Smundak28d70942016-08-09 09:20:43 +0000453cc_library(
454 name = "test_util",
Loo Rong Jie68611b32018-10-15 07:10:41 -0700455 testonly = 1,
Sasha Smundak28d70942016-08-09 09:20:43 +0000456 srcs = ["test_util.cc"],
457 hdrs = ["test_util.h"],
458 deps = [
Sasha Smundak28d70942016-08-09 09:20:43 +0000459 "//src/main/cpp/util",
Loo Rong Jie0a5ea612019-01-03 06:44:20 -0800460 "@bazel_tools//tools/cpp/runfiles",
ccalvarin8e9f4a82018-03-23 08:19:37 -0700461 "@com_google_googletest//:gtest_main",
Sasha Smundak28d70942016-08-09 09:20:43 +0000462 ],
463)
464
Liam Miller-Cushonf7ce0472016-12-06 07:23:09 +0000465cc_library(
Sasha Smundak876d6f62016-07-19 17:34:37 +0000466 name = "token_stream",
Liam Miller-Cushonf7ce0472016-12-06 07:23:09 +0000467 hdrs = ["token_stream.h"],
Loo Rong Jie06202aa2019-06-27 01:33:38 -0700468 deps = [
469 ":diag",
470 "//src/main/cpp/util",
471 ],
Sasha Smundak876d6f62016-07-19 17:34:37 +0000472)
473
474filegroup(
Sasha Smundak0c6cccd2016-07-19 19:52:03 +0000475 name = "transient_bytes",
476 srcs = [
477 "diag.h",
478 "transient_bytes.h",
Sasha Smundak0c6cccd2016-07-19 19:52:03 +0000479 "zlib_interface.h",
Sasha Smundaka66060c2016-07-25 08:26:33 +0000480 ":zip_headers",
Sasha Smundak0c6cccd2016-07-19 19:52:03 +0000481 ],
482)
483
484filegroup(
Sasha Smundaka66060c2016-07-25 08:26:33 +0000485 name = "zip_headers",
486 srcs = ["zip_headers.h"],
487)
488
489filegroup(
Sasha Smundak06a12e52016-07-15 17:35:51 +0000490 name = "zlib_interface",
Sasha Smundak0c6cccd2016-07-19 19:52:03 +0000491 srcs = [
492 "diag.h",
493 "zlib_interface.h",
494 ],
Sasha Smundak06a12e52016-07-15 17:35:51 +0000495)
Sasha Smundak1e98fff2016-08-03 17:18:02 +0000496
497java_library(
498 name = "test1",
499 resources = [
Sasha Smundak0241b592016-09-26 17:00:25 +0000500 "options.cc",
Sasha Smundak1e98fff2016-08-03 17:18:02 +0000501 "zip_headers.h",
502 "zlib_interface.h",
503 ],
504)
Sasha Smundak57472632016-08-05 20:07:40 +0000505
506java_library(
507 name = "test2",
508 resources = [
509 "token_stream.h",
510 "transient_bytes.h",
511 ],
512)
Sasha Smundak92fbef02016-08-10 15:53:11 +0000513
514java_library(
515 name = "data1",
516 resources = [
517 "data/extra_file1",
518 "data/extra_file2",
519 ],
520)
521
522java_library(
523 name = "data2",
524 resources = [
525 "data/extra_file1",
526 "data/extra_file3",
527 ],
528)
Sasha Smundakb01948d2016-08-17 18:20:37 +0000529
530genrule(
531 name = "stored_jar",
Yue Gan6905aab2016-08-22 14:15:16 +0000532 srcs = [
533 "output_jar.cc",
dbabkin35df7152018-06-26 05:47:54 -0700534 "@bazel_tools//tools/jdk:current_java_runtime",
Yue Gan6905aab2016-08-22 14:15:16 +0000535 ],
Sasha Smundakb01948d2016-08-17 18:20:37 +0000536 outs = ["stored.jar"],
Laszlo Csomor8177f5c2018-10-16 05:56:46 -0700537 cmd = "$(JAVABASE)/bin/jar -0cf \"$@\" $(location :output_jar.cc)",
Loo Rong Jie68611b32018-10-15 07:10:41 -0700538 toolchains = ["@bazel_tools//tools/jdk:current_java_runtime"],
539 tools = ["@bazel_tools//tools/jdk:current_java_runtime"],
Sasha Smundakb01948d2016-08-17 18:20:37 +0000540)