blob: 6dc177e62290a834a3d60a30ed2d080a031adcbb [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 Badour051ef782021-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
Anton Hanssonaa26cc12021-02-15 10:52:33 +000027metalava_cmd = "$(location metalava)"
28// Silence reflection warnings. See b/168689341
29metalava_cmd += " -J--add-opens=java.base/java.util=ALL-UNNAMED "
30metalava_cmd += " --no-banner --format=v2 "
31
Sasha Smundak02cbff442019-08-15 08:27:51 -070032genrule {
33 name: "current-api-xml",
34 tools: ["metalava"],
Anton Hansson00febe22020-11-05 10:30:59 +000035 srcs: [":frameworks-base-api-current.txt"],
Sasha Smundak02cbff442019-08-15 08:27:51 -070036 out: ["current.api"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +000037 cmd: metalava_cmd + "-convert2xmlnostrip $(in) $(out)",
Anton Hanssonfcb91d42020-09-21 16:32:14 +010038 visibility: ["//visibility:public"],
Sasha Smundak02cbff442019-08-15 08:27:51 -070039}
Anton Hansson85359f62020-09-21 17:02:25 +010040
41genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +000042 name: "frameworks-base-api-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +010043 srcs: [
Yan Yanf8b973c2021-02-03 16:07:30 -080044 ":android.net.ipsec.ike{.public.api.txt}",
Anton Hanssonfc948d862020-12-17 16:57:35 +000045 ":art.module.public.api{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010046 ":conscrypt.module.public.api{.public.api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +090047 ":framework-connectivity{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010048 ":framework-media{.public.api.txt}",
49 ":framework-mediaprovider{.public.api.txt}",
50 ":framework-permission{.public.api.txt}",
51 ":framework-sdkextensions{.public.api.txt}",
52 ":framework-statsd{.public.api.txt}",
53 ":framework-tethering{.public.api.txt}",
54 ":framework-wifi{.public.api.txt}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +000055 ":i18n.module.public.api{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010056 ":non-updatable-current.txt",
57 ],
58 out: ["current.txt"],
59 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +000060 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +010061 dists: [
62 {
63 targets: ["droidcore"],
64 dir: "api",
65 dest: "current.txt",
66 },
67 {
Pedro Loureiro4f09b852021-06-09 10:59:32 +000068 targets: [
69 "sdk",
70 "win_sdk",
71 ],
Anton Hanssona9ced802020-10-20 19:26:18 +010072 dir: "apistubs/android/public/api",
73 dest: "android.txt",
74 },
75 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +000076 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +010077}
78
79genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +000080 name: "frameworks-base-api-current-compat",
81 srcs: [
82 ":android.api.public.latest",
83 ":android-incompatibilities.api.public.latest",
84 ":frameworks-base-api-current.txt",
85 ],
86 out: ["stdout.txt"],
87 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +000088 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +000089 "--check-compatibility:api:released $(location :android.api.public.latest) " +
90 "--baseline:compatibility:released $(location :android-incompatibilities.api.public.latest) " +
91 "$(location :frameworks-base-api-current.txt) " +
92 "> $(genDir)/stdout.txt",
93}
94
95genrule {
Anton Hanssond75144f2020-11-05 20:21:08 +000096 name: "frameworks-base-api-current.srcjar",
97 srcs: [
Yan Yanf8b973c2021-02-03 16:07:30 -080098 ":android.net.ipsec.ike{.public.stubs.source}",
Anton Hanssond75144f2020-11-05 20:21:08 +000099 ":api-stubs-docs-non-updatable",
Anton Hanssonfc948d862020-12-17 16:57:35 +0000100 ":art.module.public.api{.public.stubs.source}",
Anton Hanssond75144f2020-11-05 20:21:08 +0000101 ":conscrypt.module.public.api{.public.stubs.source}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900102 ":framework-connectivity{.public.stubs.source}",
Anton Hanssond75144f2020-11-05 20:21:08 +0000103 ":framework-media{.public.stubs.source}",
104 ":framework-mediaprovider{.public.stubs.source}",
105 ":framework-permission{.public.stubs.source}",
106 ":framework-sdkextensions{.public.stubs.source}",
107 ":framework-statsd{.public.stubs.source}",
108 ":framework-tethering{.public.stubs.source}",
109 ":framework-wifi{.public.stubs.source}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000110 ":i18n.module.public.api{.public.stubs.source}",
Anton Hanssond75144f2020-11-05 20:21:08 +0000111 ],
112 out: ["current.srcjar"],
113 tools: ["merge_zips"],
114 cmd: "$(location merge_zips) $(out) $(in)",
115 visibility: ["//visibility:private"], // Used by make module in //development, mind.
116}
117
118genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000119 name: "frameworks-base-api-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100120 srcs: [
Yan Yanf8b973c2021-02-03 16:07:30 -0800121 ":android.net.ipsec.ike{.public.removed-api.txt}",
Anton Hanssonfc948d862020-12-17 16:57:35 +0000122 ":art.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100123 ":conscrypt.module.public.api{.public.removed-api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900124 ":framework-connectivity{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100125 ":framework-media{.public.removed-api.txt}",
126 ":framework-mediaprovider{.public.removed-api.txt}",
127 ":framework-permission{.public.removed-api.txt}",
128 ":framework-sdkextensions{.public.removed-api.txt}",
129 ":framework-statsd{.public.removed-api.txt}",
130 ":framework-tethering{.public.removed-api.txt}",
131 ":framework-wifi{.public.removed-api.txt}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000132 ":i18n.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100133 ":non-updatable-removed.txt",
134 ],
135 out: ["removed.txt"],
136 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000137 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100138 dists: [
139 {
140 targets: ["droidcore"],
141 dir: "api",
142 dest: "removed.txt",
143 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000144 {
Pedro Loureiro4f09b852021-06-09 10:59:32 +0000145 targets: [
146 "sdk",
147 "win_sdk",
148 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000149 dir: "apistubs/android/public/api",
150 dest: "removed.txt",
151 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100152 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100153}
154
155genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000156 name: "frameworks-base-api-system-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100157 srcs: [
Victor Changd21107a2021-05-12 10:47:16 +0100158 ":art.module.public.api{.system.api.txt}",
Yan Yanf8b973c2021-02-03 16:07:30 -0800159 ":android.net.ipsec.ike{.system.api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900160 ":framework-connectivity{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100161 ":framework-media{.system.api.txt}",
162 ":framework-mediaprovider{.system.api.txt}",
163 ":framework-permission{.system.api.txt}",
164 ":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"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000172 cmd: metalava_cmd + "$(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 {
Pedro Loureiro4f09b852021-06-09 10:59:32 +0000180 targets: [
181 "sdk",
182 "win_sdk",
183 ],
Anton Hanssona9ced802020-10-20 19:26:18 +0100184 dir: "apistubs/android/system/api",
185 dest: "android.txt",
186 },
187 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000188 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +0100189}
190
191genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000192 name: "frameworks-base-api-system-current-compat",
193 srcs: [
194 ":android.api.system.latest",
195 ":android-incompatibilities.api.system.latest",
196 ":frameworks-base-api-current.txt",
197 ":frameworks-base-api-system-current.txt",
198 ],
199 out: ["stdout.txt"],
200 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000201 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +0000202 "--check-compatibility:api:released $(location :android.api.system.latest) " +
203 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
204 "--baseline:compatibility:released $(location :android-incompatibilities.api.system.latest) " +
205 "$(location :frameworks-base-api-system-current.txt) " +
206 "> $(genDir)/stdout.txt",
207}
208
209genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000210 name: "frameworks-base-api-system-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100211 srcs: [
Victor Changd21107a2021-05-12 10:47:16 +0100212 ":art.module.public.api{.system.removed-api.txt}",
Yan Yanf8b973c2021-02-03 16:07:30 -0800213 ":android.net.ipsec.ike{.system.removed-api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900214 ":framework-connectivity{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100215 ":framework-media{.system.removed-api.txt}",
216 ":framework-mediaprovider{.system.removed-api.txt}",
217 ":framework-permission{.system.removed-api.txt}",
218 ":framework-sdkextensions{.system.removed-api.txt}",
219 ":framework-statsd{.system.removed-api.txt}",
220 ":framework-tethering{.system.removed-api.txt}",
221 ":framework-wifi{.system.removed-api.txt}",
222 ":non-updatable-system-removed.txt",
223 ],
224 out: ["system-removed.txt"],
225 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000226 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100227 dists: [
228 {
229 targets: ["droidcore"],
230 dir: "api",
231 dest: "system-removed.txt",
232 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000233 {
Pedro Loureiro4f09b852021-06-09 10:59:32 +0000234 targets: [
235 "sdk",
236 "win_sdk",
237 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000238 dir: "apistubs/android/system/api",
239 dest: "removed.txt",
240 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100241 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000242 visibility: ["//visibility:public"],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100243}
244
245genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000246 name: "frameworks-base-api-module-lib-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100247 srcs: [
Victor Changd21107a2021-05-12 10:47:16 +0100248 ":art.module.public.api{.module-lib.api.txt}",
Yan Yanf8b973c2021-02-03 16:07:30 -0800249 ":android.net.ipsec.ike{.module-lib.api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900250 ":framework-connectivity{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100251 ":framework-media{.module-lib.api.txt}",
252 ":framework-mediaprovider{.module-lib.api.txt}",
253 ":framework-permission{.module-lib.api.txt}",
254 ":framework-sdkextensions{.module-lib.api.txt}",
255 ":framework-statsd{.module-lib.api.txt}",
256 ":framework-tethering{.module-lib.api.txt}",
257 ":framework-wifi{.module-lib.api.txt}",
258 ":non-updatable-module-lib-current.txt",
259 ],
260 out: ["module-lib-current.txt"],
261 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000262 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100263 dists: [
264 {
265 targets: ["droidcore"],
266 dir: "api",
267 dest: "module-lib-current.txt",
268 },
269 {
Pedro Loureiro4f09b852021-06-09 10:59:32 +0000270 targets: [
271 "sdk",
272 "win_sdk",
273 ],
Anton Hanssona9ced802020-10-20 19:26:18 +0100274 dir: "apistubs/android/module-lib/api",
275 dest: "android.txt",
276 },
277 ],
Anton Hansson85359f62020-09-21 17:02:25 +0100278}
Anton Hansson3c1aa112020-09-25 09:13:47 +0100279
280genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000281 name: "frameworks-base-api-module-lib-current-compat",
282 srcs: [
283 ":android.api.module-lib.latest",
284 ":android-incompatibilities.api.module-lib.latest",
285 ":frameworks-base-api-current.txt",
286 ":frameworks-base-api-module-lib-current.txt",
287 ],
288 out: ["stdout.txt"],
289 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000290 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +0000291 "--check-compatibility:api:released $(location :android.api.module-lib.latest) " +
292 // Note: having "public" be the base of module-lib is not perfect -- it should
293 // ideally be a merged public+system), but this will help when migrating from
294 // MODULE_LIBS -> public.
295 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
296 "--baseline:compatibility:released $(location :android-incompatibilities.api.module-lib.latest) " +
297 "$(location :frameworks-base-api-module-lib-current.txt) " +
298 "> $(genDir)/stdout.txt",
299}
300
301genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000302 name: "frameworks-base-api-module-lib-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100303 srcs: [
Victor Changd21107a2021-05-12 10:47:16 +0100304 ":art.module.public.api{.module-lib.removed-api.txt}",
Yan Yanf8b973c2021-02-03 16:07:30 -0800305 ":android.net.ipsec.ike{.module-lib.removed-api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900306 ":framework-connectivity{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100307 ":framework-media{.module-lib.removed-api.txt}",
308 ":framework-mediaprovider{.module-lib.removed-api.txt}",
309 ":framework-permission{.module-lib.removed-api.txt}",
310 ":framework-sdkextensions{.module-lib.removed-api.txt}",
311 ":framework-statsd{.module-lib.removed-api.txt}",
312 ":framework-tethering{.module-lib.removed-api.txt}",
313 ":framework-wifi{.module-lib.removed-api.txt}",
314 ":non-updatable-module-lib-removed.txt",
315 ],
316 out: ["module-lib-removed.txt"],
317 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000318 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100319 dists: [
320 {
321 targets: ["droidcore"],
322 dir: "api",
323 dest: "module-lib-removed.txt",
324 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000325 {
Pedro Loureiro4f09b852021-06-09 10:59:32 +0000326 targets: [
327 "sdk",
328 "win_sdk",
329 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000330 dir: "apistubs/android/module-lib/api",
331 dest: "removed.txt",
332 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100333 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100334}
Anton Hanssona15427a2020-10-02 18:21:14 +0100335
336genrule {
337 name: "combined-removed-dex",
Paul Duffin81af1f52021-04-08 19:22:50 +0100338 visibility: [
339 "//frameworks/base/boot",
340 ],
Anton Hanssona15427a2020-10-02 18:21:14 +0100341 srcs: [
Anton Hansson1c4fab42020-11-02 11:57:33 +0000342 ":frameworks-base-api-removed.txt",
343 ":frameworks-base-api-system-removed.txt",
Anton Hanssona15427a2020-10-02 18:21:14 +0100344 ":android.car-stubs-docs{.removed-api.txt}",
345 ":android.car-system-stubs-docs{.removed-api.txt}",
346 ],
347 tool_files: ["gen_combined_removed_dex.sh"],
348 tools: ["metalava"],
349 out: ["combined-removed-dex.txt"],
350 cmd: "$(location gen_combined_removed_dex.sh) $(location metalava) $(genDir) $(in) > $(out)",
351}
Andrei Oneab2cf1812021-02-19 16:28:30 +0000352
353genrule {
354 name: "services-system-server-current.txt",
355 srcs: [
356 ":service-permission{.system-server.api.txt}",
357 ":non-updatable-system-server-current.txt",
358 ],
359 out: ["system-server-current.txt"],
360 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000361 cmd: metalava_cmd + "$(in) --api $(out)",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000362 dists: [
363 {
364 targets: ["droidcore"],
365 dir: "api",
366 dest: "system-server-current.txt",
367 },
368 {
Pedro Loureiro4f09b852021-06-09 10:59:32 +0000369 targets: [
370 "sdk",
371 "win_sdk",
372 ],
Andrei Oneab2cf1812021-02-19 16:28:30 +0000373 dir: "apistubs/android/system-server/api",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000374 dest: "android.txt",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000375 },
376 ],
377}
378
379genrule {
380 name: "services-system-server-removed.txt",
381 srcs: [
382 ":service-permission{.system-server.removed-api.txt}",
383 ":non-updatable-system-server-removed.txt",
384 ],
385 out: ["system-server-removed.txt"],
386 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000387 cmd: metalava_cmd + "$(in) --api $(out)",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000388 dists: [
389 {
390 targets: ["droidcore"],
391 dir: "api",
392 dest: "system-server-removed.txt",
393 },
394 {
Pedro Loureiro4f09b852021-06-09 10:59:32 +0000395 targets: [
396 "sdk",
397 "win_sdk",
398 ],
Andrei Oneab2cf1812021-02-19 16:28:30 +0000399 dir: "apistubs/android/system-server/api",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000400 dest: "removed.txt",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000401 },
402 ],
403}