blob: 5466bd2833a9529266ecf76bb003db49232052b2 [file] [log] [blame]
Anton Hanssonfcb91d42020-09-21 16:32:14 +01001// Copyright (C) 2020 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16 default_visibility: ["//visibility:private"],
17}
18
Sasha Smundak02cbff442019-08-15 08:27:51 -070019genrule {
20 name: "current-api-xml",
21 tools: ["metalava"],
Anton Hansson00febe22020-11-05 10:30:59 +000022 srcs: [":frameworks-base-api-current.txt"],
Sasha Smundak02cbff442019-08-15 08:27:51 -070023 out: ["current.api"],
24 cmd: "$(location metalava) --no-banner -convert2xmlnostrip $(in) $(out)",
Anton Hanssonfcb91d42020-09-21 16:32:14 +010025 visibility: ["//visibility:public"],
Sasha Smundak02cbff442019-08-15 08:27:51 -070026}
Anton Hansson85359f62020-09-21 17:02:25 +010027
28genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +000029 name: "frameworks-base-api-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +010030 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -080031 ":android.net.ipsec.ike{.public.api.txt}",
Anton Hanssonfc948d862020-12-17 16:57:35 +000032 ":art.module.public.api{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010033 ":conscrypt.module.public.api{.public.api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +010034 ":framework-appsearch{.public.api.txt}",
Anton Hansson0eccccb2020-09-24 12:09:25 +010035 ":framework-graphics{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010036 ":framework-media{.public.api.txt}",
37 ":framework-mediaprovider{.public.api.txt}",
38 ":framework-permission{.public.api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -080039 ":framework-permission-s{.public.api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +000040 ":framework-scheduling{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010041 ":framework-sdkextensions{.public.api.txt}",
42 ":framework-statsd{.public.api.txt}",
43 ":framework-tethering{.public.api.txt}",
44 ":framework-wifi{.public.api.txt}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +000045 ":i18n.module.public.api{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010046 ":non-updatable-current.txt",
47 ],
48 out: ["current.txt"],
49 tools: ["metalava"],
50 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +010051 dists: [
52 {
53 targets: ["droidcore"],
54 dir: "api",
55 dest: "current.txt",
56 },
57 {
Anton Hansson85785fe2021-01-20 20:23:34 +000058 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +010059 dir: "apistubs/android/public/api",
60 dest: "android.txt",
61 },
62 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +000063 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +010064}
65
66genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +000067 name: "frameworks-base-api-current-compat",
68 srcs: [
69 ":android.api.public.latest",
70 ":android-incompatibilities.api.public.latest",
71 ":frameworks-base-api-current.txt",
72 ],
73 out: ["stdout.txt"],
74 tools: ["metalava"],
75 cmd: "$(location metalava) --no-banner --format=v2 " +
76 "--check-compatibility:api:released $(location :android.api.public.latest) " +
77 "--baseline:compatibility:released $(location :android-incompatibilities.api.public.latest) " +
78 "$(location :frameworks-base-api-current.txt) " +
79 "> $(genDir)/stdout.txt",
80}
81
82genrule {
Anton Hansson89c74dc2020-11-05 20:21:08 +000083 name: "frameworks-base-api-current.srcjar",
84 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -080085 ":android.net.ipsec.ike{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +000086 ":api-stubs-docs-non-updatable",
Anton Hanssonfc948d862020-12-17 16:57:35 +000087 ":art.module.public.api{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +000088 ":conscrypt.module.public.api{.public.stubs.source}",
89 ":framework-appsearch{.public.stubs.source}",
90 ":framework-graphics{.public.stubs.source}",
91 ":framework-media{.public.stubs.source}",
92 ":framework-mediaprovider{.public.stubs.source}",
93 ":framework-permission{.public.stubs.source}",
Hai Zhang591e1212021-01-21 12:48:43 -080094 ":framework-permission-s{.public.stubs.source}",
Gavin Corkery338545d2021-02-15 20:22:58 +000095 ":framework-scheduling{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +000096 ":framework-sdkextensions{.public.stubs.source}",
97 ":framework-statsd{.public.stubs.source}",
98 ":framework-tethering{.public.stubs.source}",
99 ":framework-wifi{.public.stubs.source}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000100 ":i18n.module.public.api{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000101 ],
102 out: ["current.srcjar"],
103 tools: ["merge_zips"],
104 cmd: "$(location merge_zips) $(out) $(in)",
105 visibility: ["//visibility:private"], // Used by make module in //development, mind.
106}
107
108genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000109 name: "frameworks-base-api-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100110 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800111 ":android.net.ipsec.ike{.public.removed-api.txt}",
Anton Hanssonfc948d862020-12-17 16:57:35 +0000112 ":art.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100113 ":conscrypt.module.public.api{.public.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100114 ":framework-appsearch{.public.removed-api.txt}",
115 ":framework-graphics{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100116 ":framework-media{.public.removed-api.txt}",
117 ":framework-mediaprovider{.public.removed-api.txt}",
118 ":framework-permission{.public.removed-api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800119 ":framework-permission-s{.public.removed-api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000120 ":framework-scheduling{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100121 ":framework-sdkextensions{.public.removed-api.txt}",
122 ":framework-statsd{.public.removed-api.txt}",
123 ":framework-tethering{.public.removed-api.txt}",
124 ":framework-wifi{.public.removed-api.txt}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000125 ":i18n.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100126 ":non-updatable-removed.txt",
127 ],
128 out: ["removed.txt"],
129 tools: ["metalava"],
130 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100131 dists: [
132 {
133 targets: ["droidcore"],
134 dir: "api",
135 dest: "removed.txt",
136 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000137 {
138 targets: ["sdk", "win_sdk"],
139 dir: "apistubs/android/public/api",
140 dest: "removed.txt",
141 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100142 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100143}
144
145genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000146 name: "frameworks-base-api-system-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100147 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800148 ":android.net.ipsec.ike{.system.api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100149 ":framework-appsearch{.system.api.txt}",
Anton Hansson0eccccb2020-09-24 12:09:25 +0100150 ":framework-graphics{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100151 ":framework-media{.system.api.txt}",
152 ":framework-mediaprovider{.system.api.txt}",
153 ":framework-permission{.system.api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800154 ":framework-permission-s{.system.api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000155 ":framework-scheduling{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100156 ":framework-sdkextensions{.system.api.txt}",
157 ":framework-statsd{.system.api.txt}",
158 ":framework-tethering{.system.api.txt}",
159 ":framework-wifi{.system.api.txt}",
160 ":non-updatable-system-current.txt",
161 ],
162 out: ["system-current.txt"],
163 tools: ["metalava"],
164 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100165 dists: [
166 {
167 targets: ["droidcore"],
168 dir: "api",
169 dest: "system-current.txt",
170 },
171 {
Anton Hansson85785fe2021-01-20 20:23:34 +0000172 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +0100173 dir: "apistubs/android/system/api",
174 dest: "android.txt",
175 },
176 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000177 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +0100178}
179
180genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000181 name: "frameworks-base-api-system-current-compat",
182 srcs: [
183 ":android.api.system.latest",
184 ":android-incompatibilities.api.system.latest",
185 ":frameworks-base-api-current.txt",
186 ":frameworks-base-api-system-current.txt",
187 ],
188 out: ["stdout.txt"],
189 tools: ["metalava"],
190 cmd: "$(location metalava) --no-banner --format=v2 " +
191 "--check-compatibility:api:released $(location :android.api.system.latest) " +
192 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
193 "--baseline:compatibility:released $(location :android-incompatibilities.api.system.latest) " +
194 "$(location :frameworks-base-api-system-current.txt) " +
195 "> $(genDir)/stdout.txt",
196}
197
198genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000199 name: "frameworks-base-api-system-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100200 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800201 ":android.net.ipsec.ike{.system.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100202 ":framework-appsearch{.system.removed-api.txt}",
203 ":framework-graphics{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100204 ":framework-media{.system.removed-api.txt}",
205 ":framework-mediaprovider{.system.removed-api.txt}",
206 ":framework-permission{.system.removed-api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800207 ":framework-permission-s{.system.removed-api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000208 ":framework-scheduling{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100209 ":framework-sdkextensions{.system.removed-api.txt}",
210 ":framework-statsd{.system.removed-api.txt}",
211 ":framework-tethering{.system.removed-api.txt}",
212 ":framework-wifi{.system.removed-api.txt}",
213 ":non-updatable-system-removed.txt",
214 ],
215 out: ["system-removed.txt"],
216 tools: ["metalava"],
217 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100218 dists: [
219 {
220 targets: ["droidcore"],
221 dir: "api",
222 dest: "system-removed.txt",
223 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000224 {
225 targets: ["sdk", "win_sdk"],
226 dir: "apistubs/android/system/api",
227 dest: "removed.txt",
228 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100229 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000230 visibility: ["//visibility:public"],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100231}
232
233genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000234 name: "frameworks-base-api-module-lib-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100235 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800236 ":android.net.ipsec.ike{.module-lib.api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100237 ":framework-appsearch{.module-lib.api.txt}",
Anton Hansson0eccccb2020-09-24 12:09:25 +0100238 ":framework-graphics{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100239 ":framework-media{.module-lib.api.txt}",
240 ":framework-mediaprovider{.module-lib.api.txt}",
241 ":framework-permission{.module-lib.api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800242 ":framework-permission-s{.module-lib.api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000243 ":framework-scheduling{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100244 ":framework-sdkextensions{.module-lib.api.txt}",
245 ":framework-statsd{.module-lib.api.txt}",
246 ":framework-tethering{.module-lib.api.txt}",
247 ":framework-wifi{.module-lib.api.txt}",
248 ":non-updatable-module-lib-current.txt",
249 ],
250 out: ["module-lib-current.txt"],
251 tools: ["metalava"],
252 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100253 dists: [
254 {
255 targets: ["droidcore"],
256 dir: "api",
257 dest: "module-lib-current.txt",
258 },
259 {
Anton Hansson85785fe2021-01-20 20:23:34 +0000260 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +0100261 dir: "apistubs/android/module-lib/api",
262 dest: "android.txt",
263 },
264 ],
Anton Hansson85359f62020-09-21 17:02:25 +0100265}
Anton Hansson3c1aa112020-09-25 09:13:47 +0100266
267genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000268 name: "frameworks-base-api-module-lib-current-compat",
269 srcs: [
270 ":android.api.module-lib.latest",
271 ":android-incompatibilities.api.module-lib.latest",
272 ":frameworks-base-api-current.txt",
273 ":frameworks-base-api-module-lib-current.txt",
274 ],
275 out: ["stdout.txt"],
276 tools: ["metalava"],
277 cmd: "$(location metalava) --no-banner --format=v2 " +
278 "--check-compatibility:api:released $(location :android.api.module-lib.latest) " +
279 // Note: having "public" be the base of module-lib is not perfect -- it should
280 // ideally be a merged public+system), but this will help when migrating from
281 // MODULE_LIBS -> public.
282 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
283 "--baseline:compatibility:released $(location :android-incompatibilities.api.module-lib.latest) " +
284 "$(location :frameworks-base-api-module-lib-current.txt) " +
285 "> $(genDir)/stdout.txt",
286}
287
288genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000289 name: "frameworks-base-api-module-lib-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100290 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800291 ":android.net.ipsec.ike{.module-lib.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100292 ":framework-appsearch{.module-lib.removed-api.txt}",
293 ":framework-graphics{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100294 ":framework-media{.module-lib.removed-api.txt}",
295 ":framework-mediaprovider{.module-lib.removed-api.txt}",
296 ":framework-permission{.module-lib.removed-api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800297 ":framework-permission-s{.module-lib.removed-api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000298 ":framework-scheduling{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100299 ":framework-sdkextensions{.module-lib.removed-api.txt}",
300 ":framework-statsd{.module-lib.removed-api.txt}",
301 ":framework-tethering{.module-lib.removed-api.txt}",
302 ":framework-wifi{.module-lib.removed-api.txt}",
303 ":non-updatable-module-lib-removed.txt",
304 ],
305 out: ["module-lib-removed.txt"],
306 tools: ["metalava"],
307 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100308 dists: [
309 {
310 targets: ["droidcore"],
311 dir: "api",
312 dest: "module-lib-removed.txt",
313 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000314 {
315 targets: ["sdk", "win_sdk"],
316 dir: "apistubs/android/module-lib/api",
317 dest: "removed.txt",
318 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100319 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100320}
Anton Hanssona15427a2020-10-02 18:21:14 +0100321
322genrule {
323 name: "combined-removed-dex",
324 srcs: [
Anton Hansson1c4fab42020-11-02 11:57:33 +0000325 ":frameworks-base-api-removed.txt",
326 ":frameworks-base-api-system-removed.txt",
Anton Hanssona15427a2020-10-02 18:21:14 +0100327 ":android.car-stubs-docs{.removed-api.txt}",
328 ":android.car-system-stubs-docs{.removed-api.txt}",
329 ],
330 tool_files: ["gen_combined_removed_dex.sh"],
331 tools: ["metalava"],
332 out: ["combined-removed-dex.txt"],
333 cmd: "$(location gen_combined_removed_dex.sh) $(location metalava) $(genDir) $(in) > $(out)",
334}