blob: 65ec4d46a27ca9254e6e7cd9e2378d6dc02f31ec [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 },
Anton Hansson85785fe2021-01-20 20:23:34 +000057 dists: [
58 {
Anton Hanssondd8ef672022-01-04 08:53:19 +000059 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +000060 dir: "apistubs/android/public/api",
61 dest: "android-non-updatable.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +000062 },
63 {
Anton Hanssondd8ef672022-01-04 08:53:19 +000064 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +000065 dir: "apistubs/android/public/api",
66 dest: "android-non-updatable-removed.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +000067 },
68 ],
Jihoon Kang2d295ae2024-03-21 23:57:14 +000069 soong_config_variables: {
70 release_hidden_api_exportable_stubs: {
71 dists: [
72 {
73 tag: ".exportable.api.txt",
74 },
75 {
76 tag: ".exportable.removed-api.txt",
77 },
78 ],
79 conditions_default: {
80 dists: [
81 {
82 tag: ".api.txt",
83 },
84 {
85 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 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000137 dists: [
138 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000139 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000140 dir: "apistubs/android/system/api",
141 dest: "android-non-updatable.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +0000142 },
143 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000144 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000145 dir: "apistubs/android/system/api",
146 dest: "android-non-updatable-removed.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +0000147 },
148 ],
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000149 soong_config_variables: {
150 release_hidden_api_exportable_stubs: {
151 dists: [
152 {
153 tag: ".exportable.api.txt",
154 },
155 {
156 tag: ".exportable.removed-api.txt",
157 },
158 ],
159 conditions_default: {
160 dists: [
161 {
162 tag: ".api.txt",
163 },
164 {
165 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 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000192 dists: [
193 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000194 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000195 dir: "apistubs/android/test/api",
196 dest: "android.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +0000197 },
198 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000199 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000200 dir: "apistubs/android/test/api",
201 dest: "removed.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +0000202 },
203 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000204 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000205 dir: "apistubs/android/test/api",
206 dest: "android-non-updatable.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +0000207 },
208 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000209 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000210 dir: "apistubs/android/test/api",
211 dest: "android-non-updatable-removed.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +0000212 },
213 ],
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000214 soong_config_variables: {
215 release_hidden_api_exportable_stubs: {
216 dists: [
217 {
218 tag: ".exportable.api.txt",
219 },
220 {
221 tag: ".exportable.removed-api.txt",
222 },
223 {
224 tag: ".exportable.api.txt",
225 },
226 {
227 tag: ".exportable.removed-api.txt",
228 },
229 ],
230 conditions_default: {
231 dists: [
232 {
233 tag: ".api.txt",
234 },
235 {
236 tag: ".removed-api.txt",
237 },
238 {
239 tag: ".api.txt",
240 },
241 {
242 tag: ".removed-api.txt",
243 },
244 ],
245 },
246 },
247 },
Jihoon Kang866b9b7a2023-09-20 22:28:05 +0000248 api_surface: "test",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900249}
250
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000251non_updatable_exportable_droidstubs {
Anton Hansson76d3db42020-04-09 14:16:37 +0100252 name: "module-lib-api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +0000253 defaults: [
254 "android-non-updatable-stubs-defaults",
255 "module-classpath-stubs-defaults",
256 ],
Anton Hansson84a0e712023-10-23 09:17:45 +0000257 flags: priv_apps_in_stubs + module_libs,
Anton Hansson76d3db42020-04-09 14:16:37 +0100258 check_api: {
259 current: {
Anton Hanssonb7cda922023-03-03 15:38:28 +0000260 api_file: ":non-updatable-module-lib-current.txt",
261 removed_api_file: ":non-updatable-module-lib-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100262 },
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100263 last_released: {
264 api_file: ":android-non-updatable.api.module-lib.latest",
265 removed_api_file: ":android-non-updatable-removed.api.module-lib.latest",
Junyu Lai2dbb1772022-01-12 17:38:02 +0000266 baseline_file: ":android-non-updatable-incompatibilities.api.module-lib.latest",
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100267 },
Anton Hansson76d3db42020-04-09 14:16:37 +0100268 api_lint: {
269 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +0100270 new_since: ":android.api.module-lib.latest",
Anton Hanssonb7cda922023-03-03 15:38:28 +0000271 baseline_file: ":non-updatable-module-lib-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100272 },
273 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000274 dists: [
275 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000276 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000277 dir: "apistubs/android/module-lib/api",
278 dest: "android-non-updatable.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +0000279 },
280 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000281 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000282 dir: "apistubs/android/module-lib/api",
283 dest: "android-non-updatable-removed.txt",
Anton Hansson85785fe2021-01-20 20:23:34 +0000284 },
285 ],
Jihoon Kang2d295ae2024-03-21 23:57:14 +0000286 soong_config_variables: {
287 release_hidden_api_exportable_stubs: {
288 dists: [
289 {
290 tag: ".exportable.api.txt",
291 },
292 {
293 tag: ".exportable.removed-api.txt",
294 },
295 ],
296 conditions_default: {
297 dists: [
298 {
299 tag: ".api.txt",
300 },
301 {
302 tag: ".removed-api.txt",
303 },
304 ],
305 },
306 },
307 },
Jihoon Kang866b9b7a2023-09-20 22:28:05 +0000308 api_surface: "module-lib",
Anton Hansson76d3db42020-04-09 14:16:37 +0100309}
Anton Hansson81969c22020-02-03 20:45:56 +0000310
Jiyong Parke3095162019-12-20 15:30:28 +0900311/////////////////////////////////////////////////////////////////////
Jiyong Park7fb4b182019-12-20 14:35:43 +0900312// android_*_stubs_current modules are the stubs libraries compiled
Anton Hansson2feb3f12020-11-13 11:44:32 +0000313// from stub sources
Jiyong Park7fb4b182019-12-20 14:35:43 +0900314/////////////////////////////////////////////////////////////////////
315
316java_defaults {
Anton Hanssonc43a66b2022-03-03 15:14:04 +0000317 name: "android.jar_defaults",
318 sdk_version: "none",
319 system_modules: "none",
320 java_version: "1.8",
321 compile_dex: true,
Anton Hanssonc43a66b2022-03-03 15:14:04 +0000322 visibility: ["//visibility:public"],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000323 is_stubs_module: true,
Anton Hanssonc43a66b2022-03-03 15:14:04 +0000324}
325
326java_defaults {
Jihoon Kang491c7082023-06-15 18:37:01 +0000327 name: "android-non-updatable_defaults",
Anton Hanssonfbd32f32020-04-09 14:16:37 +0100328 sdk_version: "none",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900329 system_modules: "none",
330 java_version: "1.8",
331 compile_dex: true,
Jihoon Kanga7073b52024-02-12 23:18:52 +0000332 is_stubs_module: true,
Jihoon Kang491c7082023-06-15 18:37:01 +0000333}
334
335java_defaults {
336 name: "android-non-updatable_from_source_defaults",
337 libs: ["stub-annotations"],
338 static_libs: ["framework-res-package-jar"], // Export package of framework-res
Jihoon Kang059b9492023-12-29 00:40:34 +0000339}
340
341java_defaults {
342 name: "android-non-updatable_exportable_from_source_defaults",
Anton Hanssona4108912021-04-09 13:40:11 +0100343 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000344 targets: ["sdk"],
Anton Hanssona4108912021-04-09 13:40:11 +0100345 tag: ".jar",
346 dest: "android-non-updatable.jar",
Anton Hansson240ee482021-04-14 12:52:00 +0100347 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900348}
349
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100350java_library {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100351 name: "android-non-updatable.stubs",
Jihoon Kang491c7082023-06-15 18:37:01 +0000352 defaults: ["android-non-updatable_defaults"],
353 static_libs: [
354 "android-non-updatable.stubs.from-source",
355 ],
356 product_variables: {
357 build_from_text_stub: {
358 static_libs: [
359 "android-non-updatable.stubs.from-text",
360 ],
361 exclude_static_libs: [
362 "android-non-updatable.stubs.from-source",
363 ],
364 },
365 },
366}
367
368java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000369 name: "android-non-updatable.stubs.exportable",
370 defaults: ["android-non-updatable_defaults"],
371 static_libs: [
372 "android-non-updatable.stubs.exportable.from-source",
373 ],
374}
375
376java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000377 name: "android-non-updatable.stubs.system",
378 defaults: ["android-non-updatable_defaults"],
379 static_libs: [
380 "android-non-updatable.stubs.system.from-source",
381 ],
382 product_variables: {
383 build_from_text_stub: {
384 static_libs: [
385 "android-non-updatable.stubs.system.from-text",
386 ],
387 exclude_static_libs: [
388 "android-non-updatable.stubs.system.from-source",
389 ],
390 },
391 },
392}
393
394java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000395 name: "android-non-updatable.stubs.exportable.system",
396 defaults: ["android-non-updatable_defaults"],
397 static_libs: [
398 "android-non-updatable.stubs.exportable.system.from-source",
399 ],
400}
401
402java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000403 name: "android-non-updatable.stubs.module_lib",
404 defaults: ["android-non-updatable_defaults"],
405 static_libs: [
406 "android-non-updatable.stubs.module_lib.from-source",
407 ],
408 product_variables: {
409 build_from_text_stub: {
410 static_libs: [
411 "android-non-updatable.stubs.module_lib.from-text",
412 ],
413 exclude_static_libs: [
414 "android-non-updatable.stubs.module_lib.from-source",
415 ],
416 },
417 },
418}
419
420java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000421 name: "android-non-updatable.stubs.exportable.module_lib",
422 defaults: ["android-non-updatable_defaults"],
423 static_libs: [
424 "android-non-updatable.stubs.exportable.module_lib.from-source",
425 ],
426}
427
428java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000429 name: "android-non-updatable.stubs.test",
430 defaults: ["android-non-updatable_defaults"],
431 static_libs: [
432 "android-non-updatable.stubs.test.from-source",
433 ],
434 product_variables: {
435 build_from_text_stub: {
436 static_libs: [
437 "android-non-updatable.stubs.test.from-text",
438 ],
439 exclude_static_libs: [
440 "android-non-updatable.stubs.test.from-source",
441 ],
442 },
443 },
444}
445
446java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000447 name: "android-non-updatable.stubs.exportable.test",
448 defaults: ["android-non-updatable_defaults"],
449 static_libs: [
450 "android-non-updatable.stubs.exportable.test.from-source",
451 ],
452}
453
454java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000455 name: "android-non-updatable.stubs.from-source",
456 defaults: [
457 "android-non-updatable_defaults",
458 "android-non-updatable_from_source_defaults",
459 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100460 srcs: [":api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000461 libs: ["all-modules-public-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000462}
463
464java_library {
465 name: "android-non-updatable.stubs.exportable.from-source",
466 defaults: [
467 "android-non-updatable_defaults",
468 "android-non-updatable_from_source_defaults",
469 "android-non-updatable_exportable_from_source_defaults",
470 ],
471 srcs: [":api-stubs-docs-non-updatable{.exportable}"],
472 libs: ["all-modules-public-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100473 dist: {
474 dir: "apistubs/android/public",
475 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100476}
477
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100478java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000479 name: "android-non-updatable.stubs.system.from-source",
480 defaults: [
481 "android-non-updatable_defaults",
482 "android-non-updatable_from_source_defaults",
483 ],
Anton Hansson240ee482021-04-14 12:52:00 +0100484 srcs: [":system-api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000485 libs: ["all-modules-system-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000486}
487
488java_library {
489 name: "android-non-updatable.stubs.exportable.system.from-source",
490 defaults: [
491 "android-non-updatable_defaults",
492 "android-non-updatable_from_source_defaults",
493 "android-non-updatable_exportable_from_source_defaults",
494 ],
495 srcs: [":system-api-stubs-docs-non-updatable{.exportable}"],
496 libs: ["all-modules-system-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100497 dist: {
498 dir: "apistubs/android/system",
499 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100500}
501
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100502java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000503 name: "android-non-updatable.stubs.module_lib.from-source",
504 defaults: [
505 "android-non-updatable_defaults",
506 "android-non-updatable_from_source_defaults",
507 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100508 srcs: [":module-lib-api-stubs-docs-non-updatable"],
Anton Hansson648b0db2023-11-06 19:24:42 +0000509 libs: non_updatable_api_deps_on_modules,
Jihoon Kang059b9492023-12-29 00:40:34 +0000510}
511
512java_library {
513 name: "android-non-updatable.stubs.exportable.module_lib.from-source",
514 defaults: [
515 "android-non-updatable_defaults",
516 "android-non-updatable_from_source_defaults",
517 "android-non-updatable_exportable_from_source_defaults",
518 ],
519 srcs: [":module-lib-api-stubs-docs-non-updatable{.exportable}"],
520 libs: non_updatable_api_deps_on_modules,
Anton Hanssona4108912021-04-09 13:40:11 +0100521 dist: {
522 dir: "apistubs/android/module-lib",
523 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100524}
525
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100526java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000527 name: "android-non-updatable.stubs.test.from-source",
528 defaults: [
529 "android-non-updatable_defaults",
530 "android-non-updatable_from_source_defaults",
531 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100532 srcs: [":test-api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000533 libs: ["all-modules-system-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000534}
535
536java_library {
537 name: "android-non-updatable.stubs.exportable.test.from-source",
538 defaults: [
539 "android-non-updatable_defaults",
540 "android-non-updatable_from_source_defaults",
541 "android-non-updatable_exportable_from_source_defaults",
542 ],
543 srcs: [":test-api-stubs-docs-non-updatable{.exportable}"],
544 libs: ["all-modules-system-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100545 dist: {
546 dir: "apistubs/android/test",
547 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100548}
549
550java_defaults {
Jihoon Kang491c7082023-06-15 18:37:01 +0000551 name: "android-non-updatable_from_text_defaults",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000552 static_libs: ["framework-res-package-jar"],
553 libs: ["stub-annotations"],
554}
555
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000556java_defaults {
557 name: "android-non-updatable_everything_from_text_defaults",
558 defaults: [
559 "android-non-updatable_from_text_defaults",
560 ],
561 stubs_type: "everything",
562}
563
Jihoon Kang0c101db2023-03-14 07:03:46 +0000564java_api_library {
565 name: "android-non-updatable.stubs.from-text",
566 api_surface: "public",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000567 api_contributions: [
568 "api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000569 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000570 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000571 full_api_surface_stub: "android_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000572}
573
574java_api_library {
575 name: "android-non-updatable.stubs.system.from-text",
576 api_surface: "system",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000577 api_contributions: [
578 "api-stubs-docs-non-updatable.api.contribution",
579 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000580 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000581 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000582 full_api_surface_stub: "android_system_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000583}
584
585java_api_library {
586 name: "android-non-updatable.stubs.test.from-text",
587 api_surface: "test",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000588 api_contributions: [
589 "api-stubs-docs-non-updatable.api.contribution",
590 "system-api-stubs-docs-non-updatable.api.contribution",
591 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000592 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000593 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000594 full_api_surface_stub: "android_test_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000595}
596
597java_api_library {
598 name: "android-non-updatable.stubs.module_lib.from-text",
599 api_surface: "module_lib",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000600 api_contributions: [
601 "api-stubs-docs-non-updatable.api.contribution",
602 "system-api-stubs-docs-non-updatable.api.contribution",
603 "module-lib-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000604 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000605 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000606 full_api_surface_stub: "android_module_lib_stubs_current_full.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000607}
608
Jihoon Kang4683b142023-10-05 23:42:51 +0000609// This module generates a stub jar that is a union of the test and module lib
610// non-updatable api contributions. Modules should not depend on the stub jar
611// generated from this module, as this module is strictly used for hiddenapi only.
612java_api_library {
613 name: "android-non-updatable.stubs.test_module_lib",
614 api_surface: "module_lib",
615 api_contributions: [
616 "api-stubs-docs-non-updatable.api.contribution",
617 "system-api-stubs-docs-non-updatable.api.contribution",
618 "test-api-stubs-docs-non-updatable.api.contribution",
619 "module-lib-api-stubs-docs-non-updatable.api.contribution",
620 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000621 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang4683b142023-10-05 23:42:51 +0000622 full_api_surface_stub: "android_test_module_lib_stubs_current.from-text",
623
624 // This module is only used for hiddenapi, and other modules should not
625 // depend on this module.
626 visibility: ["//visibility:private"],
627}
628
Jihoon Kang0c101db2023-03-14 07:03:46 +0000629java_defaults {
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000630 name: "android_stubs_dists_default",
631 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000632 targets: ["sdk"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000633 tag: ".jar",
634 dest: "android.jar",
635 },
Anton Hansson86925682021-04-14 14:54:43 +0100636 defaults_visibility: ["//frameworks/base/services"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000637}
638
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100639java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000640 name: "android_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000641 static_libs: [
642 "all-modules-public-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100643 "android-non-updatable.stubs",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100644 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100645 ],
Anton Hansson65057af2021-04-14 18:52:08 +0100646 defaults: ["android.jar_defaults"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900647}
648
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100649java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000650 name: "android_stubs_current_exportable.from-source",
651 static_libs: [
652 "all-modules-public-stubs-exportable",
653 "android-non-updatable.stubs.exportable",
654 "private-stub-annotations-jar",
655 ],
656 defaults: ["android.jar_defaults"],
657}
658
659java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000660 name: "android_system_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000661 static_libs: [
662 "all-modules-system-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100663 "android-non-updatable.stubs.system",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100664 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100665 ],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000666 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100667 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000668 ],
669 visibility: ["//frameworks/base/services"],
670}
671
672java_library {
673 name: "android_system_stubs_current_exportable.from-source",
674 static_libs: [
675 "all-modules-system-stubs-exportable",
676 "android-non-updatable.stubs.exportable.system",
677 "private-stub-annotations-jar",
678 ],
679 defaults: [
680 "android.jar_defaults",
Anton Hanssonc3002e52020-11-18 18:23:55 +0000681 "android_stubs_dists_default",
682 ],
683 dist: {
684 dir: "apistubs/android/system",
685 },
686 dists: [
687 {
688 // Legacy dist path
Anton Hanssondd8ef672022-01-04 08:53:19 +0000689 targets: ["sdk"],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000690 tag: ".jar",
691 dest: "android_system.jar",
692 },
693 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100694}
695
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100696java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000697 name: "android_test_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000698 static_libs: [
Nikita Ioffe5593fbb2022-12-01 14:52:34 +0000699 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
700 // include the SystemApi of framework-non-updatable-sources.
701 "all-updatable-modules-system-stubs",
702 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
703 "all-non-updatable-modules-test-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100704 "android-non-updatable.stubs.test",
Anton Hansson7ce31c12020-10-15 18:38:49 +0100705 "private-stub-annotations-jar",
706 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000707 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100708 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000709 ],
710 visibility: ["//frameworks/base/services"],
711}
712
713java_library {
714 name: "android_test_stubs_current_exportable.from-source",
715 static_libs: [
716 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
717 // include the SystemApi of framework-non-updatable-sources.
718 "all-updatable-modules-system-stubs-exportable",
719 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
720 "all-non-updatable-modules-test-stubs-exportable",
721 "android-non-updatable.stubs.exportable.test",
722 "private-stub-annotations-jar",
723 ],
724 defaults: [
725 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000726 "android_stubs_dists_default",
727 ],
728 dist: {
729 dir: "apistubs/android/test",
730 },
Jiyong Parke3095162019-12-20 15:30:28 +0900731}
732
Jihoon Kang059b9492023-12-29 00:40:34 +0000733// This module does not need to be copied to dist
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100734java_library {
Mark Whitee35b1382023-08-12 01:31:26 +0000735 name: "android_test_frameworks_core_stubs_current.from-source",
736 static_libs: [
737 "all-updatable-modules-system-stubs",
738 "android-non-updatable.stubs.test",
Mark Whitee35b1382023-08-12 01:31:26 +0000739 ],
740 defaults: [
741 "android.jar_defaults",
Mark Whitee35b1382023-08-12 01:31:26 +0000742 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000743 visibility: ["//frameworks/base/services"],
Mark Whitee35b1382023-08-12 01:31:26 +0000744}
745
746java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000747 name: "android_module_lib_stubs_current.from-source",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000748 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100749 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000750 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100751 static_libs: [
752 "android-non-updatable.stubs.module_lib",
Victor Chang6b107a92021-06-17 23:49:42 +0100753 "art.module.public.api.stubs.module_lib",
Giulio Fiscella68a04112021-11-30 16:32:44 +0000754 "i18n.module.public.api.stubs",
Anton Hanssonb7d532e2021-02-05 11:40:25 +0000755 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000756 visibility: ["//frameworks/base/services"],
757}
758
759java_library {
760 name: "android_module_lib_stubs_current_exportable.from-source",
761 defaults: [
762 "android.jar_defaults",
763 "android_stubs_dists_default",
764 ],
765 static_libs: [
766 "android-non-updatable.stubs.exportable.module_lib",
767 "art.module.public.api.stubs.exportable.module_lib",
768 "i18n.module.public.api.stubs.exportable",
769 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000770 dist: {
771 dir: "apistubs/android/module-lib",
772 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900773}
774
Andrei Oneafaa271a2021-03-17 13:32:51 +0000775java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000776 name: "android_system_server_stubs_current.from-source",
Anton Hansson21fb1082023-03-03 16:22:42 +0000777 defaults: [
778 "android.jar_defaults",
Anton Hansson21fb1082023-03-03 16:22:42 +0000779 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000780 srcs: [":services-non-updatable-stubs"],
781 installable: false,
782 static_libs: [
Jihoon Kang1453baa2023-05-27 05:32:30 +0000783 "android_module_lib_stubs_current.from-source",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000784 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000785 visibility: ["//frameworks/base/services"],
786}
787
788java_library {
789 name: "android_system_server_stubs_current_exportable.from-source",
790 defaults: [
791 "android.jar_defaults",
792 "android_stubs_dists_default",
793 ],
794 srcs: [":services-non-updatable-stubs{.exportable}"],
795 installable: false,
796 static_libs: [
797 "android_module_lib_stubs_current_exportable.from-source",
798 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000799 dist: {
800 dir: "apistubs/android/system-server",
801 },
802}
803
Colin Crosscf87a572022-10-20 14:06:53 -0700804java_library {
805 name: "android_stubs_private_jar",
806 defaults: ["android.jar_defaults"],
807 visibility: [
808 "//visibility:override",
809 "//visibility:private",
810 ],
811 static_libs: [
812 "stable.core.platform.api.stubs",
813 "core-lambda-stubs-for-system-modules",
814 "core-generated-annotation-stubs",
815 "framework",
816 "ext",
817 "framework-res-package-jar",
818 // The order of this matters, it has to be last to provide a
819 // package-private androidx.annotation.RecentlyNonNull without
820 // overriding the public android.annotation.Nullable in framework.jar
821 // with its own package-private android.annotation.Nullable.
822 "private-stub-annotations-jar",
823 ],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000824 is_stubs_module: true,
Colin Crosscf87a572022-10-20 14:06:53 -0700825}
826
827java_genrule {
828 name: "android_stubs_private_hjar",
Colin Crosscf87a572022-10-20 14:06:53 -0700829 srcs: [":android_stubs_private_jar{.hjar}"],
830 out: ["android_stubs_private.jar"],
831 cmd: "cp $(in) $(out)",
832}
833
834java_library {
835 name: "android_stubs_private",
836 defaults: ["android_stubs_dists_default"],
Colin Crosscf87a572022-10-20 14:06:53 -0700837 sdk_version: "none",
838 system_modules: "none",
839 static_libs: ["android_stubs_private_hjar"],
840 dist: {
841 dir: "apistubs/android/private",
842 },
843}
844
845java_genrule {
846 name: "android_stubs_private_framework_aidl",
Colin Crosscf87a572022-10-20 14:06:53 -0700847 tools: ["sdkparcelables"],
848 srcs: [":android_stubs_private"],
849 out: ["framework.aidl"],
850 cmd: "rm -f $(genDir)/framework.aidl.merged && " +
851 "for i in $(in); do " +
852 " rm -f $(genDir)/framework.aidl.tmp && " +
853 " $(location sdkparcelables) $$i $(genDir)/framework.aidl.tmp && " +
854 " cat $(genDir)/framework.aidl.tmp >> $(genDir)/framework.aidl.merged; " +
855 "done && " +
856 "sort -u $(genDir)/framework.aidl.merged > $(out)",
857 dist: {
858 targets: ["sdk"],
859 dir: "apistubs/android/private",
860 },
861}
862
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000863//
864// Java API defaults and libraries for single tree build
865//
866
867java_defaults {
868 name: "stub-annotation-defaults",
869 libs: [
870 "stub-annotations",
871 ],
872 static_libs: [
873 // stub annotations do not contribute to the API surfaces but are statically
874 // linked in the stubs for API surfaces (see frameworks/base/StubLibraries.bp).
875 // This is because annotation processors insist on loading the classes for any
876 // annotations found, thus should exist inside android.jar.
877 "private-stub-annotations-jar",
878 ],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000879 is_stubs_module: true,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000880}
881
882// Listing of API domains contribution and dependencies per API surfaces
883java_defaults {
884 name: "android_test_stubs_current_contributions",
885 api_surface: "test",
886 api_contributions: [
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000887 "framework-virtualization.stubs.source.test.api.contribution",
Mark White3cc5e002023-08-07 11:18:09 +0000888 "framework-location.stubs.source.test.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000889 ],
890}
891
892java_defaults {
893 name: "android_test_frameworks_core_stubs_current_contributions",
894 api_surface: "test",
895 api_contributions: [
896 "test-api-stubs-docs-non-updatable.api.contribution",
897 ],
898}
899
900java_defaults {
901 name: "android_module_lib_stubs_current_contributions",
902 api_surface: "module-lib",
903 api_contributions: [
904 "api-stubs-docs-non-updatable.api.contribution",
905 "system-api-stubs-docs-non-updatable.api.contribution",
906 "module-lib-api-stubs-docs-non-updatable.api.contribution",
907 "art.module.public.api.stubs.source.api.contribution",
908 "art.module.public.api.stubs.source.system.api.contribution",
909 "art.module.public.api.stubs.source.module_lib.api.contribution",
910 "i18n.module.public.api.stubs.source.api.contribution",
911 "i18n.module.public.api.stubs.source.system.api.contribution",
912 "i18n.module.public.api.stubs.source.module_lib.api.contribution",
913 ],
914}
915
916// Java API library definitions per API surface
917java_api_library {
918 name: "android_stubs_current.from-text",
919 api_surface: "public",
920 defaults: [
921 // This module is dynamically created at frameworks/base/api/api.go
922 // instead of being written out, in order to minimize edits in the codebase
923 // when there is a change in the list of modules.
924 // that contributes to an api surface.
925 "android_stubs_current_contributions",
926 "stub-annotation-defaults",
927 ],
928 api_contributions: [
929 "api-stubs-docs-non-updatable.api.contribution",
930 ],
931 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000932 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000933 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000934}
935
936java_api_library {
937 name: "android_system_stubs_current.from-text",
938 api_surface: "system",
939 defaults: [
940 "android_stubs_current_contributions",
941 "android_system_stubs_current_contributions",
942 "stub-annotation-defaults",
943 ],
944 api_contributions: [
945 "api-stubs-docs-non-updatable.api.contribution",
946 "system-api-stubs-docs-non-updatable.api.contribution",
947 ],
948 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000949 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000950 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000951}
952
953java_api_library {
954 name: "android_test_stubs_current.from-text",
955 api_surface: "test",
956 defaults: [
957 "android_stubs_current_contributions",
958 "android_system_stubs_current_contributions",
959 "android_test_stubs_current_contributions",
960 "stub-annotation-defaults",
961 ],
962 api_contributions: [
963 "api-stubs-docs-non-updatable.api.contribution",
964 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang1c5022b2023-09-20 22:02:29 +0000965 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000966 ],
967 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000968 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000969 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000970}
971
972java_api_library {
973 name: "android_test_frameworks_core_stubs_current.from-text",
974 api_surface: "test",
975 defaults: [
976 "android_stubs_current_contributions",
977 "android_system_stubs_current_contributions",
978 "android_test_frameworks_core_stubs_current_contributions",
Jihoon Kangbeeb35a2023-10-17 22:22:24 +0000979 ],
980 libs: [
981 "stub-annotations",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000982 ],
983 api_contributions: [
984 "api-stubs-docs-non-updatable.api.contribution",
985 "system-api-stubs-docs-non-updatable.api.contribution",
986 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000987 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000988 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000989}
990
991java_api_library {
992 name: "android_module_lib_stubs_current_full.from-text",
993 api_surface: "module-lib",
994 defaults: [
995 "android_stubs_current_contributions",
996 "android_system_stubs_current_contributions",
997 "android_module_lib_stubs_current_contributions_full",
998 ],
999 libs: [
1000 "stub-annotations",
1001 ],
1002 api_contributions: [
1003 "api-stubs-docs-non-updatable.api.contribution",
1004 "system-api-stubs-docs-non-updatable.api.contribution",
1005 "module-lib-api-stubs-docs-non-updatable.api.contribution",
1006 ],
1007 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +00001008 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +00001009 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +00001010}
1011
1012java_api_library {
1013 name: "android_module_lib_stubs_current.from-text",
1014 api_surface: "module-lib",
1015 defaults: [
1016 "android_module_lib_stubs_current_contributions",
1017 ],
1018 libs: [
1019 "android_module_lib_stubs_current_full.from-text",
1020 "stub-annotations",
1021 ],
1022 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +00001023 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +00001024 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +00001025}
1026
1027java_api_library {
Jihoon Kang4683b142023-10-05 23:42:51 +00001028 name: "android_test_module_lib_stubs_current.from-text",
1029 api_surface: "module-lib",
1030 defaults: [
1031 "android_stubs_current_contributions",
1032 "android_system_stubs_current_contributions",
1033 "android_test_stubs_current_contributions",
1034 "android_module_lib_stubs_current_contributions",
1035 ],
1036 libs: [
1037 "android_module_lib_stubs_current_full.from-text",
1038 "stub-annotations",
1039 ],
1040 api_contributions: [
1041 "test-api-stubs-docs-non-updatable.api.contribution",
1042 ],
1043
1044 // This module is only used to build android-non-updatable.stubs.test_module_lib
1045 // and other modules should not depend on this module.
1046 visibility: [
1047 "//visibility:private",
1048 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +00001049 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +00001050 stubs_type: "everything",
Jihoon Kang4683b142023-10-05 23:42:51 +00001051}
1052
1053java_api_library {
Jihoon Kang7b627ed2023-09-21 01:14:17 +00001054 name: "android_system_server_stubs_current.from-text",
1055 api_surface: "system-server",
1056 api_contributions: [
1057 "services-non-updatable-stubs.api.contribution",
1058 ],
1059 libs: [
1060 "android_module_lib_stubs_current.from-text",
1061 "stub-annotations",
1062 ],
1063 static_libs: [
1064 "android_module_lib_stubs_current.from-text",
1065 ],
1066 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +00001067 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +00001068 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +00001069}
1070
Anton Hansson36bc27c2021-09-14 15:45:13 +01001071////////////////////////////////////////////////////////////////////////
1072// api-versions.xml generation, for public and system. This API database
1073// also contains the android.test.* APIs.
1074////////////////////////////////////////////////////////////////////////
1075
1076java_library {
1077 name: "android_stubs_current_with_test_libs",
1078 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001079 "android_stubs_current_exportable",
Anton Hansson36bc27c2021-09-14 15:45:13 +01001080 "android.test.base.stubs",
1081 "android.test.mock.stubs",
1082 "android.test.runner.stubs",
1083 ],
1084 defaults: ["android.jar_defaults"],
1085 visibility: [
1086 "//visibility:override",
1087 "//visibility:private",
1088 ],
1089}
1090
1091java_library {
1092 name: "android_system_stubs_current_with_test_libs",
1093 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001094 "android_system_stubs_current_exportable",
Anton Hansson36bc27c2021-09-14 15:45:13 +01001095 "android.test.base.stubs.system",
1096 "android.test.mock.stubs.system",
1097 "android.test.runner.stubs.system",
1098 ],
1099 defaults: ["android.jar_defaults"],
1100 visibility: [
1101 "//visibility:override",
1102 "//visibility:private",
1103 ],
1104}
1105
Cole Faustdcda3702022-10-04 14:46:35 -07001106java_library {
1107 name: "android_module_stubs_current_with_test_libs",
1108 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001109 "android_module_lib_stubs_current_exportable",
Cole Faustdcda3702022-10-04 14:46:35 -07001110 "android.test.base.stubs",
1111 "android.test.mock.stubs",
1112 "android.test.runner.stubs",
1113 ],
1114 defaults: ["android.jar_defaults"],
1115 visibility: [
1116 "//visibility:override",
1117 "//visibility:private",
1118 ],
1119}
1120
1121java_library {
1122 name: "android_system_server_stubs_current_with_test_libs",
1123 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001124 "android_system_server_stubs_current_exportable",
Cole Faustdcda3702022-10-04 14:46:35 -07001125 "android.test.base.stubs.system",
1126 "android.test.mock.stubs.system",
1127 "android.test.runner.stubs.system",
1128 ],
1129 defaults: ["android.jar_defaults"],
1130 visibility: [
1131 "//visibility:override",
1132 "//visibility:private",
1133 ],
1134}
1135
Anton Hansson36bc27c2021-09-14 15:45:13 +01001136droidstubs {
1137 name: "api_versions_public",
1138 srcs: [":android_stubs_current_with_test_libs{.jar}"],
1139 generate_stubs: false,
1140 api_levels_annotations_enabled: true,
1141 api_levels_annotations_dirs: [
1142 "sdk-dir",
1143 "api-versions-jars-dir",
1144 ],
Cole Faustdcda3702022-10-04 14:46:35 -07001145 api_levels_sdk_type: "public",
Mårten Kongstad54845332022-09-06 15:50:37 +02001146 extensions_info_file: ":sdk-extensions-info",
Anton Hanssonca6e67a2023-03-03 17:55:09 +00001147 visibility: ["//frameworks/base"],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001148}
1149
1150droidstubs {
1151 name: "api_versions_system",
1152 srcs: [":android_system_stubs_current_with_test_libs{.jar}"],
1153 generate_stubs: false,
1154 api_levels_annotations_enabled: true,
1155 api_levels_annotations_dirs: [
1156 "sdk-dir",
1157 "api-versions-jars-dir",
1158 ],
1159 api_levels_sdk_type: "system",
Mårten Kongstad54845332022-09-06 15:50:37 +02001160 extensions_info_file: ":sdk-extensions-info",
Paul Duffin75f63602024-01-05 18:15:59 +00001161 dists: [
1162 // Make the api-versions.xml file for the system API available in the
1163 // sdk build target.
1164 {
1165 targets: ["sdk"],
1166 dest: "api-versions_system.xml",
1167 tag: ".api_versions.xml",
1168 },
1169 ],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001170}
1171
Cole Faustbf4ce752023-02-08 12:46:06 -08001172// This module can be built with:
Cole Faust24e730f2024-01-08 14:11:11 -08001173// m out/soong/.intermediates/frameworks/base/api/api_versions_module_lib/android_common/metalava/api-versions.xml
Cole Faustdcda3702022-10-04 14:46:35 -07001174droidstubs {
1175 name: "api_versions_module_lib",
1176 srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
1177 generate_stubs: false,
1178 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001179 // this only has the non-updatable portions of the module lib sdk,
1180 // which can reference classes from updatable apexes, so remove references to them
1181 // from this api_versions file.
1182 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001183 api_levels_annotations_dirs: [
1184 "sdk-dir",
1185 "api-versions-jars-dir",
1186 ],
1187 api_levels_sdk_type: "module-lib",
Cole Faust1deced12023-02-15 13:24:18 -08001188 // extensions_info_file is purposefully omitted, because this module should just be
1189 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001190}
1191
1192droidstubs {
1193 name: "api_versions_system_server",
1194 srcs: [":android_system_server_stubs_current_with_test_libs{.jar}"],
1195 generate_stubs: false,
1196 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001197 // this only has the non-updatable portions of the system server sdk,
1198 // which can reference classes from updatable apexes, so remove references to them
1199 // from this api_versions file.
1200 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001201 api_levels_annotations_dirs: [
1202 "sdk-dir",
1203 "api-versions-jars-dir",
1204 ],
1205 api_levels_sdk_type: "system-server",
Cole Faust1deced12023-02-15 13:24:18 -08001206 // extensions_info_file is purposefully omitted, because this module should just be
1207 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001208}
1209
Jiyong Park7fb4b182019-12-20 14:35:43 +09001210/////////////////////////////////////////////////////////////////////
1211// hwbinder.stubs provides APIs required for building HIDL Java
1212// libraries.
1213/////////////////////////////////////////////////////////////////////
1214
1215droidstubs {
1216 name: "hwbinder-stubs-docs",
Anton Hansson23f319f2023-03-03 16:04:02 +00001217 srcs: [":hwbinder-stubs-srcs"],
Colin Cross037d7fb2021-03-25 17:01:55 -07001218 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001219 installable: false,
1220 sdk_version: "core_platform",
1221 annotations_enabled: true,
Anton Hansson48ee95e2020-05-02 17:49:26 +01001222 previous_api: ":android.api.public.latest",
Jiyong Park7fb4b182019-12-20 14:35:43 +09001223 merge_annotations_dirs: [
1224 "metalava-manual",
1225 ],
Anton Hansson84a0e712023-10-23 09:17:45 +00001226 flags: priv_apps,
Jiyong Park7fb4b182019-12-20 14:35:43 +09001227}
1228
Anton Hanssonbbdd64b2021-04-26 18:47:39 +01001229java_library {
Jiyong Park7fb4b182019-12-20 14:35:43 +09001230 name: "hwbinder.stubs",
1231 sdk_version: "core_current",
Colin Cross037d7fb2021-03-25 17:01:55 -07001232 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001233 srcs: [
1234 ":hwbinder-stubs-docs",
1235 ],
Anton Hansson86925682021-04-14 14:54:43 +01001236 visibility: ["//visibility:public"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001237}