blob: 51422b31918aa5eccd9d9278b007f8848d9dda90 [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
Anton Hanssone6737842021-09-27 12:18:20 +010027python_defaults {
28 name: "python3_version_defaults",
Pedro Loureirob91f45d2021-05-26 15:50:07 +000029 version: {
30 py2: {
31 enabled: false,
32 },
33 py3: {
34 enabled: true,
35 embedded_launcher: false,
36 },
37 },
38}
39
Anton Hanssone6737842021-09-27 12:18:20 +010040python_binary_host {
41 name: "api_versions_trimmer",
42 srcs: ["api_versions_trimmer.py"],
43 defaults: ["python3_version_defaults"],
44}
45
Pedro Loureirob91f45d2021-05-26 15:50:07 +000046python_test_host {
47 name: "api_versions_trimmer_unittests",
48 main: "api_versions_trimmer_unittests.py",
49 srcs: [
50 "api_versions_trimmer_unittests.py",
51 "api_versions_trimmer.py",
52 ],
Anton Hanssone6737842021-09-27 12:18:20 +010053 defaults: ["python3_version_defaults"],
Pedro Loureirob91f45d2021-05-26 15:50:07 +000054 test_options: {
55 unit_test: true,
56 },
Anton Hanssone6737842021-09-27 12:18:20 +010057}
58
59python_binary_host {
60 name: "merge_annotation_zips",
61 srcs: ["merge_annotation_zips.py"],
62 defaults: ["python3_version_defaults"],
63}
64
65python_test_host {
66 name: "merge_annotation_zips_test",
67 main: "merge_annotation_zips_test.py",
68 srcs: [
69 "merge_annotation_zips.py",
70 "merge_annotation_zips_test.py",
71 ],
72 defaults: ["python3_version_defaults"],
73 test_options: {
74 unit_test: true,
Pedro Loureirob91f45d2021-05-26 15:50:07 +000075 },
76}
77
Anton Hanssonaa26cc12021-02-15 10:52:33 +000078metalava_cmd = "$(location metalava)"
79// Silence reflection warnings. See b/168689341
80metalava_cmd += " -J--add-opens=java.base/java.util=ALL-UNNAMED "
Anton Hanssonb8ce0812021-08-24 12:08:39 +010081metalava_cmd += " --quiet --no-banner --format=v2 "
Anton Hanssonaa26cc12021-02-15 10:52:33 +000082
Sasha Smundak02cbff442019-08-15 08:27:51 -070083genrule {
84 name: "current-api-xml",
85 tools: ["metalava"],
Anton Hansson00febe22020-11-05 10:30:59 +000086 srcs: [":frameworks-base-api-current.txt"],
Sasha Smundak02cbff442019-08-15 08:27:51 -070087 out: ["current.api"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +000088 cmd: metalava_cmd + "-convert2xmlnostrip $(in) $(out)",
Anton Hanssonfcb91d42020-09-21 16:32:14 +010089 visibility: ["//visibility:public"],
Sasha Smundak02cbff442019-08-15 08:27:51 -070090}
Anton Hansson85359f62020-09-21 17:02:25 +010091
92genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +000093 name: "frameworks-base-api-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +010094 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -080095 ":android.net.ipsec.ike{.public.api.txt}",
Anton Hanssonfc948d862020-12-17 16:57:35 +000096 ":art.module.public.api{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +010097 ":conscrypt.module.public.api{.public.api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +010098 ":framework-appsearch{.public.api.txt}",
Remi NGUYEN VAN9f223cb2021-01-28 13:37:03 +090099 ":framework-connectivity{.public.api.txt}",
paulhuf45fe962021-12-14 23:09:55 +0800100 ":framework-connectivity-tiramisu{.public.api.txt}",
Anton Hansson0eccccb2020-09-24 12:09:25 +0100101 ":framework-graphics{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100102 ":framework-media{.public.api.txt}",
103 ":framework-mediaprovider{.public.api.txt}",
Chun Zhanga615ce52021-10-29 14:57:55 -0700104 ":framework-nearby{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100105 ":framework-permission{.public.api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800106 ":framework-permission-s{.public.api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000107 ":framework-scheduling{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100108 ":framework-sdkextensions{.public.api.txt}",
109 ":framework-statsd{.public.api.txt}",
Gavin Corkerybc006442021-11-16 22:33:10 +0000110 ":framework-supplementalprocess{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100111 ":framework-tethering{.public.api.txt}",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700112 ":framework-uwb{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100113 ":framework-wifi{.public.api.txt}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000114 ":i18n.module.public.api{.public.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100115 ":non-updatable-current.txt",
116 ],
117 out: ["current.txt"],
118 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000119 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100120 dists: [
121 {
122 targets: ["droidcore"],
123 dir: "api",
124 dest: "current.txt",
125 },
126 {
Pedro Loureiro29365192021-06-09 10:59:32 +0000127 targets: [
128 "sdk",
129 "win_sdk",
130 ],
Anton Hanssona9ced802020-10-20 19:26:18 +0100131 dir: "apistubs/android/public/api",
132 dest: "android.txt",
133 },
134 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000135 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +0100136}
137
138genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000139 name: "frameworks-base-api-current-compat",
140 srcs: [
141 ":android.api.public.latest",
142 ":android-incompatibilities.api.public.latest",
143 ":frameworks-base-api-current.txt",
144 ],
Anton Hanssonb8ce0812021-08-24 12:08:39 +0100145 out: ["updated-baseline.txt"],
Anton Hansson0d6eae62021-02-12 16:47:18 +0000146 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000147 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +0000148 "--check-compatibility:api:released $(location :android.api.public.latest) " +
149 "--baseline:compatibility:released $(location :android-incompatibilities.api.public.latest) " +
Anton Hanssonb8ce0812021-08-24 12:08:39 +0100150 "--update-baseline:compatibility:released $(genDir)/updated-baseline.txt " +
151 "$(location :frameworks-base-api-current.txt)",
Anton Hansson0d6eae62021-02-12 16:47:18 +0000152}
153
154genrule {
Anton Hansson89c74dc2020-11-05 20:21:08 +0000155 name: "frameworks-base-api-current.srcjar",
156 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800157 ":android.net.ipsec.ike{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000158 ":api-stubs-docs-non-updatable",
Anton Hanssonfc948d862020-12-17 16:57:35 +0000159 ":art.module.public.api{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000160 ":conscrypt.module.public.api{.public.stubs.source}",
161 ":framework-appsearch{.public.stubs.source}",
Remi NGUYEN VAN9f223cb2021-01-28 13:37:03 +0900162 ":framework-connectivity{.public.stubs.source}",
paulhuf45fe962021-12-14 23:09:55 +0800163 ":framework-connectivity-tiramisu{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000164 ":framework-graphics{.public.stubs.source}",
165 ":framework-media{.public.stubs.source}",
166 ":framework-mediaprovider{.public.stubs.source}",
Chun Zhanga615ce52021-10-29 14:57:55 -0700167 ":framework-nearby{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000168 ":framework-permission{.public.stubs.source}",
Hai Zhang591e1212021-01-21 12:48:43 -0800169 ":framework-permission-s{.public.stubs.source}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000170 ":framework-scheduling{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000171 ":framework-sdkextensions{.public.stubs.source}",
172 ":framework-statsd{.public.stubs.source}",
Gavin Corkerybc006442021-11-16 22:33:10 +0000173 ":framework-supplementalprocess{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000174 ":framework-tethering{.public.stubs.source}",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700175 ":framework-uwb{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000176 ":framework-wifi{.public.stubs.source}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000177 ":i18n.module.public.api{.public.stubs.source}",
Anton Hansson89c74dc2020-11-05 20:21:08 +0000178 ],
179 out: ["current.srcjar"],
180 tools: ["merge_zips"],
181 cmd: "$(location merge_zips) $(out) $(in)",
182 visibility: ["//visibility:private"], // Used by make module in //development, mind.
183}
184
185genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000186 name: "frameworks-base-api-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100187 srcs: [
Yan Yan1357a422021-02-03 16:07:30 -0800188 ":android.net.ipsec.ike{.public.removed-api.txt}",
Anton Hanssonfc948d862020-12-17 16:57:35 +0000189 ":art.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100190 ":conscrypt.module.public.api{.public.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100191 ":framework-appsearch{.public.removed-api.txt}",
Remi NGUYEN VAN9f223cb2021-01-28 13:37:03 +0900192 ":framework-connectivity{.public.removed-api.txt}",
paulhuf45fe962021-12-14 23:09:55 +0800193 ":framework-connectivity-tiramisu{.public.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100194 ":framework-graphics{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100195 ":framework-media{.public.removed-api.txt}",
196 ":framework-mediaprovider{.public.removed-api.txt}",
Chun Zhanga615ce52021-10-29 14:57:55 -0700197 ":framework-nearby{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100198 ":framework-permission{.public.removed-api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800199 ":framework-permission-s{.public.removed-api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000200 ":framework-scheduling{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100201 ":framework-sdkextensions{.public.removed-api.txt}",
202 ":framework-statsd{.public.removed-api.txt}",
Gavin Corkerybc006442021-11-16 22:33:10 +0000203 ":framework-supplementalprocess{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100204 ":framework-tethering{.public.removed-api.txt}",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700205 ":framework-uwb{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100206 ":framework-wifi{.public.removed-api.txt}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000207 ":i18n.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100208 ":non-updatable-removed.txt",
209 ],
210 out: ["removed.txt"],
211 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000212 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100213 dists: [
214 {
215 targets: ["droidcore"],
216 dir: "api",
217 dest: "removed.txt",
218 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000219 {
Pedro Loureiro29365192021-06-09 10:59:32 +0000220 targets: [
221 "sdk",
222 "win_sdk",
223 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000224 dir: "apistubs/android/public/api",
225 dest: "removed.txt",
226 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100227 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100228}
229
230genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000231 name: "frameworks-base-api-system-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100232 srcs: [
Victor Chang9f5cdff2021-05-12 10:47:16 +0100233 ":art.module.public.api{.system.api.txt}",
Yan Yan1357a422021-02-03 16:07:30 -0800234 ":android.net.ipsec.ike{.system.api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100235 ":framework-appsearch{.system.api.txt}",
Remi NGUYEN VAN9f223cb2021-01-28 13:37:03 +0900236 ":framework-connectivity{.system.api.txt}",
paulhuf45fe962021-12-14 23:09:55 +0800237 ":framework-connectivity-tiramisu{.system.api.txt}",
Anton Hansson0eccccb2020-09-24 12:09:25 +0100238 ":framework-graphics{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100239 ":framework-media{.system.api.txt}",
240 ":framework-mediaprovider{.system.api.txt}",
Chun Zhanga615ce52021-10-29 14:57:55 -0700241 ":framework-nearby{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100242 ":framework-permission{.system.api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800243 ":framework-permission-s{.system.api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000244 ":framework-scheduling{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100245 ":framework-sdkextensions{.system.api.txt}",
246 ":framework-statsd{.system.api.txt}",
Gavin Corkerybc006442021-11-16 22:33:10 +0000247 ":framework-supplementalprocess{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100248 ":framework-tethering{.system.api.txt}",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700249 ":framework-uwb{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100250 ":framework-wifi{.system.api.txt}",
251 ":non-updatable-system-current.txt",
252 ],
253 out: ["system-current.txt"],
254 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000255 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100256 dists: [
257 {
258 targets: ["droidcore"],
259 dir: "api",
260 dest: "system-current.txt",
261 },
262 {
Pedro Loureiro29365192021-06-09 10:59:32 +0000263 targets: [
264 "sdk",
265 "win_sdk",
266 ],
Anton Hanssona9ced802020-10-20 19:26:18 +0100267 dir: "apistubs/android/system/api",
268 dest: "android.txt",
269 },
270 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000271 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +0100272}
273
274genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000275 name: "frameworks-base-api-system-current-compat",
276 srcs: [
277 ":android.api.system.latest",
278 ":android-incompatibilities.api.system.latest",
279 ":frameworks-base-api-current.txt",
280 ":frameworks-base-api-system-current.txt",
281 ],
Anton Hanssonb8ce0812021-08-24 12:08:39 +0100282 out: ["updated-baseline.txt"],
Anton Hansson0d6eae62021-02-12 16:47:18 +0000283 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000284 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +0000285 "--check-compatibility:api:released $(location :android.api.system.latest) " +
286 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
287 "--baseline:compatibility:released $(location :android-incompatibilities.api.system.latest) " +
Anton Hanssonb8ce0812021-08-24 12:08:39 +0100288 "--update-baseline:compatibility:released $(genDir)/updated-baseline.txt " +
289 "$(location :frameworks-base-api-system-current.txt)",
Anton Hansson0d6eae62021-02-12 16:47:18 +0000290}
291
292genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000293 name: "frameworks-base-api-system-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100294 srcs: [
Victor Chang9f5cdff2021-05-12 10:47:16 +0100295 ":art.module.public.api{.system.removed-api.txt}",
Yan Yan1357a422021-02-03 16:07:30 -0800296 ":android.net.ipsec.ike{.system.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100297 ":framework-appsearch{.system.removed-api.txt}",
Remi NGUYEN VAN9f223cb2021-01-28 13:37:03 +0900298 ":framework-connectivity{.system.removed-api.txt}",
paulhuf45fe962021-12-14 23:09:55 +0800299 ":framework-connectivity-tiramisu{.system.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100300 ":framework-graphics{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100301 ":framework-media{.system.removed-api.txt}",
302 ":framework-mediaprovider{.system.removed-api.txt}",
Chun Zhanga615ce52021-10-29 14:57:55 -0700303 ":framework-nearby{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100304 ":framework-permission{.system.removed-api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800305 ":framework-permission-s{.system.removed-api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000306 ":framework-scheduling{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100307 ":framework-sdkextensions{.system.removed-api.txt}",
308 ":framework-statsd{.system.removed-api.txt}",
Gavin Corkerybc006442021-11-16 22:33:10 +0000309 ":framework-supplementalprocess{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100310 ":framework-tethering{.system.removed-api.txt}",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700311 ":framework-uwb{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100312 ":framework-wifi{.system.removed-api.txt}",
313 ":non-updatable-system-removed.txt",
314 ],
315 out: ["system-removed.txt"],
316 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000317 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100318 dists: [
319 {
320 targets: ["droidcore"],
321 dir: "api",
322 dest: "system-removed.txt",
323 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000324 {
Pedro Loureiro29365192021-06-09 10:59:32 +0000325 targets: [
326 "sdk",
327 "win_sdk",
328 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000329 dir: "apistubs/android/system/api",
330 dest: "removed.txt",
331 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100332 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000333 visibility: ["//visibility:public"],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100334}
335
336genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000337 name: "frameworks-base-api-module-lib-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100338 srcs: [
Victor Chang9f5cdff2021-05-12 10:47:16 +0100339 ":art.module.public.api{.module-lib.api.txt}",
Yan Yan1357a422021-02-03 16:07:30 -0800340 ":android.net.ipsec.ike{.module-lib.api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100341 ":framework-appsearch{.module-lib.api.txt}",
Remi NGUYEN VAN9f223cb2021-01-28 13:37:03 +0900342 ":framework-connectivity{.module-lib.api.txt}",
paulhuf45fe962021-12-14 23:09:55 +0800343 ":framework-connectivity-tiramisu{.module-lib.api.txt}",
Anton Hansson0eccccb2020-09-24 12:09:25 +0100344 ":framework-graphics{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100345 ":framework-media{.module-lib.api.txt}",
346 ":framework-mediaprovider{.module-lib.api.txt}",
Chun Zhanga615ce52021-10-29 14:57:55 -0700347 ":framework-nearby{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100348 ":framework-permission{.module-lib.api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800349 ":framework-permission-s{.module-lib.api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000350 ":framework-scheduling{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100351 ":framework-sdkextensions{.module-lib.api.txt}",
352 ":framework-statsd{.module-lib.api.txt}",
Gavin Corkerybc006442021-11-16 22:33:10 +0000353 ":framework-supplementalprocess{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100354 ":framework-tethering{.module-lib.api.txt}",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700355 ":framework-uwb{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100356 ":framework-wifi{.module-lib.api.txt}",
357 ":non-updatable-module-lib-current.txt",
358 ],
359 out: ["module-lib-current.txt"],
360 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000361 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100362 dists: [
363 {
364 targets: ["droidcore"],
365 dir: "api",
366 dest: "module-lib-current.txt",
367 },
368 {
Pedro Loureiro29365192021-06-09 10:59:32 +0000369 targets: [
370 "sdk",
371 "win_sdk",
372 ],
Anton Hanssona9ced802020-10-20 19:26:18 +0100373 dir: "apistubs/android/module-lib/api",
374 dest: "android.txt",
375 },
376 ],
Anton Hansson85359f62020-09-21 17:02:25 +0100377}
Anton Hansson3c1aa112020-09-25 09:13:47 +0100378
379genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000380 name: "frameworks-base-api-module-lib-current-compat",
381 srcs: [
382 ":android.api.module-lib.latest",
383 ":android-incompatibilities.api.module-lib.latest",
384 ":frameworks-base-api-current.txt",
385 ":frameworks-base-api-module-lib-current.txt",
386 ],
Anton Hanssonb8ce0812021-08-24 12:08:39 +0100387 out: ["updated-baseline.txt"],
Anton Hansson0d6eae62021-02-12 16:47:18 +0000388 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000389 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +0000390 "--check-compatibility:api:released $(location :android.api.module-lib.latest) " +
391 // Note: having "public" be the base of module-lib is not perfect -- it should
392 // ideally be a merged public+system), but this will help when migrating from
393 // MODULE_LIBS -> public.
394 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
395 "--baseline:compatibility:released $(location :android-incompatibilities.api.module-lib.latest) " +
Anton Hanssonb8ce0812021-08-24 12:08:39 +0100396 "--update-baseline:compatibility:released $(genDir)/updated-baseline.txt " +
397 "$(location :frameworks-base-api-module-lib-current.txt)",
Anton Hansson0d6eae62021-02-12 16:47:18 +0000398}
399
400genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000401 name: "frameworks-base-api-module-lib-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100402 srcs: [
Victor Chang9f5cdff2021-05-12 10:47:16 +0100403 ":art.module.public.api{.module-lib.removed-api.txt}",
Yan Yan1357a422021-02-03 16:07:30 -0800404 ":android.net.ipsec.ike{.module-lib.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100405 ":framework-appsearch{.module-lib.removed-api.txt}",
Remi NGUYEN VAN9f223cb2021-01-28 13:37:03 +0900406 ":framework-connectivity{.module-lib.removed-api.txt}",
paulhuf45fe962021-12-14 23:09:55 +0800407 ":framework-connectivity-tiramisu{.module-lib.removed-api.txt}",
Anton Hanssond74139e2020-10-08 14:59:17 +0100408 ":framework-graphics{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100409 ":framework-media{.module-lib.removed-api.txt}",
410 ":framework-mediaprovider{.module-lib.removed-api.txt}",
Chun Zhanga615ce52021-10-29 14:57:55 -0700411 ":framework-nearby{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100412 ":framework-permission{.module-lib.removed-api.txt}",
Hai Zhang591e1212021-01-21 12:48:43 -0800413 ":framework-permission-s{.module-lib.removed-api.txt}",
Gavin Corkery338545d2021-02-15 20:22:58 +0000414 ":framework-scheduling{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100415 ":framework-sdkextensions{.module-lib.removed-api.txt}",
416 ":framework-statsd{.module-lib.removed-api.txt}",
Gavin Corkerybc006442021-11-16 22:33:10 +0000417 ":framework-supplementalprocess{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100418 ":framework-tethering{.module-lib.removed-api.txt}",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700419 ":framework-uwb{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100420 ":framework-wifi{.module-lib.removed-api.txt}",
421 ":non-updatable-module-lib-removed.txt",
422 ],
423 out: ["module-lib-removed.txt"],
424 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000425 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100426 dists: [
427 {
428 targets: ["droidcore"],
429 dir: "api",
430 dest: "module-lib-removed.txt",
431 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000432 {
Pedro Loureiro29365192021-06-09 10:59:32 +0000433 targets: [
434 "sdk",
435 "win_sdk",
436 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000437 dir: "apistubs/android/module-lib/api",
438 dest: "removed.txt",
439 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100440 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100441}
Anton Hanssona15427a2020-10-02 18:21:14 +0100442
443genrule {
444 name: "combined-removed-dex",
Paul Duffin81af1f52021-04-08 19:22:50 +0100445 visibility: [
446 "//frameworks/base/boot",
447 ],
Anton Hanssona15427a2020-10-02 18:21:14 +0100448 srcs: [
Anton Hansson1c4fab42020-11-02 11:57:33 +0000449 ":frameworks-base-api-removed.txt",
450 ":frameworks-base-api-system-removed.txt",
Anton Hanssona15427a2020-10-02 18:21:14 +0100451 ":android.car-stubs-docs{.removed-api.txt}",
452 ":android.car-system-stubs-docs{.removed-api.txt}",
453 ],
454 tool_files: ["gen_combined_removed_dex.sh"],
455 tools: ["metalava"],
456 out: ["combined-removed-dex.txt"],
457 cmd: "$(location gen_combined_removed_dex.sh) $(location metalava) $(genDir) $(in) > $(out)",
458}
Andrei Oneadcb54462021-02-19 16:28:30 +0000459
460genrule {
Anton Hanssonabce6f02021-10-08 16:14:25 +0100461 name: "frameworks-base-api-system-server-current.txt",
Andrei Oneadcb54462021-02-19 16:28:30 +0000462 srcs: [
Andrei Onea7e609d42021-03-12 17:02:49 +0000463 ":service-media-s{.system-server.api.txt}",
Andrei Oneadcb54462021-02-19 16:28:30 +0000464 ":service-permission{.system-server.api.txt}",
465 ":non-updatable-system-server-current.txt",
466 ],
467 out: ["system-server-current.txt"],
468 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000469 cmd: metalava_cmd + "$(in) --api $(out)",
Andrei Oneadcb54462021-02-19 16:28:30 +0000470 dists: [
471 {
472 targets: ["droidcore"],
473 dir: "api",
474 dest: "system-server-current.txt",
475 },
476 {
Pedro Loureiro29365192021-06-09 10:59:32 +0000477 targets: [
478 "sdk",
479 "win_sdk",
480 ],
Andrei Oneadcb54462021-02-19 16:28:30 +0000481 dir: "apistubs/android/system-server/api",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000482 dest: "android.txt",
Andrei Oneadcb54462021-02-19 16:28:30 +0000483 },
484 ],
485}
486
487genrule {
Anton Hanssonabce6f02021-10-08 16:14:25 +0100488 name: "frameworks-base-api-system-server-removed.txt",
Andrei Oneadcb54462021-02-19 16:28:30 +0000489 srcs: [
Andrei Onea7e609d42021-03-12 17:02:49 +0000490 ":service-media-s{.system-server.removed-api.txt}",
Andrei Oneadcb54462021-02-19 16:28:30 +0000491 ":service-permission{.system-server.removed-api.txt}",
492 ":non-updatable-system-server-removed.txt",
493 ],
494 out: ["system-server-removed.txt"],
495 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000496 cmd: metalava_cmd + "$(in) --api $(out)",
Andrei Oneadcb54462021-02-19 16:28:30 +0000497 dists: [
498 {
499 targets: ["droidcore"],
500 dir: "api",
501 dest: "system-server-removed.txt",
502 },
503 {
Pedro Loureiro29365192021-06-09 10:59:32 +0000504 targets: [
505 "sdk",
506 "win_sdk",
507 ],
Andrei Oneadcb54462021-02-19 16:28:30 +0000508 dir: "apistubs/android/system-server/api",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000509 dest: "removed.txt",
Andrei Oneadcb54462021-02-19 16:28:30 +0000510 },
511 ],
512}
Pedro Loureirob91f45d2021-05-26 15:50:07 +0000513
514// This rule will filter classes present in the jar files of mainline modules
515// from the lint database in api-versions.xml.
516// This is done to reduce the number of false positive NewApi findings in
517// java libraries that compile against the module SDK
518genrule {
519 name: "api-versions-xml-public-filtered",
520 srcs: [
521 // Note: order matters: first parameter is the full api-versions.xml
522 // after that the stubs files in any order
523 // stubs files are all modules that export API surfaces EXCEPT ART
524 ":framework-doc-stubs{.api_versions.xml}",
525 ":android.net.ipsec.ike.stubs{.jar}",
526 ":conscrypt.module.public.api.stubs{.jar}",
527 ":framework-appsearch.stubs{.jar}",
528 ":framework-connectivity.stubs{.jar}",
paulhuf45fe962021-12-14 23:09:55 +0800529 ":framework-connectivity-tiramisu.stubs{.jar}",
Pedro Loureirob91f45d2021-05-26 15:50:07 +0000530 ":framework-graphics.stubs{.jar}",
531 ":framework-media.stubs{.jar}",
532 ":framework-mediaprovider.stubs{.jar}",
Chun Zhanga615ce52021-10-29 14:57:55 -0700533 ":framework-nearby.stubs{.jar}",
Pedro Loureirob91f45d2021-05-26 15:50:07 +0000534 ":framework-permission.stubs{.jar}",
535 ":framework-permission-s.stubs{.jar}",
536 ":framework-scheduling.stubs{.jar}",
537 ":framework-sdkextensions.stubs{.jar}",
538 ":framework-statsd.stubs{.jar}",
Gavin Corkerybc006442021-11-16 22:33:10 +0000539 ":framework-supplementalprocess.stubs{.jar}",
Pedro Loureirob91f45d2021-05-26 15:50:07 +0000540 ":framework-tethering.stubs{.jar}",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700541 ":framework-uwb.stubs{.jar}",
Pedro Loureirob91f45d2021-05-26 15:50:07 +0000542 ":framework-wifi.stubs{.jar}",
543 ":i18n.module.public.api.stubs{.jar}",
544 ],
545 out: ["api-versions-public-filtered.xml"],
546 tools: ["api_versions_trimmer"],
547 cmd: "$(location api_versions_trimmer) $(out) $(in)",
548 dist: {
549 targets: [
550 "sdk",
551 "win_sdk",
552 ],
553 },
554}