blob: 28f05bf44366daa1beb0742f498ad0458f165e4e [file] [log] [blame]
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +01001package(
2 default_visibility = [
3 "//src:__subpackages__",
4 "//third_party/ijar:__subpackages__",
5 ],
6)
7
8licenses(["notice"]) # Apache 2.0
9
10cc_library(
11 name = "zip",
12 srcs = [
13 "zip.cc",
14 ] + select({
15 "//src:windows": [
16 "mapped_file_windows.cc",
17 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010018 "//conditions:default": [
19 "mapped_file_unix.cc",
20 ],
21 }),
22 hdrs = [
23 "common.h",
24 "mapped_file.h",
25 "zip.h",
26 ],
Laszlo Csomor76a76a72018-10-26 04:58:18 -070027 visibility = [
28 "//src:__subpackages__",
29 "//third_party/ijar:__subpackages__",
30 "//tools/test:__pkg__",
31 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010032 deps = [
33 ":platform_utils",
34 ":zlib_client",
Laszlo Csomorb2f1e192017-03-03 09:41:53 +000035 ] + select({
36 "//src:windows": [
37 "//src/main/cpp/util:errors",
ccalvarinac69da02018-06-05 15:27:26 -070038 "//src/main/cpp/util:filesystem",
ccalvarin8448f572018-04-06 12:42:09 -070039 "//src/main/cpp/util:logging",
40 "//src/main/cpp/util:strings",
Laszlo Csomorb2f1e192017-03-03 09:41:53 +000041 ],
Laszlo Csomorb2f1e192017-03-03 09:41:53 +000042 "//conditions:default": [
43 ],
44 }),
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010045)
46
47cc_library(
48 name = "zlib_client",
49 srcs = ["zlib_client.cc"],
50 hdrs = [
51 "common.h",
52 "zlib_client.h",
53 ],
54 deps = ["//third_party/zlib"],
55)
56
57cc_library(
58 name = "platform_utils",
59 srcs = ["platform_utils.cc"],
60 hdrs = [
61 "common.h",
62 "platform_utils.h",
63 ],
64 visibility = ["//visibility:private"],
Laszlo Csomorb2f1e192017-03-03 09:41:53 +000065 deps = [
66 "//src/main/cpp/util:errors",
ccalvarinac69da02018-06-05 15:27:26 -070067 "//src/main/cpp/util:filesystem",
ccalvarin8448f572018-04-06 12:42:09 -070068 "//src/main/cpp/util:logging",
Laszlo Csomorb2f1e192017-03-03 09:41:53 +000069 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010070)
71
72cc_binary(
73 name = "zipper",
74 srcs = ["zip_main.cc"],
75 visibility = ["//visibility:public"],
76 deps = [":zip"],
77)
78
79cc_binary(
80 name = "ijar",
81 srcs = [
82 "classfile.cc",
83 "ijar.cc",
84 ],
85 visibility = ["//visibility:public"],
86 deps = [":zip"],
87)
88
89filegroup(
90 name = "srcs",
91 srcs = glob(["**"]) + ["//third_party/ijar/test:srcs"],
92 visibility = ["//third_party:__pkg__"],
Laszlo Csomor9f15d152017-03-01 15:55:34 +000093)
Xin Gao33d05f62017-06-21 17:13:23 +020094
95filegroup(
iirina2d446752019-03-15 09:00:35 -070096 name = "embedded_zipper_sources",
97 srcs = [
98 "zip.cc",
99 "zip.h",
100 "zip_main.cc",
101 "common.h",
102 "mapped_file.h",
103 "platform_utils.cc",
104 "platform_utils.h",
105 "zlib_client.cc",
106 "zlib_client.h",
107 "BUILD",
108 ] + select({
109 "//src:windows": [
110 "mapped_file_windows.cc",
111 ],
112 "//conditions:default": [
113 "mapped_file_unix.cc",
114 ],
115 }),
Xin Gao33d05f62017-06-21 17:13:23 +0200116 visibility = ["//visibility:public"],
117)
elenairinacd08a532019-03-12 06:51:59 -0700118
iirina8df893a2019-03-25 09:34:51 -0700119filegroup(
120 name = "transitive_sources",
121 srcs = [":srcs"] + ["//src/main/cpp/util:embedded_java_tools"],
122 visibility = ["//visibility:public"],
123)
124
iirina7aace9c2019-03-18 05:41:55 -0700125genrule(
philwo3c9ad2d2020-11-25 08:48:48 -0800126 name = "ijar_transitive_srcs_zip",
127 srcs = [
128 ":ijar_srcs_zip",
iirinae4ac6162019-04-08 01:37:20 -0700129 "//src:zlib_zip",
iirina7aace9c2019-03-18 05:41:55 -0700130 "//src/main/cpp/util:cpp_util_with_deps_zip",
iirina0e0ad292019-03-12 08:23:39 -0700131 ],
iirina7aace9c2019-03-18 05:41:55 -0700132 outs = ["ijar_srcs_with_deps.zip"],
Ivo Listc0809f72020-12-04 06:21:44 -0800133 cmd = "$(location //src:merge_zip_files) java_tools $@ $(SRCS)",
iirina7aace9c2019-03-18 05:41:55 -0700134 tools = ["//src:merge_zip_files"],
iirina8df893a2019-03-25 09:34:51 -0700135 visibility = ["//visibility:public"],
iirina0e0ad292019-03-12 08:23:39 -0700136)
137
iirina7aace9c2019-03-18 05:41:55 -0700138genrule(
philwo3c9ad2d2020-11-25 08:48:48 -0800139 name = "ijar_deploy_zip",
140 srcs = [
141 ":ijar",
142 ":zipper",
143 ],
144 outs = ["ijar_deploy.zip"],
Ivo Listc0809f72020-12-04 06:21:44 -0800145 cmd = "$(location //src:zip_files) java_tools/ijar $@ $(SRCS)",
philwo3c9ad2d2020-11-25 08:48:48 -0800146 tools = ["//src:zip_files"],
147 visibility = ["//visibility:public"],
148)
149
150genrule(
iirina7aace9c2019-03-18 05:41:55 -0700151 name = "ijar_srcs_zip",
elenairina6cec1c72019-03-12 10:35:45 -0700152 srcs = glob(
153 ["**"],
iirina2d446752019-03-15 09:00:35 -0700154 exclude = ["BUILD"],
philwo3c9ad2d2020-11-25 08:48:48 -0800155 ),
iirina7aace9c2019-03-18 05:41:55 -0700156 outs = ["ijar_srcs.zip"],
157 cmd = "$(location //src:zip_files) ijar $@ $(SRCS)",
158 tools = ["//src:zip_files"],
iirina0e0ad292019-03-12 08:23:39 -0700159 visibility = ["//visibility:private"],
160)