blob: 3e277e8a0cab5579b39f3bb4f903d72fe5fa3a08 [file] [log] [blame]
Jiyong Park7fb4b182019-12-20 14:35:43 +09001// Copyright (C) 2019 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
15// How stubs are generated:
16//
17// raw source files --(metalava)--> stub source files --(javac)--> stub jar files
18//
Anton Hansson2feb3f12020-11-13 11:44:32 +000019// - The metalava conversion is done by droidstub modules
20// - The javac compilation is done by java_library modules
21//
Jiyong Park7fb4b182019-12-20 14:35:43 +090022// The metalava conversion is also responsible for creating API signature files
Anton Hansson2feb3f12020-11-13 11:44:32 +000023// and comparing them against the checked in API signature, and also checking compatibility
24// with the latest frozen API signature.
Jiyong Park7fb4b182019-12-20 14:35:43 +090025
26/////////////////////////////////////////////////////////////////////
Anton Hansson51861e72020-11-13 09:55:29 +000027// These modules provide source files for the stub libraries
Jiyong Park7fb4b182019-12-20 14:35:43 +090028/////////////////////////////////////////////////////////////////////
29
Jihoon Kang2d295ae2024-03-21 23:57:14 +000030soong_config_module_type_import {
31 from: "frameworks/base/api/Android.bp",
32 module_types: ["non_updatable_exportable_droidstubs"],
33}
34
35non_updatable_exportable_droidstubs {
Anton Hansson76d3db42020-04-09 14:16:37 +010036 name: "api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +000037 defaults: [
38 "android-non-updatable-stubs-defaults",
39 "module-classpath-stubs-defaults",
40 ],
Anton Hansson76d3db42020-04-09 14:16:37 +010041 check_api: {
42 current: {
Anton Hanssonb7cda922023-03-03 15:38:28 +000043 api_file: ":non-updatable-current.txt",
44 removed_api_file: ":non-updatable-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +010045 },
Anton Hansson37e102e2020-10-05 16:42:40 +010046 last_released: {
47 api_file: ":android-non-updatable.api.public.latest",
48 removed_api_file: ":android-non-updatable-removed.api.public.latest",
Anton Hansson7f3393d2021-04-12 11:56:53 +010049 baseline_file: ":android-non-updatable-incompatibilities.api.public.latest",
Anton Hansson37e102e2020-10-05 16:42:40 +010050 },
Anton Hansson76d3db42020-04-09 14:16:37 +010051 api_lint: {
52 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +010053 new_since: ":android.api.public.latest",
Adrian Roos440f3cf2023-09-20 10:03:31 +000054 baseline_file: ":non-updatable-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +010055 },
56 },
Jihoon Kang2d295ae2024-03-21 23:57:14 +000057 soong_config_variables: {
58 release_hidden_api_exportable_stubs: {
59 dists: [
60 {
Jihoon Kang00f480e2024-04-10 18:55:36 +000061 targets: ["sdk"],
62 dir: "apistubs/android/public/api",
63 dest: "android-non-updatable.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +000064 tag: ".exportable.api.txt",
65 },
66 {
Jihoon Kang00f480e2024-04-10 18:55:36 +000067 targets: ["sdk"],
68 dir: "apistubs/android/public/api",
69 dest: "android-non-updatable-removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +000070 tag: ".exportable.removed-api.txt",
71 },
72 ],
73 conditions_default: {
74 dists: [
75 {
Jihoon Kang00f480e2024-04-10 18:55:36 +000076 targets: ["sdk"],
77 dir: "apistubs/android/public/api",
78 dest: "android-non-updatable.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +000079 tag: ".api.txt",
80 },
81 {
Jihoon Kang00f480e2024-04-10 18:55:36 +000082 targets: ["sdk"],
83 dir: "apistubs/android/public/api",
84 dest: "android-non-updatable-removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +000085 tag: ".removed-api.txt",
86 },
87 ],
88 },
89 },
90 },
Jihoon Kang866b9b7a2023-09-20 22:28:05 +000091 api_surface: "public",
Anton Hansson76d3db42020-04-09 14:16:37 +010092}
93
Anton Hansson84a0e712023-10-23 09:17:45 +000094priv_apps = [
95 "--show-annotation android.annotation.SystemApi\\(" +
96 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
97 "\\)",
98]
Anton Hansson2feb3f12020-11-13 11:44:32 +000099
Anton Hansson84a0e712023-10-23 09:17:45 +0000100priv_apps_in_stubs = [
101 "--show-for-stub-purposes-annotation android.annotation.SystemApi\\(" +
102 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
103 "\\)",
104]
Anton Hansson2feb3f12020-11-13 11:44:32 +0000105
Anton Hansson84a0e712023-10-23 09:17:45 +0000106test = ["--show-annotation android.annotation.TestApi"]
Anton Hansson2feb3f12020-11-13 11:44:32 +0000107
Anton Hansson84a0e712023-10-23 09:17:45 +0000108module_libs = [
109 "--show-annotation android.annotation.SystemApi\\(" +
110 "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
111 "\\)",
112]
Anton Hansson81969c22020-02-03 20:45:56 +0000113
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000114non_updatable_exportable_droidstubs {
Anton Hansson76d3db42020-04-09 14:16:37 +0100115 name: "system-api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +0000116 defaults: [
117 "android-non-updatable-stubs-defaults",
118 "module-classpath-stubs-defaults",
119 ],
Anton Hansson84a0e712023-10-23 09:17:45 +0000120 flags: priv_apps,
Anton Hansson76d3db42020-04-09 14:16:37 +0100121 check_api: {
122 current: {
Anton Hanssonb7cda922023-03-03 15:38:28 +0000123 api_file: ":non-updatable-system-current.txt",
124 removed_api_file: ":non-updatable-system-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100125 },
Anton Hansson37e102e2020-10-05 16:42:40 +0100126 last_released: {
127 api_file: ":android-non-updatable.api.system.latest",
128 removed_api_file: ":android-non-updatable-removed.api.system.latest",
Anton Hansson240ee482021-04-14 12:52:00 +0100129 baseline_file: ":android-non-updatable-incompatibilities.api.system.latest",
Anton Hansson37e102e2020-10-05 16:42:40 +0100130 },
Anton Hansson76d3db42020-04-09 14:16:37 +0100131 api_lint: {
132 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +0100133 new_since: ":android.api.system.latest",
Anton Hanssonb7cda922023-03-03 15:38:28 +0000134 baseline_file: ":non-updatable-system-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100135 },
136 },
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000137 soong_config_variables: {
138 release_hidden_api_exportable_stubs: {
139 dists: [
140 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000141 targets: ["sdk"],
142 dir: "apistubs/android/system/api",
143 dest: "android-non-updatable.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000144 tag: ".exportable.api.txt",
145 },
146 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000147 targets: ["sdk"],
148 dir: "apistubs/android/system/api",
149 dest: "android-non-updatable-removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000150 tag: ".exportable.removed-api.txt",
151 },
152 ],
153 conditions_default: {
154 dists: [
155 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000156 targets: ["sdk"],
157 dir: "apistubs/android/system/api",
158 dest: "android-non-updatable.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000159 tag: ".api.txt",
160 },
161 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000162 targets: ["sdk"],
163 dir: "apistubs/android/system/api",
164 dest: "android-non-updatable-removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000165 tag: ".removed-api.txt",
166 },
167 ],
168 },
169 },
170 },
Jihoon Kang866b9b7a2023-09-20 22:28:05 +0000171 api_surface: "system",
Anton Hansson76d3db42020-04-09 14:16:37 +0100172}
173
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000174non_updatable_exportable_droidstubs {
Anton Hansson022aac52020-11-05 10:45:13 +0000175 name: "test-api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +0000176 defaults: [
177 "android-non-updatable-stubs-defaults",
178 "module-classpath-stubs-defaults",
179 ],
Anton Hansson84a0e712023-10-23 09:17:45 +0000180 flags: test + priv_apps_in_stubs,
Jiyong Park7fb4b182019-12-20 14:35:43 +0900181 check_api: {
182 current: {
Anton Hanssonb7cda922023-03-03 15:38:28 +0000183 api_file: ":non-updatable-test-current.txt",
184 removed_api_file: ":non-updatable-test-removed.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900185 },
186 api_lint: {
187 enabled: true,
Adrian Roos440f3cf2023-09-20 10:03:31 +0000188 new_since: ":android.api.test.latest",
Anton Hanssonb7cda922023-03-03 15:38:28 +0000189 baseline_file: ":non-updatable-test-lint-baseline.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900190 },
191 },
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000192 soong_config_variables: {
193 release_hidden_api_exportable_stubs: {
194 dists: [
195 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000196 targets: ["sdk"],
197 dir: "apistubs/android/test/api",
198 dest: "android.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000199 tag: ".exportable.api.txt",
200 },
201 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000202 targets: ["sdk"],
203 dir: "apistubs/android/test/api",
204 dest: "removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000205 tag: ".exportable.removed-api.txt",
206 },
207 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000208 targets: ["sdk"],
209 dir: "apistubs/android/test/api",
210 dest: "android-non-updatable.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000211 tag: ".exportable.api.txt",
212 },
213 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000214 targets: ["sdk"],
215 dir: "apistubs/android/test/api",
216 dest: "android-non-updatable-removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000217 tag: ".exportable.removed-api.txt",
218 },
219 ],
220 conditions_default: {
221 dists: [
222 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000223 targets: ["sdk"],
224 dir: "apistubs/android/test/api",
225 dest: "android.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000226 tag: ".api.txt",
227 },
228 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000229 targets: ["sdk"],
230 dir: "apistubs/android/test/api",
231 dest: "removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000232 tag: ".removed-api.txt",
233 },
234 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000235 targets: ["sdk"],
236 dir: "apistubs/android/test/api",
237 dest: "android-non-updatable.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000238 tag: ".api.txt",
239 },
240 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000241 targets: ["sdk"],
242 dir: "apistubs/android/test/api",
243 dest: "android-non-updatable-removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000244 tag: ".removed-api.txt",
245 },
246 ],
247 },
248 },
249 },
Jihoon Kang866b9b7a2023-09-20 22:28:05 +0000250 api_surface: "test",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900251}
252
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000253non_updatable_exportable_droidstubs {
Anton Hansson76d3db42020-04-09 14:16:37 +0100254 name: "module-lib-api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +0000255 defaults: [
256 "android-non-updatable-stubs-defaults",
257 "module-classpath-stubs-defaults",
258 ],
Anton Hansson84a0e712023-10-23 09:17:45 +0000259 flags: priv_apps_in_stubs + module_libs,
Anton Hansson76d3db42020-04-09 14:16:37 +0100260 check_api: {
261 current: {
Anton Hanssonb7cda922023-03-03 15:38:28 +0000262 api_file: ":non-updatable-module-lib-current.txt",
263 removed_api_file: ":non-updatable-module-lib-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100264 },
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100265 last_released: {
266 api_file: ":android-non-updatable.api.module-lib.latest",
267 removed_api_file: ":android-non-updatable-removed.api.module-lib.latest",
Junyu Lai2dbb1772022-01-12 17:38:02 +0000268 baseline_file: ":android-non-updatable-incompatibilities.api.module-lib.latest",
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100269 },
Anton Hansson76d3db42020-04-09 14:16:37 +0100270 api_lint: {
271 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +0100272 new_since: ":android.api.module-lib.latest",
Anton Hanssonb7cda922023-03-03 15:38:28 +0000273 baseline_file: ":non-updatable-module-lib-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100274 },
275 },
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000276 soong_config_variables: {
277 release_hidden_api_exportable_stubs: {
278 dists: [
279 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000280 targets: ["sdk"],
281 dir: "apistubs/android/module-lib/api",
282 dest: "android-non-updatable.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000283 tag: ".exportable.api.txt",
284 },
285 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000286 targets: ["sdk"],
287 dir: "apistubs/android/module-lib/api",
288 dest: "android-non-updatable-removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000289 tag: ".exportable.removed-api.txt",
290 },
291 ],
292 conditions_default: {
293 dists: [
294 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000295 targets: ["sdk"],
296 dir: "apistubs/android/module-lib/api",
297 dest: "android-non-updatable.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000298 tag: ".api.txt",
299 },
300 {
Jihoon Kang00f480e2024-04-10 18:55:36 +0000301 targets: ["sdk"],
302 dir: "apistubs/android/module-lib/api",
303 dest: "android-non-updatable-removed.txt",
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000304 tag: ".removed-api.txt",
305 },
306 ],
307 },
308 },
309 },
Jihoon Kang866b9b7a2023-09-20 22:28:05 +0000310 api_surface: "module-lib",
Anton Hansson76d3db42020-04-09 14:16:37 +0100311}
Anton Hansson81969c22020-02-03 20:45:56 +0000312
Jiyong Parke3095162019-12-20 15:30:28 +0900313/////////////////////////////////////////////////////////////////////
Jiyong Park7fb4b182019-12-20 14:35:43 +0900314// android_*_stubs_current modules are the stubs libraries compiled
Anton Hansson2feb3f12020-11-13 11:44:32 +0000315// from stub sources
Jiyong Park7fb4b182019-12-20 14:35:43 +0900316/////////////////////////////////////////////////////////////////////
317
318java_defaults {
Anton Hanssonc43a66b2022-03-03 15:14:04 +0000319 name: "android.jar_defaults",
320 sdk_version: "none",
321 system_modules: "none",
322 java_version: "1.8",
323 compile_dex: true,
Anton Hanssonc43a66b2022-03-03 15:14:04 +0000324 visibility: ["//visibility:public"],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000325 is_stubs_module: true,
Anton Hanssonc43a66b2022-03-03 15:14:04 +0000326}
327
328java_defaults {
Jihoon Kang491c7082023-06-15 18:37:01 +0000329 name: "android-non-updatable_defaults",
Anton Hanssonfbd32f32020-04-09 14:16:37 +0100330 sdk_version: "none",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900331 system_modules: "none",
332 java_version: "1.8",
333 compile_dex: true,
Jihoon Kanga7073b52024-02-12 23:18:52 +0000334 is_stubs_module: true,
Jihoon Kang491c7082023-06-15 18:37:01 +0000335}
336
337java_defaults {
338 name: "android-non-updatable_from_source_defaults",
339 libs: ["stub-annotations"],
340 static_libs: ["framework-res-package-jar"], // Export package of framework-res
Jihoon Kang059b9492023-12-29 00:40:34 +0000341}
342
343java_defaults {
344 name: "android-non-updatable_exportable_from_source_defaults",
Anton Hanssona4108912021-04-09 13:40:11 +0100345 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000346 targets: ["sdk"],
Anton Hanssona4108912021-04-09 13:40:11 +0100347 tag: ".jar",
348 dest: "android-non-updatable.jar",
Anton Hansson240ee482021-04-14 12:52:00 +0100349 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900350}
351
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100352java_library {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100353 name: "android-non-updatable.stubs",
Jihoon Kang491c7082023-06-15 18:37:01 +0000354 defaults: ["android-non-updatable_defaults"],
355 static_libs: [
356 "android-non-updatable.stubs.from-source",
357 ],
358 product_variables: {
359 build_from_text_stub: {
360 static_libs: [
361 "android-non-updatable.stubs.from-text",
362 ],
363 exclude_static_libs: [
364 "android-non-updatable.stubs.from-source",
365 ],
366 },
367 },
368}
369
370java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000371 name: "android-non-updatable.stubs.exportable",
372 defaults: ["android-non-updatable_defaults"],
373 static_libs: [
374 "android-non-updatable.stubs.exportable.from-source",
375 ],
376}
377
378java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000379 name: "android-non-updatable.stubs.system",
380 defaults: ["android-non-updatable_defaults"],
381 static_libs: [
382 "android-non-updatable.stubs.system.from-source",
383 ],
384 product_variables: {
385 build_from_text_stub: {
386 static_libs: [
387 "android-non-updatable.stubs.system.from-text",
388 ],
389 exclude_static_libs: [
390 "android-non-updatable.stubs.system.from-source",
391 ],
392 },
393 },
394}
395
396java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000397 name: "android-non-updatable.stubs.exportable.system",
398 defaults: ["android-non-updatable_defaults"],
399 static_libs: [
400 "android-non-updatable.stubs.exportable.system.from-source",
401 ],
402}
403
404java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000405 name: "android-non-updatable.stubs.module_lib",
406 defaults: ["android-non-updatable_defaults"],
407 static_libs: [
408 "android-non-updatable.stubs.module_lib.from-source",
409 ],
410 product_variables: {
411 build_from_text_stub: {
412 static_libs: [
413 "android-non-updatable.stubs.module_lib.from-text",
414 ],
415 exclude_static_libs: [
416 "android-non-updatable.stubs.module_lib.from-source",
417 ],
418 },
419 },
420}
421
422java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000423 name: "android-non-updatable.stubs.exportable.module_lib",
424 defaults: ["android-non-updatable_defaults"],
425 static_libs: [
426 "android-non-updatable.stubs.exportable.module_lib.from-source",
427 ],
428}
429
430java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000431 name: "android-non-updatable.stubs.test",
432 defaults: ["android-non-updatable_defaults"],
433 static_libs: [
434 "android-non-updatable.stubs.test.from-source",
435 ],
436 product_variables: {
437 build_from_text_stub: {
438 static_libs: [
439 "android-non-updatable.stubs.test.from-text",
440 ],
441 exclude_static_libs: [
442 "android-non-updatable.stubs.test.from-source",
443 ],
444 },
445 },
446}
447
448java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000449 name: "android-non-updatable.stubs.exportable.test",
450 defaults: ["android-non-updatable_defaults"],
451 static_libs: [
452 "android-non-updatable.stubs.exportable.test.from-source",
453 ],
454}
455
456java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000457 name: "android-non-updatable.stubs.from-source",
458 defaults: [
459 "android-non-updatable_defaults",
460 "android-non-updatable_from_source_defaults",
461 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100462 srcs: [":api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000463 libs: ["all-modules-public-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000464}
465
466java_library {
467 name: "android-non-updatable.stubs.exportable.from-source",
468 defaults: [
469 "android-non-updatable_defaults",
470 "android-non-updatable_from_source_defaults",
471 "android-non-updatable_exportable_from_source_defaults",
472 ],
473 srcs: [":api-stubs-docs-non-updatable{.exportable}"],
474 libs: ["all-modules-public-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100475 dist: {
476 dir: "apistubs/android/public",
477 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100478}
479
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100480java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000481 name: "android-non-updatable.stubs.system.from-source",
482 defaults: [
483 "android-non-updatable_defaults",
484 "android-non-updatable_from_source_defaults",
485 ],
Anton Hansson240ee482021-04-14 12:52:00 +0100486 srcs: [":system-api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000487 libs: ["all-modules-system-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000488}
489
490java_library {
491 name: "android-non-updatable.stubs.exportable.system.from-source",
492 defaults: [
493 "android-non-updatable_defaults",
494 "android-non-updatable_from_source_defaults",
495 "android-non-updatable_exportable_from_source_defaults",
496 ],
497 srcs: [":system-api-stubs-docs-non-updatable{.exportable}"],
498 libs: ["all-modules-system-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100499 dist: {
500 dir: "apistubs/android/system",
501 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100502}
503
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100504java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000505 name: "android-non-updatable.stubs.module_lib.from-source",
506 defaults: [
507 "android-non-updatable_defaults",
508 "android-non-updatable_from_source_defaults",
509 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100510 srcs: [":module-lib-api-stubs-docs-non-updatable"],
Anton Hansson648b0db2023-11-06 19:24:42 +0000511 libs: non_updatable_api_deps_on_modules,
Jihoon Kang059b9492023-12-29 00:40:34 +0000512}
513
514java_library {
515 name: "android-non-updatable.stubs.exportable.module_lib.from-source",
516 defaults: [
517 "android-non-updatable_defaults",
518 "android-non-updatable_from_source_defaults",
519 "android-non-updatable_exportable_from_source_defaults",
520 ],
521 srcs: [":module-lib-api-stubs-docs-non-updatable{.exportable}"],
522 libs: non_updatable_api_deps_on_modules,
Anton Hanssona4108912021-04-09 13:40:11 +0100523 dist: {
524 dir: "apistubs/android/module-lib",
525 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100526}
527
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100528java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000529 name: "android-non-updatable.stubs.test.from-source",
530 defaults: [
531 "android-non-updatable_defaults",
532 "android-non-updatable_from_source_defaults",
533 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100534 srcs: [":test-api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000535 libs: ["all-modules-system-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000536}
537
538java_library {
539 name: "android-non-updatable.stubs.exportable.test.from-source",
540 defaults: [
541 "android-non-updatable_defaults",
542 "android-non-updatable_from_source_defaults",
543 "android-non-updatable_exportable_from_source_defaults",
544 ],
545 srcs: [":test-api-stubs-docs-non-updatable{.exportable}"],
546 libs: ["all-modules-system-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100547 dist: {
548 dir: "apistubs/android/test",
549 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100550}
551
552java_defaults {
Jihoon Kang491c7082023-06-15 18:37:01 +0000553 name: "android-non-updatable_from_text_defaults",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000554 static_libs: ["framework-res-package-jar"],
555 libs: ["stub-annotations"],
556}
557
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000558java_defaults {
559 name: "android-non-updatable_everything_from_text_defaults",
560 defaults: [
561 "android-non-updatable_from_text_defaults",
562 ],
563 stubs_type: "everything",
564}
565
Jihoon Kang0c101db2023-03-14 07:03:46 +0000566java_api_library {
567 name: "android-non-updatable.stubs.from-text",
568 api_surface: "public",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000569 api_contributions: [
570 "api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000571 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000572 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000573 full_api_surface_stub: "android_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000574}
575
576java_api_library {
577 name: "android-non-updatable.stubs.system.from-text",
578 api_surface: "system",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000579 api_contributions: [
580 "api-stubs-docs-non-updatable.api.contribution",
581 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000582 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000583 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000584 full_api_surface_stub: "android_system_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000585}
586
587java_api_library {
588 name: "android-non-updatable.stubs.test.from-text",
589 api_surface: "test",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000590 api_contributions: [
591 "api-stubs-docs-non-updatable.api.contribution",
592 "system-api-stubs-docs-non-updatable.api.contribution",
593 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000594 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000595 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000596 full_api_surface_stub: "android_test_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000597}
598
599java_api_library {
600 name: "android-non-updatable.stubs.module_lib.from-text",
601 api_surface: "module_lib",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000602 api_contributions: [
603 "api-stubs-docs-non-updatable.api.contribution",
604 "system-api-stubs-docs-non-updatable.api.contribution",
605 "module-lib-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000606 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000607 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000608 full_api_surface_stub: "android_module_lib_stubs_current_full.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000609}
610
Jihoon Kang4683b142023-10-05 23:42:51 +0000611// This module generates a stub jar that is a union of the test and module lib
612// non-updatable api contributions. Modules should not depend on the stub jar
613// generated from this module, as this module is strictly used for hiddenapi only.
614java_api_library {
615 name: "android-non-updatable.stubs.test_module_lib",
616 api_surface: "module_lib",
617 api_contributions: [
618 "api-stubs-docs-non-updatable.api.contribution",
619 "system-api-stubs-docs-non-updatable.api.contribution",
620 "test-api-stubs-docs-non-updatable.api.contribution",
621 "module-lib-api-stubs-docs-non-updatable.api.contribution",
622 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000623 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang4683b142023-10-05 23:42:51 +0000624 full_api_surface_stub: "android_test_module_lib_stubs_current.from-text",
625
626 // This module is only used for hiddenapi, and other modules should not
627 // depend on this module.
628 visibility: ["//visibility:private"],
629}
630
Jihoon Kang0c101db2023-03-14 07:03:46 +0000631java_defaults {
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000632 name: "android_stubs_dists_default",
633 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000634 targets: ["sdk"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000635 tag: ".jar",
636 dest: "android.jar",
637 },
Anton Hansson86925682021-04-14 14:54:43 +0100638 defaults_visibility: ["//frameworks/base/services"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000639}
640
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100641java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000642 name: "android_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000643 static_libs: [
644 "all-modules-public-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100645 "android-non-updatable.stubs",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100646 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100647 ],
Anton Hansson65057af2021-04-14 18:52:08 +0100648 defaults: ["android.jar_defaults"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900649}
650
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100651java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000652 name: "android_stubs_current_exportable.from-source",
653 static_libs: [
654 "all-modules-public-stubs-exportable",
655 "android-non-updatable.stubs.exportable",
656 "private-stub-annotations-jar",
657 ],
658 defaults: ["android.jar_defaults"],
659}
660
661java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000662 name: "android_system_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000663 static_libs: [
664 "all-modules-system-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100665 "android-non-updatable.stubs.system",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100666 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100667 ],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000668 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100669 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000670 ],
671 visibility: ["//frameworks/base/services"],
672}
673
674java_library {
675 name: "android_system_stubs_current_exportable.from-source",
676 static_libs: [
677 "all-modules-system-stubs-exportable",
678 "android-non-updatable.stubs.exportable.system",
679 "private-stub-annotations-jar",
680 ],
681 defaults: [
682 "android.jar_defaults",
Anton Hanssonc3002e52020-11-18 18:23:55 +0000683 "android_stubs_dists_default",
684 ],
685 dist: {
686 dir: "apistubs/android/system",
687 },
688 dists: [
689 {
690 // Legacy dist path
Anton Hanssondd8ef672022-01-04 08:53:19 +0000691 targets: ["sdk"],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000692 tag: ".jar",
693 dest: "android_system.jar",
694 },
695 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100696}
697
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100698java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000699 name: "android_test_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000700 static_libs: [
Nikita Ioffe5593fbb2022-12-01 14:52:34 +0000701 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
702 // include the SystemApi of framework-non-updatable-sources.
703 "all-updatable-modules-system-stubs",
704 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
705 "all-non-updatable-modules-test-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100706 "android-non-updatable.stubs.test",
Anton Hansson7ce31c12020-10-15 18:38:49 +0100707 "private-stub-annotations-jar",
708 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000709 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100710 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000711 ],
712 visibility: ["//frameworks/base/services"],
713}
714
715java_library {
716 name: "android_test_stubs_current_exportable.from-source",
717 static_libs: [
718 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
719 // include the SystemApi of framework-non-updatable-sources.
720 "all-updatable-modules-system-stubs-exportable",
721 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
722 "all-non-updatable-modules-test-stubs-exportable",
723 "android-non-updatable.stubs.exportable.test",
724 "private-stub-annotations-jar",
725 ],
726 defaults: [
727 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000728 "android_stubs_dists_default",
729 ],
730 dist: {
731 dir: "apistubs/android/test",
732 },
Jiyong Parke3095162019-12-20 15:30:28 +0900733}
734
Jihoon Kang059b9492023-12-29 00:40:34 +0000735// This module does not need to be copied to dist
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100736java_library {
Mark Whitee35b1382023-08-12 01:31:26 +0000737 name: "android_test_frameworks_core_stubs_current.from-source",
738 static_libs: [
739 "all-updatable-modules-system-stubs",
740 "android-non-updatable.stubs.test",
Mark Whitee35b1382023-08-12 01:31:26 +0000741 ],
742 defaults: [
743 "android.jar_defaults",
Mark Whitee35b1382023-08-12 01:31:26 +0000744 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000745 visibility: ["//frameworks/base/services"],
Mark Whitee35b1382023-08-12 01:31:26 +0000746}
747
748java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000749 name: "android_module_lib_stubs_current.from-source",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000750 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100751 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000752 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100753 static_libs: [
754 "android-non-updatable.stubs.module_lib",
Victor Chang6b107a92021-06-17 23:49:42 +0100755 "art.module.public.api.stubs.module_lib",
Giulio Fiscella68a04112021-11-30 16:32:44 +0000756 "i18n.module.public.api.stubs",
Anton Hanssonb7d532e2021-02-05 11:40:25 +0000757 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000758 visibility: ["//frameworks/base/services"],
759}
760
761java_library {
762 name: "android_module_lib_stubs_current_exportable.from-source",
763 defaults: [
764 "android.jar_defaults",
765 "android_stubs_dists_default",
766 ],
767 static_libs: [
768 "android-non-updatable.stubs.exportable.module_lib",
769 "art.module.public.api.stubs.exportable.module_lib",
770 "i18n.module.public.api.stubs.exportable",
771 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000772 dist: {
773 dir: "apistubs/android/module-lib",
774 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900775}
776
Andrei Oneafaa271a2021-03-17 13:32:51 +0000777java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000778 name: "android_system_server_stubs_current.from-source",
Anton Hansson21fb1082023-03-03 16:22:42 +0000779 defaults: [
780 "android.jar_defaults",
Anton Hansson21fb1082023-03-03 16:22:42 +0000781 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000782 srcs: [":services-non-updatable-stubs"],
783 installable: false,
784 static_libs: [
Jihoon Kang1453baa2023-05-27 05:32:30 +0000785 "android_module_lib_stubs_current.from-source",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000786 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000787 visibility: ["//frameworks/base/services"],
788}
789
790java_library {
791 name: "android_system_server_stubs_current_exportable.from-source",
792 defaults: [
793 "android.jar_defaults",
794 "android_stubs_dists_default",
795 ],
796 srcs: [":services-non-updatable-stubs{.exportable}"],
797 installable: false,
798 static_libs: [
799 "android_module_lib_stubs_current_exportable.from-source",
800 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000801 dist: {
802 dir: "apistubs/android/system-server",
803 },
804}
805
Colin Crosscf87a572022-10-20 14:06:53 -0700806java_library {
807 name: "android_stubs_private_jar",
808 defaults: ["android.jar_defaults"],
809 visibility: [
810 "//visibility:override",
811 "//visibility:private",
812 ],
813 static_libs: [
814 "stable.core.platform.api.stubs",
815 "core-lambda-stubs-for-system-modules",
816 "core-generated-annotation-stubs",
817 "framework",
818 "ext",
819 "framework-res-package-jar",
820 // The order of this matters, it has to be last to provide a
821 // package-private androidx.annotation.RecentlyNonNull without
822 // overriding the public android.annotation.Nullable in framework.jar
823 // with its own package-private android.annotation.Nullable.
824 "private-stub-annotations-jar",
825 ],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000826 is_stubs_module: true,
Colin Crosscf87a572022-10-20 14:06:53 -0700827}
828
829java_genrule {
830 name: "android_stubs_private_hjar",
Colin Crosscf87a572022-10-20 14:06:53 -0700831 srcs: [":android_stubs_private_jar{.hjar}"],
832 out: ["android_stubs_private.jar"],
833 cmd: "cp $(in) $(out)",
834}
835
836java_library {
837 name: "android_stubs_private",
838 defaults: ["android_stubs_dists_default"],
Colin Crosscf87a572022-10-20 14:06:53 -0700839 sdk_version: "none",
840 system_modules: "none",
841 static_libs: ["android_stubs_private_hjar"],
842 dist: {
843 dir: "apistubs/android/private",
844 },
845}
846
847java_genrule {
848 name: "android_stubs_private_framework_aidl",
Colin Crosscf87a572022-10-20 14:06:53 -0700849 tools: ["sdkparcelables"],
850 srcs: [":android_stubs_private"],
851 out: ["framework.aidl"],
852 cmd: "rm -f $(genDir)/framework.aidl.merged && " +
853 "for i in $(in); do " +
854 " rm -f $(genDir)/framework.aidl.tmp && " +
855 " $(location sdkparcelables) $$i $(genDir)/framework.aidl.tmp && " +
856 " cat $(genDir)/framework.aidl.tmp >> $(genDir)/framework.aidl.merged; " +
857 "done && " +
858 "sort -u $(genDir)/framework.aidl.merged > $(out)",
859 dist: {
860 targets: ["sdk"],
861 dir: "apistubs/android/private",
862 },
863}
864
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000865//
866// Java API defaults and libraries for single tree build
867//
868
869java_defaults {
870 name: "stub-annotation-defaults",
871 libs: [
872 "stub-annotations",
873 ],
874 static_libs: [
875 // stub annotations do not contribute to the API surfaces but are statically
876 // linked in the stubs for API surfaces (see frameworks/base/StubLibraries.bp).
877 // This is because annotation processors insist on loading the classes for any
878 // annotations found, thus should exist inside android.jar.
879 "private-stub-annotations-jar",
880 ],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000881 is_stubs_module: true,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000882}
883
884// Listing of API domains contribution and dependencies per API surfaces
885java_defaults {
886 name: "android_test_stubs_current_contributions",
887 api_surface: "test",
888 api_contributions: [
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000889 "framework-virtualization.stubs.source.test.api.contribution",
Mark White3cc5e002023-08-07 11:18:09 +0000890 "framework-location.stubs.source.test.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000891 ],
892}
893
894java_defaults {
895 name: "android_test_frameworks_core_stubs_current_contributions",
896 api_surface: "test",
897 api_contributions: [
898 "test-api-stubs-docs-non-updatable.api.contribution",
899 ],
900}
901
902java_defaults {
903 name: "android_module_lib_stubs_current_contributions",
904 api_surface: "module-lib",
905 api_contributions: [
906 "api-stubs-docs-non-updatable.api.contribution",
907 "system-api-stubs-docs-non-updatable.api.contribution",
908 "module-lib-api-stubs-docs-non-updatable.api.contribution",
909 "art.module.public.api.stubs.source.api.contribution",
910 "art.module.public.api.stubs.source.system.api.contribution",
911 "art.module.public.api.stubs.source.module_lib.api.contribution",
912 "i18n.module.public.api.stubs.source.api.contribution",
913 "i18n.module.public.api.stubs.source.system.api.contribution",
914 "i18n.module.public.api.stubs.source.module_lib.api.contribution",
915 ],
916}
917
918// Java API library definitions per API surface
919java_api_library {
920 name: "android_stubs_current.from-text",
921 api_surface: "public",
922 defaults: [
923 // This module is dynamically created at frameworks/base/api/api.go
924 // instead of being written out, in order to minimize edits in the codebase
925 // when there is a change in the list of modules.
926 // that contributes to an api surface.
927 "android_stubs_current_contributions",
928 "stub-annotation-defaults",
929 ],
930 api_contributions: [
931 "api-stubs-docs-non-updatable.api.contribution",
932 ],
933 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000934 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000935 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000936}
937
938java_api_library {
939 name: "android_system_stubs_current.from-text",
940 api_surface: "system",
941 defaults: [
942 "android_stubs_current_contributions",
943 "android_system_stubs_current_contributions",
944 "stub-annotation-defaults",
945 ],
946 api_contributions: [
947 "api-stubs-docs-non-updatable.api.contribution",
948 "system-api-stubs-docs-non-updatable.api.contribution",
949 ],
950 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000951 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000952 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000953}
954
955java_api_library {
956 name: "android_test_stubs_current.from-text",
957 api_surface: "test",
958 defaults: [
959 "android_stubs_current_contributions",
960 "android_system_stubs_current_contributions",
961 "android_test_stubs_current_contributions",
962 "stub-annotation-defaults",
963 ],
964 api_contributions: [
965 "api-stubs-docs-non-updatable.api.contribution",
966 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang1c5022b2023-09-20 22:02:29 +0000967 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000968 ],
969 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000970 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000971 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000972}
973
974java_api_library {
975 name: "android_test_frameworks_core_stubs_current.from-text",
976 api_surface: "test",
977 defaults: [
978 "android_stubs_current_contributions",
979 "android_system_stubs_current_contributions",
980 "android_test_frameworks_core_stubs_current_contributions",
Jihoon Kangbeeb35a2023-10-17 22:22:24 +0000981 ],
982 libs: [
983 "stub-annotations",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000984 ],
985 api_contributions: [
986 "api-stubs-docs-non-updatable.api.contribution",
987 "system-api-stubs-docs-non-updatable.api.contribution",
988 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000989 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000990 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000991}
992
993java_api_library {
994 name: "android_module_lib_stubs_current_full.from-text",
995 api_surface: "module-lib",
996 defaults: [
997 "android_stubs_current_contributions",
998 "android_system_stubs_current_contributions",
999 "android_module_lib_stubs_current_contributions_full",
1000 ],
1001 libs: [
1002 "stub-annotations",
1003 ],
1004 api_contributions: [
1005 "api-stubs-docs-non-updatable.api.contribution",
1006 "system-api-stubs-docs-non-updatable.api.contribution",
1007 "module-lib-api-stubs-docs-non-updatable.api.contribution",
1008 ],
1009 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +00001010 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +00001011 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +00001012}
1013
1014java_api_library {
1015 name: "android_module_lib_stubs_current.from-text",
1016 api_surface: "module-lib",
1017 defaults: [
1018 "android_module_lib_stubs_current_contributions",
1019 ],
1020 libs: [
1021 "android_module_lib_stubs_current_full.from-text",
1022 "stub-annotations",
1023 ],
1024 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +00001025 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +00001026 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +00001027}
1028
1029java_api_library {
Jihoon Kang4683b142023-10-05 23:42:51 +00001030 name: "android_test_module_lib_stubs_current.from-text",
1031 api_surface: "module-lib",
1032 defaults: [
1033 "android_stubs_current_contributions",
1034 "android_system_stubs_current_contributions",
1035 "android_test_stubs_current_contributions",
1036 "android_module_lib_stubs_current_contributions",
1037 ],
1038 libs: [
1039 "android_module_lib_stubs_current_full.from-text",
1040 "stub-annotations",
1041 ],
1042 api_contributions: [
1043 "test-api-stubs-docs-non-updatable.api.contribution",
1044 ],
1045
1046 // This module is only used to build android-non-updatable.stubs.test_module_lib
1047 // and other modules should not depend on this module.
1048 visibility: [
1049 "//visibility:private",
1050 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +00001051 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +00001052 stubs_type: "everything",
Jihoon Kang4683b142023-10-05 23:42:51 +00001053}
1054
1055java_api_library {
Jihoon Kang7b627ed2023-09-21 01:14:17 +00001056 name: "android_system_server_stubs_current.from-text",
1057 api_surface: "system-server",
1058 api_contributions: [
1059 "services-non-updatable-stubs.api.contribution",
1060 ],
1061 libs: [
1062 "android_module_lib_stubs_current.from-text",
1063 "stub-annotations",
1064 ],
1065 static_libs: [
1066 "android_module_lib_stubs_current.from-text",
1067 ],
1068 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +00001069 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +00001070 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +00001071}
1072
Anton Hansson36bc27c2021-09-14 15:45:13 +01001073////////////////////////////////////////////////////////////////////////
1074// api-versions.xml generation, for public and system. This API database
1075// also contains the android.test.* APIs.
1076////////////////////////////////////////////////////////////////////////
1077
1078java_library {
1079 name: "android_stubs_current_with_test_libs",
1080 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001081 "android_stubs_current_exportable",
Anton Hansson36bc27c2021-09-14 15:45:13 +01001082 "android.test.base.stubs",
1083 "android.test.mock.stubs",
1084 "android.test.runner.stubs",
1085 ],
1086 defaults: ["android.jar_defaults"],
1087 visibility: [
1088 "//visibility:override",
1089 "//visibility:private",
1090 ],
1091}
1092
1093java_library {
1094 name: "android_system_stubs_current_with_test_libs",
1095 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001096 "android_system_stubs_current_exportable",
Anton Hansson36bc27c2021-09-14 15:45:13 +01001097 "android.test.base.stubs.system",
1098 "android.test.mock.stubs.system",
1099 "android.test.runner.stubs.system",
1100 ],
1101 defaults: ["android.jar_defaults"],
1102 visibility: [
1103 "//visibility:override",
1104 "//visibility:private",
1105 ],
1106}
1107
Cole Faustdcda3702022-10-04 14:46:35 -07001108java_library {
1109 name: "android_module_stubs_current_with_test_libs",
1110 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001111 "android_module_lib_stubs_current_exportable",
Cole Faustdcda3702022-10-04 14:46:35 -07001112 "android.test.base.stubs",
1113 "android.test.mock.stubs",
1114 "android.test.runner.stubs",
1115 ],
1116 defaults: ["android.jar_defaults"],
1117 visibility: [
1118 "//visibility:override",
1119 "//visibility:private",
1120 ],
1121}
1122
1123java_library {
1124 name: "android_system_server_stubs_current_with_test_libs",
1125 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001126 "android_system_server_stubs_current_exportable",
Cole Faustdcda3702022-10-04 14:46:35 -07001127 "android.test.base.stubs.system",
1128 "android.test.mock.stubs.system",
1129 "android.test.runner.stubs.system",
1130 ],
1131 defaults: ["android.jar_defaults"],
1132 visibility: [
1133 "//visibility:override",
1134 "//visibility:private",
1135 ],
1136}
1137
Anton Hansson36bc27c2021-09-14 15:45:13 +01001138droidstubs {
1139 name: "api_versions_public",
1140 srcs: [":android_stubs_current_with_test_libs{.jar}"],
1141 generate_stubs: false,
1142 api_levels_annotations_enabled: true,
1143 api_levels_annotations_dirs: [
1144 "sdk-dir",
1145 "api-versions-jars-dir",
1146 ],
Cole Faustdcda3702022-10-04 14:46:35 -07001147 api_levels_sdk_type: "public",
Mårten Kongstad54845332022-09-06 15:50:37 +02001148 extensions_info_file: ":sdk-extensions-info",
Anton Hanssonca6e67a2023-03-03 17:55:09 +00001149 visibility: ["//frameworks/base"],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001150}
1151
1152droidstubs {
1153 name: "api_versions_system",
1154 srcs: [":android_system_stubs_current_with_test_libs{.jar}"],
1155 generate_stubs: false,
1156 api_levels_annotations_enabled: true,
1157 api_levels_annotations_dirs: [
1158 "sdk-dir",
1159 "api-versions-jars-dir",
1160 ],
1161 api_levels_sdk_type: "system",
Mårten Kongstad54845332022-09-06 15:50:37 +02001162 extensions_info_file: ":sdk-extensions-info",
Paul Duffin75f63602024-01-05 18:15:59 +00001163 dists: [
1164 // Make the api-versions.xml file for the system API available in the
1165 // sdk build target.
1166 {
1167 targets: ["sdk"],
1168 dest: "api-versions_system.xml",
1169 tag: ".api_versions.xml",
1170 },
1171 ],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001172}
1173
Cole Faustbf4ce752023-02-08 12:46:06 -08001174// This module can be built with:
Cole Faust24e730f2024-01-08 14:11:11 -08001175// m out/soong/.intermediates/frameworks/base/api/api_versions_module_lib/android_common/metalava/api-versions.xml
Cole Faustdcda3702022-10-04 14:46:35 -07001176droidstubs {
1177 name: "api_versions_module_lib",
1178 srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
1179 generate_stubs: false,
1180 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001181 // this only has the non-updatable portions of the module lib sdk,
1182 // which can reference classes from updatable apexes, so remove references to them
1183 // from this api_versions file.
1184 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001185 api_levels_annotations_dirs: [
1186 "sdk-dir",
1187 "api-versions-jars-dir",
1188 ],
1189 api_levels_sdk_type: "module-lib",
Cole Faust1deced12023-02-15 13:24:18 -08001190 // extensions_info_file is purposefully omitted, because this module should just be
1191 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001192}
1193
1194droidstubs {
1195 name: "api_versions_system_server",
1196 srcs: [":android_system_server_stubs_current_with_test_libs{.jar}"],
1197 generate_stubs: false,
1198 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001199 // this only has the non-updatable portions of the system server sdk,
1200 // which can reference classes from updatable apexes, so remove references to them
1201 // from this api_versions file.
1202 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001203 api_levels_annotations_dirs: [
1204 "sdk-dir",
1205 "api-versions-jars-dir",
1206 ],
1207 api_levels_sdk_type: "system-server",
Cole Faust1deced12023-02-15 13:24:18 -08001208 // extensions_info_file is purposefully omitted, because this module should just be
1209 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001210}
1211
Jiyong Park7fb4b182019-12-20 14:35:43 +09001212/////////////////////////////////////////////////////////////////////
1213// hwbinder.stubs provides APIs required for building HIDL Java
1214// libraries.
1215/////////////////////////////////////////////////////////////////////
1216
1217droidstubs {
1218 name: "hwbinder-stubs-docs",
Anton Hansson23f319f2023-03-03 16:04:02 +00001219 srcs: [":hwbinder-stubs-srcs"],
Colin Cross037d7fb2021-03-25 17:01:55 -07001220 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001221 installable: false,
1222 sdk_version: "core_platform",
1223 annotations_enabled: true,
Anton Hansson48ee95e2020-05-02 17:49:26 +01001224 previous_api: ":android.api.public.latest",
Jiyong Park7fb4b182019-12-20 14:35:43 +09001225 merge_annotations_dirs: [
1226 "metalava-manual",
1227 ],
Anton Hansson84a0e712023-10-23 09:17:45 +00001228 flags: priv_apps,
Jiyong Park7fb4b182019-12-20 14:35:43 +09001229}
1230
Anton Hanssonbbdd64b2021-04-26 18:47:39 +01001231java_library {
Jiyong Park7fb4b182019-12-20 14:35:43 +09001232 name: "hwbinder.stubs",
1233 sdk_version: "core_current",
Colin Cross037d7fb2021-03-25 17:01:55 -07001234 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001235 srcs: [
1236 ":hwbinder-stubs-docs",
1237 ],
Anton Hansson86925682021-04-14 14:54:43 +01001238 visibility: ["//visibility:public"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001239}