blob: 438e7dc29b222de7c7a79646a0d13046ef38ad2c [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 {
Anton Hansson85785fe2021-01-20 20:23:34 +000068 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +010069 dir: "apistubs/android/public/api",
70 dest: "android.txt",
71 },
72 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +000073 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +010074}
75
76genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +000077 name: "frameworks-base-api-current-compat",
78 srcs: [
79 ":android.api.public.latest",
80 ":android-incompatibilities.api.public.latest",
81 ":frameworks-base-api-current.txt",
82 ],
83 out: ["stdout.txt"],
84 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +000085 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +000086 "--check-compatibility:api:released $(location :android.api.public.latest) " +
87 "--baseline:compatibility:released $(location :android-incompatibilities.api.public.latest) " +
88 "$(location :frameworks-base-api-current.txt) " +
89 "> $(genDir)/stdout.txt",
90}
91
92genrule {
Anton Hanssond75144f2020-11-05 20:21:08 +000093 name: "frameworks-base-api-current.srcjar",
94 srcs: [
Yan Yanf8b973c2021-02-03 16:07:30 -080095 ":android.net.ipsec.ike{.public.stubs.source}",
Anton Hanssond75144f2020-11-05 20:21:08 +000096 ":api-stubs-docs-non-updatable",
Anton Hanssonfc948d862020-12-17 16:57:35 +000097 ":art.module.public.api{.public.stubs.source}",
Anton Hanssond75144f2020-11-05 20:21:08 +000098 ":conscrypt.module.public.api{.public.stubs.source}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +090099 ":framework-connectivity{.public.stubs.source}",
Anton Hanssond75144f2020-11-05 20:21:08 +0000100 ":framework-media{.public.stubs.source}",
101 ":framework-mediaprovider{.public.stubs.source}",
102 ":framework-permission{.public.stubs.source}",
103 ":framework-sdkextensions{.public.stubs.source}",
104 ":framework-statsd{.public.stubs.source}",
105 ":framework-tethering{.public.stubs.source}",
106 ":framework-wifi{.public.stubs.source}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000107 ":i18n.module.public.api{.public.stubs.source}",
Anton Hanssond75144f2020-11-05 20:21:08 +0000108 ],
109 out: ["current.srcjar"],
110 tools: ["merge_zips"],
111 cmd: "$(location merge_zips) $(out) $(in)",
112 visibility: ["//visibility:private"], // Used by make module in //development, mind.
113}
114
115genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000116 name: "frameworks-base-api-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100117 srcs: [
Yan Yanf8b973c2021-02-03 16:07:30 -0800118 ":android.net.ipsec.ike{.public.removed-api.txt}",
Anton Hanssonfc948d862020-12-17 16:57:35 +0000119 ":art.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100120 ":conscrypt.module.public.api{.public.removed-api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900121 ":framework-connectivity{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100122 ":framework-media{.public.removed-api.txt}",
123 ":framework-mediaprovider{.public.removed-api.txt}",
124 ":framework-permission{.public.removed-api.txt}",
125 ":framework-sdkextensions{.public.removed-api.txt}",
126 ":framework-statsd{.public.removed-api.txt}",
127 ":framework-tethering{.public.removed-api.txt}",
128 ":framework-wifi{.public.removed-api.txt}",
Paul Duffin5a4e8f22020-11-25 15:45:43 +0000129 ":i18n.module.public.api{.public.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100130 ":non-updatable-removed.txt",
131 ],
132 out: ["removed.txt"],
133 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000134 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100135 dists: [
136 {
137 targets: ["droidcore"],
138 dir: "api",
139 dest: "removed.txt",
140 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000141 {
142 targets: ["sdk", "win_sdk"],
143 dir: "apistubs/android/public/api",
144 dest: "removed.txt",
145 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100146 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100147}
148
149genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000150 name: "frameworks-base-api-system-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100151 srcs: [
Victor Changd21107a2021-05-12 10:47:16 +0100152 ":art.module.public.api{.system.api.txt}",
Yan Yanf8b973c2021-02-03 16:07:30 -0800153 ":android.net.ipsec.ike{.system.api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900154 ":framework-connectivity{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100155 ":framework-media{.system.api.txt}",
156 ":framework-mediaprovider{.system.api.txt}",
157 ":framework-permission{.system.api.txt}",
158 ":framework-sdkextensions{.system.api.txt}",
159 ":framework-statsd{.system.api.txt}",
160 ":framework-tethering{.system.api.txt}",
161 ":framework-wifi{.system.api.txt}",
162 ":non-updatable-system-current.txt",
163 ],
164 out: ["system-current.txt"],
165 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000166 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100167 dists: [
168 {
169 targets: ["droidcore"],
170 dir: "api",
171 dest: "system-current.txt",
172 },
173 {
Anton Hansson85785fe2021-01-20 20:23:34 +0000174 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +0100175 dir: "apistubs/android/system/api",
176 dest: "android.txt",
177 },
178 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000179 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +0100180}
181
182genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000183 name: "frameworks-base-api-system-current-compat",
184 srcs: [
185 ":android.api.system.latest",
186 ":android-incompatibilities.api.system.latest",
187 ":frameworks-base-api-current.txt",
188 ":frameworks-base-api-system-current.txt",
189 ],
190 out: ["stdout.txt"],
191 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000192 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +0000193 "--check-compatibility:api:released $(location :android.api.system.latest) " +
194 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
195 "--baseline:compatibility:released $(location :android-incompatibilities.api.system.latest) " +
196 "$(location :frameworks-base-api-system-current.txt) " +
197 "> $(genDir)/stdout.txt",
198}
199
200genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000201 name: "frameworks-base-api-system-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100202 srcs: [
Victor Changd21107a2021-05-12 10:47:16 +0100203 ":art.module.public.api{.system.removed-api.txt}",
Yan Yanf8b973c2021-02-03 16:07:30 -0800204 ":android.net.ipsec.ike{.system.removed-api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900205 ":framework-connectivity{.system.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100206 ":framework-media{.system.removed-api.txt}",
207 ":framework-mediaprovider{.system.removed-api.txt}",
208 ":framework-permission{.system.removed-api.txt}",
209 ":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"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000217 cmd: metalava_cmd + "$(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: [
Victor Changd21107a2021-05-12 10:47:16 +0100236 ":art.module.public.api{.module-lib.api.txt}",
Yan Yanf8b973c2021-02-03 16:07:30 -0800237 ":android.net.ipsec.ike{.module-lib.api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900238 ":framework-connectivity{.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}",
242 ":framework-sdkextensions{.module-lib.api.txt}",
243 ":framework-statsd{.module-lib.api.txt}",
244 ":framework-tethering{.module-lib.api.txt}",
245 ":framework-wifi{.module-lib.api.txt}",
246 ":non-updatable-module-lib-current.txt",
247 ],
248 out: ["module-lib-current.txt"],
249 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000250 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100251 dists: [
252 {
253 targets: ["droidcore"],
254 dir: "api",
255 dest: "module-lib-current.txt",
256 },
257 {
Anton Hansson85785fe2021-01-20 20:23:34 +0000258 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +0100259 dir: "apistubs/android/module-lib/api",
260 dest: "android.txt",
261 },
262 ],
Anton Hansson85359f62020-09-21 17:02:25 +0100263}
Anton Hansson3c1aa112020-09-25 09:13:47 +0100264
265genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000266 name: "frameworks-base-api-module-lib-current-compat",
267 srcs: [
268 ":android.api.module-lib.latest",
269 ":android-incompatibilities.api.module-lib.latest",
270 ":frameworks-base-api-current.txt",
271 ":frameworks-base-api-module-lib-current.txt",
272 ],
273 out: ["stdout.txt"],
274 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000275 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +0000276 "--check-compatibility:api:released $(location :android.api.module-lib.latest) " +
277 // Note: having "public" be the base of module-lib is not perfect -- it should
278 // ideally be a merged public+system), but this will help when migrating from
279 // MODULE_LIBS -> public.
280 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
281 "--baseline:compatibility:released $(location :android-incompatibilities.api.module-lib.latest) " +
282 "$(location :frameworks-base-api-module-lib-current.txt) " +
283 "> $(genDir)/stdout.txt",
284}
285
286genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000287 name: "frameworks-base-api-module-lib-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100288 srcs: [
Victor Changd21107a2021-05-12 10:47:16 +0100289 ":art.module.public.api{.module-lib.removed-api.txt}",
Yan Yanf8b973c2021-02-03 16:07:30 -0800290 ":android.net.ipsec.ike{.module-lib.removed-api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900291 ":framework-connectivity{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100292 ":framework-media{.module-lib.removed-api.txt}",
293 ":framework-mediaprovider{.module-lib.removed-api.txt}",
294 ":framework-permission{.module-lib.removed-api.txt}",
295 ":framework-sdkextensions{.module-lib.removed-api.txt}",
296 ":framework-statsd{.module-lib.removed-api.txt}",
297 ":framework-tethering{.module-lib.removed-api.txt}",
298 ":framework-wifi{.module-lib.removed-api.txt}",
299 ":non-updatable-module-lib-removed.txt",
300 ],
301 out: ["module-lib-removed.txt"],
302 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000303 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100304 dists: [
305 {
306 targets: ["droidcore"],
307 dir: "api",
308 dest: "module-lib-removed.txt",
309 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000310 {
311 targets: ["sdk", "win_sdk"],
312 dir: "apistubs/android/module-lib/api",
313 dest: "removed.txt",
314 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100315 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100316}
Anton Hanssona15427a2020-10-02 18:21:14 +0100317
318genrule {
319 name: "combined-removed-dex",
Paul Duffin81af1f52021-04-08 19:22:50 +0100320 visibility: [
321 "//frameworks/base/boot",
322 ],
Anton Hanssona15427a2020-10-02 18:21:14 +0100323 srcs: [
Anton Hansson1c4fab42020-11-02 11:57:33 +0000324 ":frameworks-base-api-removed.txt",
325 ":frameworks-base-api-system-removed.txt",
Anton Hanssona15427a2020-10-02 18:21:14 +0100326 ":android.car-stubs-docs{.removed-api.txt}",
327 ":android.car-system-stubs-docs{.removed-api.txt}",
328 ],
329 tool_files: ["gen_combined_removed_dex.sh"],
330 tools: ["metalava"],
331 out: ["combined-removed-dex.txt"],
332 cmd: "$(location gen_combined_removed_dex.sh) $(location metalava) $(genDir) $(in) > $(out)",
333}
Andrei Oneab2cf1812021-02-19 16:28:30 +0000334
335genrule {
336 name: "services-system-server-current.txt",
337 srcs: [
338 ":service-permission{.system-server.api.txt}",
339 ":non-updatable-system-server-current.txt",
340 ],
341 out: ["system-server-current.txt"],
342 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000343 cmd: metalava_cmd + "$(in) --api $(out)",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000344 dists: [
345 {
346 targets: ["droidcore"],
347 dir: "api",
348 dest: "system-server-current.txt",
349 },
350 {
351 targets: ["sdk", "win_sdk"],
352 dir: "apistubs/android/system-server/api",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000353 dest: "android.txt",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000354 },
355 ],
356}
357
358genrule {
359 name: "services-system-server-removed.txt",
360 srcs: [
361 ":service-permission{.system-server.removed-api.txt}",
362 ":non-updatable-system-server-removed.txt",
363 ],
364 out: ["system-server-removed.txt"],
365 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000366 cmd: metalava_cmd + "$(in) --api $(out)",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000367 dists: [
368 {
369 targets: ["droidcore"],
370 dir: "api",
371 dest: "system-server-removed.txt",
372 },
373 {
374 targets: ["sdk", "win_sdk"],
375 dir: "apistubs/android/system-server/api",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000376 dest: "removed.txt",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000377 },
378 ],
379}