blob: 15c1dfcfe1531e1c949154f52a0291d3bb8034cc [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"],
Bob Badour8a6a2bc2021-02-12 17:07:05 -080017 // See: http://go/android-license-faq
18 // A large-scale-change added 'default_applicable_licenses' to import
19 // all of the 'license_kinds' from "frameworks_base_license"
20 // to get the below license kinds:
21 // SPDX-license-identifier-Apache-2.0
22 // SPDX-license-identifier-MIT
23 // SPDX-license-identifier-Unicode-DFS
24 default_applicable_licenses: ["frameworks_base_license"],
Anton Hanssonfcb91d42020-09-21 16:32:14 +010025}
26
Sasha Smundak02cbff442019-08-15 08:27:51 -070027genrule {
28 name: "current-api-xml",
29 tools: ["metalava"],
Anton Hansson00febe22020-11-05 10:30:59 +000030 srcs: [":frameworks-base-api-current.txt"],
Sasha Smundak02cbff442019-08-15 08:27:51 -070031 out: ["current.api"],
32 cmd: "$(location metalava) --no-banner -convert2xmlnostrip $(in) $(out)",
Anton Hanssonfcb91d42020-09-21 16:32:14 +010033 visibility: ["//visibility:public"],
Sasha Smundak02cbff442019-08-15 08:27:51 -070034}
Anton Hansson85359f62020-09-21 17:02:25 +010035
36genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +000037 name: "frameworks-base-api-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +010038 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -080039 ":android.net.ipsec.ike{.public.api.txt}",
Anton Hanssonfc948d862020-12-17 16:57:35 +000040 ":art.module.public.api{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010041 ":conscrypt.module.public.api{.public.api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +010042 ":framework-appsearch{.public.api.txt}",
Anton Hansson0eccccb2020-09-24 12:09:25 +010043 ":framework-graphics{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010044 ":framework-media{.public.api.txt}",
45 ":framework-mediaprovider{.public.api.txt}",
46 ":framework-permission{.public.api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -080047 ":framework-permission-s{.public.api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +000048 ":framework-scheduling{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010049 ":framework-sdkextensions{.public.api.txt}",
50 ":framework-statsd{.public.api.txt}",
51 ":framework-tethering{.public.api.txt}",
52 ":framework-wifi{.public.api.txt}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +000053 ":i18n.module.public.api{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010054 ":non-updatable-current.txt",
55 ],
56 out: ["current.txt"],
57 tools: ["metalava"],
58 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +010059 dists: [
60 {
61 targets: ["droidcore"],
62 dir: "api",
63 dest: "current.txt",
64 },
65 {
Anton Hansson85785fe2021-01-20 20:23:34 +000066 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +010067 dir: "apistubs/android/public/api",
68 dest: "android.txt",
69 },
70 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +000071 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +010072}
73
74genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +000075 name: "frameworks-base-api-current-compat",
76 srcs: [
77 ":android.api.public.latest",
78 ":android-incompatibilities.api.public.latest",
79 ":frameworks-base-api-current.txt",
80 ],
81 out: ["stdout.txt"],
82 tools: ["metalava"],
83 cmd: "$(location metalava) --no-banner --format=v2 " +
84 "--check-compatibility:api:released $(location :android.api.public.latest) " +
85 "--baseline:compatibility:released $(location :android-incompatibilities.api.public.latest) " +
86 "$(location :frameworks-base-api-current.txt) " +
87 "> $(genDir)/stdout.txt",
88}
89
90genrule {
Anton Hansson89c74dc2020-11-05 20:21:08 +000091 name: "frameworks-base-api-current.srcjar",
92 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -080093 ":android.net.ipsec.ike{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +000094 ":api-stubs-docs-non-updatable",
Anton Hanssonfc948d862020-12-17 16:57:35 +000095 ":art.module.public.api{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +000096 ":conscrypt.module.public.api{.public.stubs.source}",
97 ":framework-appsearch{.public.stubs.source}",
98 ":framework-graphics{.public.stubs.source}",
99 ":framework-media{.public.stubs.source}",
100 ":framework-mediaprovider{.public.stubs.source}",
101 ":framework-permission{.public.stubs.source}",
Hai Zhang591e1212021-01-21 12:48:43 -0800102 ":framework-permission-s{.public.stubs.source}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000103 ":framework-scheduling{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000104 ":framework-sdkextensions{.public.stubs.source}",
105 ":framework-statsd{.public.stubs.source}",
106 ":framework-tethering{.public.stubs.source}",
107 ":framework-wifi{.public.stubs.source}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000108 ":i18n.module.public.api{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000109 ],
110 out: ["current.srcjar"],
111 tools: ["merge_zips"],
112 cmd: "$(location merge_zips) $(out) $(in)",
113 visibility: ["//visibility:private"], // Used by make module in //development, mind.
114}
115
116genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000117 name: "frameworks-base-api-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100118 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800119 ":android.net.ipsec.ike{.public.removed-api.txt}",
Anton Hanssonfc948d862020-12-17 16:57:35 +0000120 ":art.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100121 ":conscrypt.module.public.api{.public.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100122 ":framework-appsearch{.public.removed-api.txt}",
123 ":framework-graphics{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100124 ":framework-media{.public.removed-api.txt}",
125 ":framework-mediaprovider{.public.removed-api.txt}",
126 ":framework-permission{.public.removed-api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800127 ":framework-permission-s{.public.removed-api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000128 ":framework-scheduling{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100129 ":framework-sdkextensions{.public.removed-api.txt}",
130 ":framework-statsd{.public.removed-api.txt}",
131 ":framework-tethering{.public.removed-api.txt}",
132 ":framework-wifi{.public.removed-api.txt}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000133 ":i18n.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100134 ":non-updatable-removed.txt",
135 ],
136 out: ["removed.txt"],
137 tools: ["metalava"],
138 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100139 dists: [
140 {
141 targets: ["droidcore"],
142 dir: "api",
143 dest: "removed.txt",
144 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000145 {
146 targets: ["sdk", "win_sdk"],
147 dir: "apistubs/android/public/api",
148 dest: "removed.txt",
149 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100150 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100151}
152
153genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000154 name: "frameworks-base-api-system-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100155 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800156 ":android.net.ipsec.ike{.system.api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100157 ":framework-appsearch{.system.api.txt}",
Anton Hansson0eccccb2020-09-24 12:09:25 +0100158 ":framework-graphics{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100159 ":framework-media{.system.api.txt}",
160 ":framework-mediaprovider{.system.api.txt}",
161 ":framework-permission{.system.api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800162 ":framework-permission-s{.system.api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000163 ":framework-scheduling{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100164 ":framework-sdkextensions{.system.api.txt}",
165 ":framework-statsd{.system.api.txt}",
166 ":framework-tethering{.system.api.txt}",
167 ":framework-wifi{.system.api.txt}",
168 ":non-updatable-system-current.txt",
169 ],
170 out: ["system-current.txt"],
171 tools: ["metalava"],
172 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100173 dists: [
174 {
175 targets: ["droidcore"],
176 dir: "api",
177 dest: "system-current.txt",
178 },
179 {
Anton Hansson85785fe2021-01-20 20:23:34 +0000180 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +0100181 dir: "apistubs/android/system/api",
182 dest: "android.txt",
183 },
184 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000185 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +0100186}
187
188genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000189 name: "frameworks-base-api-system-current-compat",
190 srcs: [
191 ":android.api.system.latest",
192 ":android-incompatibilities.api.system.latest",
193 ":frameworks-base-api-current.txt",
194 ":frameworks-base-api-system-current.txt",
195 ],
196 out: ["stdout.txt"],
197 tools: ["metalava"],
198 cmd: "$(location metalava) --no-banner --format=v2 " +
199 "--check-compatibility:api:released $(location :android.api.system.latest) " +
200 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
201 "--baseline:compatibility:released $(location :android-incompatibilities.api.system.latest) " +
202 "$(location :frameworks-base-api-system-current.txt) " +
203 "> $(genDir)/stdout.txt",
204}
205
206genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000207 name: "frameworks-base-api-system-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100208 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800209 ":android.net.ipsec.ike{.system.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100210 ":framework-appsearch{.system.removed-api.txt}",
211 ":framework-graphics{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100212 ":framework-media{.system.removed-api.txt}",
213 ":framework-mediaprovider{.system.removed-api.txt}",
214 ":framework-permission{.system.removed-api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800215 ":framework-permission-s{.system.removed-api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000216 ":framework-scheduling{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100217 ":framework-sdkextensions{.system.removed-api.txt}",
218 ":framework-statsd{.system.removed-api.txt}",
219 ":framework-tethering{.system.removed-api.txt}",
220 ":framework-wifi{.system.removed-api.txt}",
221 ":non-updatable-system-removed.txt",
222 ],
223 out: ["system-removed.txt"],
224 tools: ["metalava"],
225 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100226 dists: [
227 {
228 targets: ["droidcore"],
229 dir: "api",
230 dest: "system-removed.txt",
231 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000232 {
233 targets: ["sdk", "win_sdk"],
234 dir: "apistubs/android/system/api",
235 dest: "removed.txt",
236 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100237 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000238 visibility: ["//visibility:public"],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100239}
240
241genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000242 name: "frameworks-base-api-module-lib-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100243 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800244 ":android.net.ipsec.ike{.module-lib.api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100245 ":framework-appsearch{.module-lib.api.txt}",
Anton Hansson0eccccb2020-09-24 12:09:25 +0100246 ":framework-graphics{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100247 ":framework-media{.module-lib.api.txt}",
248 ":framework-mediaprovider{.module-lib.api.txt}",
249 ":framework-permission{.module-lib.api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800250 ":framework-permission-s{.module-lib.api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000251 ":framework-scheduling{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100252 ":framework-sdkextensions{.module-lib.api.txt}",
253 ":framework-statsd{.module-lib.api.txt}",
254 ":framework-tethering{.module-lib.api.txt}",
255 ":framework-wifi{.module-lib.api.txt}",
256 ":non-updatable-module-lib-current.txt",
257 ],
258 out: ["module-lib-current.txt"],
259 tools: ["metalava"],
260 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100261 dists: [
262 {
263 targets: ["droidcore"],
264 dir: "api",
265 dest: "module-lib-current.txt",
266 },
267 {
Anton Hansson85785fe2021-01-20 20:23:34 +0000268 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +0100269 dir: "apistubs/android/module-lib/api",
270 dest: "android.txt",
271 },
272 ],
Anton Hansson85359f62020-09-21 17:02:25 +0100273}
Anton Hansson3c1aa112020-09-25 09:13:47 +0100274
275genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000276 name: "frameworks-base-api-module-lib-current-compat",
277 srcs: [
278 ":android.api.module-lib.latest",
279 ":android-incompatibilities.api.module-lib.latest",
280 ":frameworks-base-api-current.txt",
281 ":frameworks-base-api-module-lib-current.txt",
282 ],
283 out: ["stdout.txt"],
284 tools: ["metalava"],
285 cmd: "$(location metalava) --no-banner --format=v2 " +
286 "--check-compatibility:api:released $(location :android.api.module-lib.latest) " +
287 // Note: having "public" be the base of module-lib is not perfect -- it should
288 // ideally be a merged public+system), but this will help when migrating from
289 // MODULE_LIBS -> public.
290 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
291 "--baseline:compatibility:released $(location :android-incompatibilities.api.module-lib.latest) " +
292 "$(location :frameworks-base-api-module-lib-current.txt) " +
293 "> $(genDir)/stdout.txt",
294}
295
296genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000297 name: "frameworks-base-api-module-lib-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100298 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800299 ":android.net.ipsec.ike{.module-lib.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100300 ":framework-appsearch{.module-lib.removed-api.txt}",
301 ":framework-graphics{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100302 ":framework-media{.module-lib.removed-api.txt}",
303 ":framework-mediaprovider{.module-lib.removed-api.txt}",
304 ":framework-permission{.module-lib.removed-api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800305 ":framework-permission-s{.module-lib.removed-api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000306 ":framework-scheduling{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100307 ":framework-sdkextensions{.module-lib.removed-api.txt}",
308 ":framework-statsd{.module-lib.removed-api.txt}",
309 ":framework-tethering{.module-lib.removed-api.txt}",
310 ":framework-wifi{.module-lib.removed-api.txt}",
311 ":non-updatable-module-lib-removed.txt",
312 ],
313 out: ["module-lib-removed.txt"],
314 tools: ["metalava"],
315 cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100316 dists: [
317 {
318 targets: ["droidcore"],
319 dir: "api",
320 dest: "module-lib-removed.txt",
321 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000322 {
323 targets: ["sdk", "win_sdk"],
324 dir: "apistubs/android/module-lib/api",
325 dest: "removed.txt",
326 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100327 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100328}
Anton Hanssona15427a2020-10-02 18:21:14 +0100329
330genrule {
331 name: "combined-removed-dex",
332 srcs: [
Anton Hansson1c4fab42020-11-02 11:57:33 +0000333 ":frameworks-base-api-removed.txt",
334 ":frameworks-base-api-system-removed.txt",
Anton Hanssona15427a2020-10-02 18:21:14 +0100335 ":android.car-stubs-docs{.removed-api.txt}",
336 ":android.car-system-stubs-docs{.removed-api.txt}",
337 ],
338 tool_files: ["gen_combined_removed_dex.sh"],
339 tools: ["metalava"],
340 out: ["combined-removed-dex.txt"],
341 cmd: "$(location gen_combined_removed_dex.sh) $(location metalava) $(genDir) $(in) > $(out)",
342}