blob: 5b2d97f113787ae19579ee88968899ab5bb9b3d8 [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: [
Yan Yanf8b973c2021-02-03 16:07:30 -0800152 ":android.net.ipsec.ike{.system.api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900153 ":framework-connectivity{.system.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100154 ":framework-media{.system.api.txt}",
155 ":framework-mediaprovider{.system.api.txt}",
156 ":framework-permission{.system.api.txt}",
157 ":framework-sdkextensions{.system.api.txt}",
158 ":framework-statsd{.system.api.txt}",
159 ":framework-tethering{.system.api.txt}",
160 ":framework-wifi{.system.api.txt}",
161 ":non-updatable-system-current.txt",
162 ],
163 out: ["system-current.txt"],
164 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000165 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100166 dists: [
167 {
168 targets: ["droidcore"],
169 dir: "api",
170 dest: "system-current.txt",
171 },
172 {
Anton Hansson85785fe2021-01-20 20:23:34 +0000173 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +0100174 dir: "apistubs/android/system/api",
175 dest: "android.txt",
176 },
177 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000178 visibility: ["//visibility:public"],
Anton Hansson85359f62020-09-21 17:02:25 +0100179}
180
181genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000182 name: "frameworks-base-api-system-current-compat",
183 srcs: [
184 ":android.api.system.latest",
185 ":android-incompatibilities.api.system.latest",
186 ":frameworks-base-api-current.txt",
187 ":frameworks-base-api-system-current.txt",
188 ],
189 out: ["stdout.txt"],
190 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000191 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +0000192 "--check-compatibility:api:released $(location :android.api.system.latest) " +
193 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
194 "--baseline:compatibility:released $(location :android-incompatibilities.api.system.latest) " +
195 "$(location :frameworks-base-api-system-current.txt) " +
196 "> $(genDir)/stdout.txt",
197}
198
199genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000200 name: "frameworks-base-api-system-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100201 srcs: [
Yan Yanf8b973c2021-02-03 16:07:30 -0800202 ":android.net.ipsec.ike{.system.removed-api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900203 ":framework-connectivity{.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}",
207 ":framework-sdkextensions{.system.removed-api.txt}",
208 ":framework-statsd{.system.removed-api.txt}",
209 ":framework-tethering{.system.removed-api.txt}",
210 ":framework-wifi{.system.removed-api.txt}",
211 ":non-updatable-system-removed.txt",
212 ],
213 out: ["system-removed.txt"],
214 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000215 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100216 dists: [
217 {
218 targets: ["droidcore"],
219 dir: "api",
220 dest: "system-removed.txt",
221 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000222 {
223 targets: ["sdk", "win_sdk"],
224 dir: "apistubs/android/system/api",
225 dest: "removed.txt",
226 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100227 ],
Anton Hansson1c4fab42020-11-02 11:57:33 +0000228 visibility: ["//visibility:public"],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100229}
230
231genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000232 name: "frameworks-base-api-module-lib-current.txt",
Anton Hansson85359f62020-09-21 17:02:25 +0100233 srcs: [
Yan Yanf8b973c2021-02-03 16:07:30 -0800234 ":android.net.ipsec.ike{.module-lib.api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900235 ":framework-connectivity{.module-lib.api.txt}",
Anton Hansson85359f62020-09-21 17:02:25 +0100236 ":framework-media{.module-lib.api.txt}",
237 ":framework-mediaprovider{.module-lib.api.txt}",
238 ":framework-permission{.module-lib.api.txt}",
239 ":framework-sdkextensions{.module-lib.api.txt}",
240 ":framework-statsd{.module-lib.api.txt}",
241 ":framework-tethering{.module-lib.api.txt}",
242 ":framework-wifi{.module-lib.api.txt}",
243 ":non-updatable-module-lib-current.txt",
244 ],
245 out: ["module-lib-current.txt"],
246 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000247 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100248 dists: [
249 {
250 targets: ["droidcore"],
251 dir: "api",
252 dest: "module-lib-current.txt",
253 },
254 {
Anton Hansson85785fe2021-01-20 20:23:34 +0000255 targets: ["sdk", "win_sdk"],
Anton Hanssona9ced802020-10-20 19:26:18 +0100256 dir: "apistubs/android/module-lib/api",
257 dest: "android.txt",
258 },
259 ],
Anton Hansson85359f62020-09-21 17:02:25 +0100260}
Anton Hansson3c1aa112020-09-25 09:13:47 +0100261
262genrule {
Anton Hansson0d6eae62021-02-12 16:47:18 +0000263 name: "frameworks-base-api-module-lib-current-compat",
264 srcs: [
265 ":android.api.module-lib.latest",
266 ":android-incompatibilities.api.module-lib.latest",
267 ":frameworks-base-api-current.txt",
268 ":frameworks-base-api-module-lib-current.txt",
269 ],
270 out: ["stdout.txt"],
271 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000272 cmd: metalava_cmd +
Anton Hansson0d6eae62021-02-12 16:47:18 +0000273 "--check-compatibility:api:released $(location :android.api.module-lib.latest) " +
274 // Note: having "public" be the base of module-lib is not perfect -- it should
275 // ideally be a merged public+system), but this will help when migrating from
276 // MODULE_LIBS -> public.
277 "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
278 "--baseline:compatibility:released $(location :android-incompatibilities.api.module-lib.latest) " +
279 "$(location :frameworks-base-api-module-lib-current.txt) " +
280 "> $(genDir)/stdout.txt",
281}
282
283genrule {
Anton Hansson1c4fab42020-11-02 11:57:33 +0000284 name: "frameworks-base-api-module-lib-removed.txt",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100285 srcs: [
Yan Yanf8b973c2021-02-03 16:07:30 -0800286 ":android.net.ipsec.ike{.module-lib.removed-api.txt}",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +0900287 ":framework-connectivity{.module-lib.removed-api.txt}",
Anton Hansson3c1aa112020-09-25 09:13:47 +0100288 ":framework-media{.module-lib.removed-api.txt}",
289 ":framework-mediaprovider{.module-lib.removed-api.txt}",
290 ":framework-permission{.module-lib.removed-api.txt}",
291 ":framework-sdkextensions{.module-lib.removed-api.txt}",
292 ":framework-statsd{.module-lib.removed-api.txt}",
293 ":framework-tethering{.module-lib.removed-api.txt}",
294 ":framework-wifi{.module-lib.removed-api.txt}",
295 ":non-updatable-module-lib-removed.txt",
296 ],
297 out: ["module-lib-removed.txt"],
298 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000299 cmd: metalava_cmd + "$(in) --api $(out)",
Anton Hanssona9ced802020-10-20 19:26:18 +0100300 dists: [
301 {
302 targets: ["droidcore"],
303 dir: "api",
304 dest: "module-lib-removed.txt",
305 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000306 {
307 targets: ["sdk", "win_sdk"],
308 dir: "apistubs/android/module-lib/api",
309 dest: "removed.txt",
310 },
Anton Hanssona9ced802020-10-20 19:26:18 +0100311 ],
Anton Hansson3c1aa112020-09-25 09:13:47 +0100312}
Anton Hanssona15427a2020-10-02 18:21:14 +0100313
314genrule {
315 name: "combined-removed-dex",
Paul Duffin81af1f52021-04-08 19:22:50 +0100316 visibility: [
317 "//frameworks/base/boot",
318 ],
Anton Hanssona15427a2020-10-02 18:21:14 +0100319 srcs: [
Anton Hansson1c4fab42020-11-02 11:57:33 +0000320 ":frameworks-base-api-removed.txt",
321 ":frameworks-base-api-system-removed.txt",
Anton Hanssona15427a2020-10-02 18:21:14 +0100322 ":android.car-stubs-docs{.removed-api.txt}",
323 ":android.car-system-stubs-docs{.removed-api.txt}",
324 ],
325 tool_files: ["gen_combined_removed_dex.sh"],
326 tools: ["metalava"],
327 out: ["combined-removed-dex.txt"],
328 cmd: "$(location gen_combined_removed_dex.sh) $(location metalava) $(genDir) $(in) > $(out)",
329}
Andrei Oneab2cf1812021-02-19 16:28:30 +0000330
331genrule {
332 name: "services-system-server-current.txt",
333 srcs: [
334 ":service-permission{.system-server.api.txt}",
335 ":non-updatable-system-server-current.txt",
336 ],
337 out: ["system-server-current.txt"],
338 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000339 cmd: metalava_cmd + "$(in) --api $(out)",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000340 dists: [
341 {
342 targets: ["droidcore"],
343 dir: "api",
344 dest: "system-server-current.txt",
345 },
346 {
347 targets: ["sdk", "win_sdk"],
348 dir: "apistubs/android/system-server/api",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000349 dest: "android.txt",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000350 },
351 ],
352}
353
354genrule {
355 name: "services-system-server-removed.txt",
356 srcs: [
357 ":service-permission{.system-server.removed-api.txt}",
358 ":non-updatable-system-server-removed.txt",
359 ],
360 out: ["system-server-removed.txt"],
361 tools: ["metalava"],
Anton Hanssonaa26cc12021-02-15 10:52:33 +0000362 cmd: metalava_cmd + "$(in) --api $(out)",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000363 dists: [
364 {
365 targets: ["droidcore"],
366 dir: "api",
367 dest: "system-server-removed.txt",
368 },
369 {
370 targets: ["sdk", "win_sdk"],
371 dir: "apistubs/android/system-server/api",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000372 dest: "removed.txt",
Andrei Oneab2cf1812021-02-19 16:28:30 +0000373 },
374 ],
375}