blob: d94890e23ae5c3925bec2cfde7861fa9e90049c3 [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
Anton Hansson76d3db42020-04-09 14:16:37 +010030droidstubs {
31 name: "api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +000032 defaults: [
33 "android-non-updatable-stubs-defaults",
34 "module-classpath-stubs-defaults",
35 ],
Anton Hansson76d3db42020-04-09 14:16:37 +010036 check_api: {
37 current: {
Anton Hanssonb7cda922023-03-03 15:38:28 +000038 api_file: ":non-updatable-current.txt",
39 removed_api_file: ":non-updatable-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +010040 },
Anton Hansson37e102e2020-10-05 16:42:40 +010041 last_released: {
42 api_file: ":android-non-updatable.api.public.latest",
43 removed_api_file: ":android-non-updatable-removed.api.public.latest",
Anton Hansson7f3393d2021-04-12 11:56:53 +010044 baseline_file: ":android-non-updatable-incompatibilities.api.public.latest",
Anton Hansson37e102e2020-10-05 16:42:40 +010045 },
Anton Hansson76d3db42020-04-09 14:16:37 +010046 api_lint: {
47 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +010048 new_since: ":android.api.public.latest",
Adrian Roos440f3cf2023-09-20 10:03:31 +000049 baseline_file: ":non-updatable-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +010050 },
51 },
Anton Hansson85785fe2021-01-20 20:23:34 +000052 dists: [
53 {
Anton Hanssondd8ef672022-01-04 08:53:19 +000054 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +000055 dir: "apistubs/android/public/api",
56 dest: "android-non-updatable.txt",
57 tag: ".api.txt",
58 },
59 {
Anton Hanssondd8ef672022-01-04 08:53:19 +000060 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +000061 dir: "apistubs/android/public/api",
62 dest: "android-non-updatable-removed.txt",
63 tag: ".removed-api.txt",
64 },
65 ],
Jihoon Kang866b9b7a2023-09-20 22:28:05 +000066 api_surface: "public",
Anton Hansson76d3db42020-04-09 14:16:37 +010067}
68
Anton Hansson84a0e712023-10-23 09:17:45 +000069priv_apps = [
70 "--show-annotation android.annotation.SystemApi\\(" +
71 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
72 "\\)",
73]
Anton Hansson2feb3f12020-11-13 11:44:32 +000074
Anton Hansson84a0e712023-10-23 09:17:45 +000075priv_apps_in_stubs = [
76 "--show-for-stub-purposes-annotation android.annotation.SystemApi\\(" +
77 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
78 "\\)",
79]
Anton Hansson2feb3f12020-11-13 11:44:32 +000080
Anton Hansson84a0e712023-10-23 09:17:45 +000081test = ["--show-annotation android.annotation.TestApi"]
Anton Hansson2feb3f12020-11-13 11:44:32 +000082
Anton Hansson84a0e712023-10-23 09:17:45 +000083module_libs = [
84 "--show-annotation android.annotation.SystemApi\\(" +
85 "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
86 "\\)",
87]
Anton Hansson81969c22020-02-03 20:45:56 +000088
Jiyong Park7fb4b182019-12-20 14:35:43 +090089droidstubs {
Anton Hansson76d3db42020-04-09 14:16:37 +010090 name: "system-api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +000091 defaults: [
92 "android-non-updatable-stubs-defaults",
93 "module-classpath-stubs-defaults",
94 ],
Anton Hansson84a0e712023-10-23 09:17:45 +000095 flags: priv_apps,
Anton Hansson76d3db42020-04-09 14:16:37 +010096 check_api: {
97 current: {
Anton Hanssonb7cda922023-03-03 15:38:28 +000098 api_file: ":non-updatable-system-current.txt",
99 removed_api_file: ":non-updatable-system-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100100 },
Anton Hansson37e102e2020-10-05 16:42:40 +0100101 last_released: {
102 api_file: ":android-non-updatable.api.system.latest",
103 removed_api_file: ":android-non-updatable-removed.api.system.latest",
Anton Hansson240ee482021-04-14 12:52:00 +0100104 baseline_file: ":android-non-updatable-incompatibilities.api.system.latest",
Anton Hansson37e102e2020-10-05 16:42:40 +0100105 },
Anton Hansson76d3db42020-04-09 14:16:37 +0100106 api_lint: {
107 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +0100108 new_since: ":android.api.system.latest",
Anton Hanssonb7cda922023-03-03 15:38:28 +0000109 baseline_file: ":non-updatable-system-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100110 },
111 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000112 dists: [
113 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000114 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000115 dir: "apistubs/android/system/api",
116 dest: "android-non-updatable.txt",
117 tag: ".api.txt",
118 },
119 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000120 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000121 dir: "apistubs/android/system/api",
122 dest: "android-non-updatable-removed.txt",
123 tag: ".removed-api.txt",
124 },
125 ],
Jihoon Kang866b9b7a2023-09-20 22:28:05 +0000126 api_surface: "system",
Anton Hansson76d3db42020-04-09 14:16:37 +0100127}
128
129droidstubs {
Anton Hansson022aac52020-11-05 10:45:13 +0000130 name: "test-api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +0000131 defaults: [
132 "android-non-updatable-stubs-defaults",
133 "module-classpath-stubs-defaults",
134 ],
Anton Hansson84a0e712023-10-23 09:17:45 +0000135 flags: test + priv_apps_in_stubs,
Jiyong Park7fb4b182019-12-20 14:35:43 +0900136 check_api: {
137 current: {
Anton Hanssonb7cda922023-03-03 15:38:28 +0000138 api_file: ":non-updatable-test-current.txt",
139 removed_api_file: ":non-updatable-test-removed.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900140 },
141 api_lint: {
142 enabled: true,
Adrian Roos440f3cf2023-09-20 10:03:31 +0000143 new_since: ":android.api.test.latest",
Anton Hanssonb7cda922023-03-03 15:38:28 +0000144 baseline_file: ":non-updatable-test-lint-baseline.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900145 },
146 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000147 dists: [
148 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000149 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000150 dir: "apistubs/android/test/api",
151 dest: "android.txt",
152 tag: ".api.txt",
153 },
154 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000155 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000156 dir: "apistubs/android/test/api",
157 dest: "removed.txt",
158 tag: ".removed-api.txt",
159 },
160 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000161 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000162 dir: "apistubs/android/test/api",
163 dest: "android-non-updatable.txt",
164 tag: ".api.txt",
165 },
166 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000167 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000168 dir: "apistubs/android/test/api",
169 dest: "android-non-updatable-removed.txt",
170 tag: ".removed-api.txt",
171 },
172 ],
Jihoon Kang866b9b7a2023-09-20 22:28:05 +0000173 api_surface: "test",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900174}
175
Jiyong Parke3095162019-12-20 15:30:28 +0900176droidstubs {
Anton Hansson76d3db42020-04-09 14:16:37 +0100177 name: "module-lib-api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +0000178 defaults: [
179 "android-non-updatable-stubs-defaults",
180 "module-classpath-stubs-defaults",
181 ],
Anton Hansson84a0e712023-10-23 09:17:45 +0000182 flags: priv_apps_in_stubs + module_libs,
Anton Hansson76d3db42020-04-09 14:16:37 +0100183 check_api: {
184 current: {
Anton Hanssonb7cda922023-03-03 15:38:28 +0000185 api_file: ":non-updatable-module-lib-current.txt",
186 removed_api_file: ":non-updatable-module-lib-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100187 },
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100188 last_released: {
189 api_file: ":android-non-updatable.api.module-lib.latest",
190 removed_api_file: ":android-non-updatable-removed.api.module-lib.latest",
Junyu Lai2dbb1772022-01-12 17:38:02 +0000191 baseline_file: ":android-non-updatable-incompatibilities.api.module-lib.latest",
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100192 },
Anton Hansson76d3db42020-04-09 14:16:37 +0100193 api_lint: {
194 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +0100195 new_since: ":android.api.module-lib.latest",
Anton Hanssonb7cda922023-03-03 15:38:28 +0000196 baseline_file: ":non-updatable-module-lib-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100197 },
198 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000199 dists: [
200 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000201 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000202 dir: "apistubs/android/module-lib/api",
203 dest: "android-non-updatable.txt",
204 tag: ".api.txt",
205 },
206 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000207 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000208 dir: "apistubs/android/module-lib/api",
209 dest: "android-non-updatable-removed.txt",
210 tag: ".removed-api.txt",
211 },
212 ],
Jihoon Kang866b9b7a2023-09-20 22:28:05 +0000213 api_surface: "module-lib",
Anton Hansson76d3db42020-04-09 14:16:37 +0100214}
Anton Hansson81969c22020-02-03 20:45:56 +0000215
Jiyong Parke3095162019-12-20 15:30:28 +0900216/////////////////////////////////////////////////////////////////////
Jiyong Park7fb4b182019-12-20 14:35:43 +0900217// android_*_stubs_current modules are the stubs libraries compiled
Anton Hansson2feb3f12020-11-13 11:44:32 +0000218// from stub sources
Jiyong Park7fb4b182019-12-20 14:35:43 +0900219/////////////////////////////////////////////////////////////////////
220
221java_defaults {
Anton Hanssonc43a66b2022-03-03 15:14:04 +0000222 name: "android.jar_defaults",
223 sdk_version: "none",
224 system_modules: "none",
225 java_version: "1.8",
226 compile_dex: true,
Anton Hanssonc43a66b2022-03-03 15:14:04 +0000227 visibility: ["//visibility:public"],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000228 is_stubs_module: true,
Anton Hanssonc43a66b2022-03-03 15:14:04 +0000229}
230
231java_defaults {
Jihoon Kang491c7082023-06-15 18:37:01 +0000232 name: "android-non-updatable_defaults",
Anton Hanssonfbd32f32020-04-09 14:16:37 +0100233 sdk_version: "none",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900234 system_modules: "none",
235 java_version: "1.8",
236 compile_dex: true,
Jihoon Kanga7073b52024-02-12 23:18:52 +0000237 is_stubs_module: true,
Jihoon Kang491c7082023-06-15 18:37:01 +0000238}
239
240java_defaults {
241 name: "android-non-updatable_from_source_defaults",
242 libs: ["stub-annotations"],
243 static_libs: ["framework-res-package-jar"], // Export package of framework-res
Jihoon Kang059b9492023-12-29 00:40:34 +0000244}
245
246java_defaults {
247 name: "android-non-updatable_exportable_from_source_defaults",
Anton Hanssona4108912021-04-09 13:40:11 +0100248 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000249 targets: ["sdk"],
Anton Hanssona4108912021-04-09 13:40:11 +0100250 tag: ".jar",
251 dest: "android-non-updatable.jar",
Anton Hansson240ee482021-04-14 12:52:00 +0100252 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900253}
254
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100255java_library {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100256 name: "android-non-updatable.stubs",
Jihoon Kang491c7082023-06-15 18:37:01 +0000257 defaults: ["android-non-updatable_defaults"],
258 static_libs: [
259 "android-non-updatable.stubs.from-source",
260 ],
261 product_variables: {
262 build_from_text_stub: {
263 static_libs: [
264 "android-non-updatable.stubs.from-text",
265 ],
266 exclude_static_libs: [
267 "android-non-updatable.stubs.from-source",
268 ],
269 },
270 },
271}
272
273java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000274 name: "android-non-updatable.stubs.exportable",
275 defaults: ["android-non-updatable_defaults"],
276 static_libs: [
277 "android-non-updatable.stubs.exportable.from-source",
278 ],
279}
280
281java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000282 name: "android-non-updatable.stubs.system",
283 defaults: ["android-non-updatable_defaults"],
284 static_libs: [
285 "android-non-updatable.stubs.system.from-source",
286 ],
287 product_variables: {
288 build_from_text_stub: {
289 static_libs: [
290 "android-non-updatable.stubs.system.from-text",
291 ],
292 exclude_static_libs: [
293 "android-non-updatable.stubs.system.from-source",
294 ],
295 },
296 },
297}
298
299java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000300 name: "android-non-updatable.stubs.exportable.system",
301 defaults: ["android-non-updatable_defaults"],
302 static_libs: [
303 "android-non-updatable.stubs.exportable.system.from-source",
304 ],
305}
306
307java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000308 name: "android-non-updatable.stubs.module_lib",
309 defaults: ["android-non-updatable_defaults"],
310 static_libs: [
311 "android-non-updatable.stubs.module_lib.from-source",
312 ],
313 product_variables: {
314 build_from_text_stub: {
315 static_libs: [
316 "android-non-updatable.stubs.module_lib.from-text",
317 ],
318 exclude_static_libs: [
319 "android-non-updatable.stubs.module_lib.from-source",
320 ],
321 },
322 },
323}
324
325java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000326 name: "android-non-updatable.stubs.exportable.module_lib",
327 defaults: ["android-non-updatable_defaults"],
328 static_libs: [
329 "android-non-updatable.stubs.exportable.module_lib.from-source",
330 ],
331}
332
333java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000334 name: "android-non-updatable.stubs.test",
335 defaults: ["android-non-updatable_defaults"],
336 static_libs: [
337 "android-non-updatable.stubs.test.from-source",
338 ],
339 product_variables: {
340 build_from_text_stub: {
341 static_libs: [
342 "android-non-updatable.stubs.test.from-text",
343 ],
344 exclude_static_libs: [
345 "android-non-updatable.stubs.test.from-source",
346 ],
347 },
348 },
349}
350
351java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000352 name: "android-non-updatable.stubs.exportable.test",
353 defaults: ["android-non-updatable_defaults"],
354 static_libs: [
355 "android-non-updatable.stubs.exportable.test.from-source",
356 ],
357}
358
359java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000360 name: "android-non-updatable.stubs.from-source",
361 defaults: [
362 "android-non-updatable_defaults",
363 "android-non-updatable_from_source_defaults",
364 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100365 srcs: [":api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000366 libs: ["all-modules-public-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000367}
368
369java_library {
370 name: "android-non-updatable.stubs.exportable.from-source",
371 defaults: [
372 "android-non-updatable_defaults",
373 "android-non-updatable_from_source_defaults",
374 "android-non-updatable_exportable_from_source_defaults",
375 ],
376 srcs: [":api-stubs-docs-non-updatable{.exportable}"],
377 libs: ["all-modules-public-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100378 dist: {
379 dir: "apistubs/android/public",
380 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100381}
382
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100383java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000384 name: "android-non-updatable.stubs.system.from-source",
385 defaults: [
386 "android-non-updatable_defaults",
387 "android-non-updatable_from_source_defaults",
388 ],
Anton Hansson240ee482021-04-14 12:52:00 +0100389 srcs: [":system-api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000390 libs: ["all-modules-system-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000391}
392
393java_library {
394 name: "android-non-updatable.stubs.exportable.system.from-source",
395 defaults: [
396 "android-non-updatable_defaults",
397 "android-non-updatable_from_source_defaults",
398 "android-non-updatable_exportable_from_source_defaults",
399 ],
400 srcs: [":system-api-stubs-docs-non-updatable{.exportable}"],
401 libs: ["all-modules-system-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100402 dist: {
403 dir: "apistubs/android/system",
404 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100405}
406
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100407java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000408 name: "android-non-updatable.stubs.module_lib.from-source",
409 defaults: [
410 "android-non-updatable_defaults",
411 "android-non-updatable_from_source_defaults",
412 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100413 srcs: [":module-lib-api-stubs-docs-non-updatable"],
Anton Hansson648b0db2023-11-06 19:24:42 +0000414 libs: non_updatable_api_deps_on_modules,
Jihoon Kang059b9492023-12-29 00:40:34 +0000415}
416
417java_library {
418 name: "android-non-updatable.stubs.exportable.module_lib.from-source",
419 defaults: [
420 "android-non-updatable_defaults",
421 "android-non-updatable_from_source_defaults",
422 "android-non-updatable_exportable_from_source_defaults",
423 ],
424 srcs: [":module-lib-api-stubs-docs-non-updatable{.exportable}"],
425 libs: non_updatable_api_deps_on_modules,
Anton Hanssona4108912021-04-09 13:40:11 +0100426 dist: {
427 dir: "apistubs/android/module-lib",
428 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100429}
430
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100431java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000432 name: "android-non-updatable.stubs.test.from-source",
433 defaults: [
434 "android-non-updatable_defaults",
435 "android-non-updatable_from_source_defaults",
436 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100437 srcs: [":test-api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000438 libs: ["all-modules-system-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000439}
440
441java_library {
442 name: "android-non-updatable.stubs.exportable.test.from-source",
443 defaults: [
444 "android-non-updatable_defaults",
445 "android-non-updatable_from_source_defaults",
446 "android-non-updatable_exportable_from_source_defaults",
447 ],
448 srcs: [":test-api-stubs-docs-non-updatable{.exportable}"],
449 libs: ["all-modules-system-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100450 dist: {
451 dir: "apistubs/android/test",
452 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100453}
454
455java_defaults {
Jihoon Kang491c7082023-06-15 18:37:01 +0000456 name: "android-non-updatable_from_text_defaults",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000457 static_libs: ["framework-res-package-jar"],
458 libs: ["stub-annotations"],
459}
460
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000461java_defaults {
462 name: "android-non-updatable_everything_from_text_defaults",
463 defaults: [
464 "android-non-updatable_from_text_defaults",
465 ],
466 stubs_type: "everything",
467}
468
Jihoon Kang0c101db2023-03-14 07:03:46 +0000469java_api_library {
470 name: "android-non-updatable.stubs.from-text",
471 api_surface: "public",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000472 api_contributions: [
473 "api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000474 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000475 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000476 full_api_surface_stub: "android_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000477}
478
479java_api_library {
480 name: "android-non-updatable.stubs.system.from-text",
481 api_surface: "system",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000482 api_contributions: [
483 "api-stubs-docs-non-updatable.api.contribution",
484 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000485 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000486 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000487 full_api_surface_stub: "android_system_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000488}
489
490java_api_library {
491 name: "android-non-updatable.stubs.test.from-text",
492 api_surface: "test",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000493 api_contributions: [
494 "api-stubs-docs-non-updatable.api.contribution",
495 "system-api-stubs-docs-non-updatable.api.contribution",
496 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000497 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000498 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000499 full_api_surface_stub: "android_test_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000500}
501
502java_api_library {
503 name: "android-non-updatable.stubs.module_lib.from-text",
504 api_surface: "module_lib",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000505 api_contributions: [
506 "api-stubs-docs-non-updatable.api.contribution",
507 "system-api-stubs-docs-non-updatable.api.contribution",
508 "module-lib-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000509 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000510 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000511 full_api_surface_stub: "android_module_lib_stubs_current_full.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000512}
513
Jihoon Kang4683b142023-10-05 23:42:51 +0000514// This module generates a stub jar that is a union of the test and module lib
515// non-updatable api contributions. Modules should not depend on the stub jar
516// generated from this module, as this module is strictly used for hiddenapi only.
517java_api_library {
518 name: "android-non-updatable.stubs.test_module_lib",
519 api_surface: "module_lib",
520 api_contributions: [
521 "api-stubs-docs-non-updatable.api.contribution",
522 "system-api-stubs-docs-non-updatable.api.contribution",
523 "test-api-stubs-docs-non-updatable.api.contribution",
524 "module-lib-api-stubs-docs-non-updatable.api.contribution",
525 ],
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000526 defaults: ["android-non-updatable_everything_from_text_defaults"],
Jihoon Kang4683b142023-10-05 23:42:51 +0000527 full_api_surface_stub: "android_test_module_lib_stubs_current.from-text",
528
529 // This module is only used for hiddenapi, and other modules should not
530 // depend on this module.
531 visibility: ["//visibility:private"],
532}
533
Jihoon Kang0c101db2023-03-14 07:03:46 +0000534java_defaults {
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000535 name: "android_stubs_dists_default",
536 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000537 targets: ["sdk"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000538 tag: ".jar",
539 dest: "android.jar",
540 },
Anton Hansson86925682021-04-14 14:54:43 +0100541 defaults_visibility: ["//frameworks/base/services"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000542}
543
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100544java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000545 name: "android_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000546 static_libs: [
547 "all-modules-public-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100548 "android-non-updatable.stubs",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100549 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100550 ],
Anton Hansson65057af2021-04-14 18:52:08 +0100551 defaults: ["android.jar_defaults"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900552}
553
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100554java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000555 name: "android_stubs_current_exportable.from-source",
556 static_libs: [
557 "all-modules-public-stubs-exportable",
558 "android-non-updatable.stubs.exportable",
559 "private-stub-annotations-jar",
560 ],
561 defaults: ["android.jar_defaults"],
562}
563
564java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000565 name: "android_system_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000566 static_libs: [
567 "all-modules-system-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100568 "android-non-updatable.stubs.system",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100569 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100570 ],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000571 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100572 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000573 ],
574 visibility: ["//frameworks/base/services"],
575}
576
577java_library {
578 name: "android_system_stubs_current_exportable.from-source",
579 static_libs: [
580 "all-modules-system-stubs-exportable",
581 "android-non-updatable.stubs.exportable.system",
582 "private-stub-annotations-jar",
583 ],
584 defaults: [
585 "android.jar_defaults",
Anton Hanssonc3002e52020-11-18 18:23:55 +0000586 "android_stubs_dists_default",
587 ],
588 dist: {
589 dir: "apistubs/android/system",
590 },
591 dists: [
592 {
593 // Legacy dist path
Anton Hanssondd8ef672022-01-04 08:53:19 +0000594 targets: ["sdk"],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000595 tag: ".jar",
596 dest: "android_system.jar",
597 },
598 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100599}
600
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100601java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000602 name: "android_test_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000603 static_libs: [
Nikita Ioffe5593fbb2022-12-01 14:52:34 +0000604 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
605 // include the SystemApi of framework-non-updatable-sources.
606 "all-updatable-modules-system-stubs",
607 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
608 "all-non-updatable-modules-test-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100609 "android-non-updatable.stubs.test",
Anton Hansson7ce31c12020-10-15 18:38:49 +0100610 "private-stub-annotations-jar",
611 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000612 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100613 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000614 ],
615 visibility: ["//frameworks/base/services"],
616}
617
618java_library {
619 name: "android_test_stubs_current_exportable.from-source",
620 static_libs: [
621 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
622 // include the SystemApi of framework-non-updatable-sources.
623 "all-updatable-modules-system-stubs-exportable",
624 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
625 "all-non-updatable-modules-test-stubs-exportable",
626 "android-non-updatable.stubs.exportable.test",
627 "private-stub-annotations-jar",
628 ],
629 defaults: [
630 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000631 "android_stubs_dists_default",
632 ],
633 dist: {
634 dir: "apistubs/android/test",
635 },
Jiyong Parke3095162019-12-20 15:30:28 +0900636}
637
Jihoon Kang059b9492023-12-29 00:40:34 +0000638// This module does not need to be copied to dist
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100639java_library {
Mark Whitee35b1382023-08-12 01:31:26 +0000640 name: "android_test_frameworks_core_stubs_current.from-source",
641 static_libs: [
642 "all-updatable-modules-system-stubs",
643 "android-non-updatable.stubs.test",
Mark Whitee35b1382023-08-12 01:31:26 +0000644 ],
645 defaults: [
646 "android.jar_defaults",
Mark Whitee35b1382023-08-12 01:31:26 +0000647 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000648 visibility: ["//frameworks/base/services"],
Mark Whitee35b1382023-08-12 01:31:26 +0000649}
650
651java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000652 name: "android_module_lib_stubs_current.from-source",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000653 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100654 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000655 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100656 static_libs: [
657 "android-non-updatable.stubs.module_lib",
Victor Chang6b107a92021-06-17 23:49:42 +0100658 "art.module.public.api.stubs.module_lib",
Giulio Fiscella68a04112021-11-30 16:32:44 +0000659 "i18n.module.public.api.stubs",
Anton Hanssonb7d532e2021-02-05 11:40:25 +0000660 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000661 visibility: ["//frameworks/base/services"],
662}
663
664java_library {
665 name: "android_module_lib_stubs_current_exportable.from-source",
666 defaults: [
667 "android.jar_defaults",
668 "android_stubs_dists_default",
669 ],
670 static_libs: [
671 "android-non-updatable.stubs.exportable.module_lib",
672 "art.module.public.api.stubs.exportable.module_lib",
673 "i18n.module.public.api.stubs.exportable",
674 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000675 dist: {
676 dir: "apistubs/android/module-lib",
677 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900678}
679
Andrei Oneafaa271a2021-03-17 13:32:51 +0000680java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000681 name: "android_system_server_stubs_current.from-source",
Anton Hansson21fb1082023-03-03 16:22:42 +0000682 defaults: [
683 "android.jar_defaults",
Anton Hansson21fb1082023-03-03 16:22:42 +0000684 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000685 srcs: [":services-non-updatable-stubs"],
686 installable: false,
687 static_libs: [
Jihoon Kang1453baa2023-05-27 05:32:30 +0000688 "android_module_lib_stubs_current.from-source",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000689 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000690 visibility: ["//frameworks/base/services"],
691}
692
693java_library {
694 name: "android_system_server_stubs_current_exportable.from-source",
695 defaults: [
696 "android.jar_defaults",
697 "android_stubs_dists_default",
698 ],
699 srcs: [":services-non-updatable-stubs{.exportable}"],
700 installable: false,
701 static_libs: [
702 "android_module_lib_stubs_current_exportable.from-source",
703 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000704 dist: {
705 dir: "apistubs/android/system-server",
706 },
707}
708
Colin Crosscf87a572022-10-20 14:06:53 -0700709java_library {
710 name: "android_stubs_private_jar",
711 defaults: ["android.jar_defaults"],
712 visibility: [
713 "//visibility:override",
714 "//visibility:private",
715 ],
716 static_libs: [
717 "stable.core.platform.api.stubs",
718 "core-lambda-stubs-for-system-modules",
719 "core-generated-annotation-stubs",
720 "framework",
721 "ext",
722 "framework-res-package-jar",
723 // The order of this matters, it has to be last to provide a
724 // package-private androidx.annotation.RecentlyNonNull without
725 // overriding the public android.annotation.Nullable in framework.jar
726 // with its own package-private android.annotation.Nullable.
727 "private-stub-annotations-jar",
728 ],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000729 is_stubs_module: true,
Colin Crosscf87a572022-10-20 14:06:53 -0700730}
731
732java_genrule {
733 name: "android_stubs_private_hjar",
Colin Crosscf87a572022-10-20 14:06:53 -0700734 srcs: [":android_stubs_private_jar{.hjar}"],
735 out: ["android_stubs_private.jar"],
736 cmd: "cp $(in) $(out)",
737}
738
739java_library {
740 name: "android_stubs_private",
741 defaults: ["android_stubs_dists_default"],
Colin Crosscf87a572022-10-20 14:06:53 -0700742 sdk_version: "none",
743 system_modules: "none",
744 static_libs: ["android_stubs_private_hjar"],
745 dist: {
746 dir: "apistubs/android/private",
747 },
748}
749
750java_genrule {
751 name: "android_stubs_private_framework_aidl",
Colin Crosscf87a572022-10-20 14:06:53 -0700752 tools: ["sdkparcelables"],
753 srcs: [":android_stubs_private"],
754 out: ["framework.aidl"],
755 cmd: "rm -f $(genDir)/framework.aidl.merged && " +
756 "for i in $(in); do " +
757 " rm -f $(genDir)/framework.aidl.tmp && " +
758 " $(location sdkparcelables) $$i $(genDir)/framework.aidl.tmp && " +
759 " cat $(genDir)/framework.aidl.tmp >> $(genDir)/framework.aidl.merged; " +
760 "done && " +
761 "sort -u $(genDir)/framework.aidl.merged > $(out)",
762 dist: {
763 targets: ["sdk"],
764 dir: "apistubs/android/private",
765 },
766}
767
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000768//
769// Java API defaults and libraries for single tree build
770//
771
772java_defaults {
773 name: "stub-annotation-defaults",
774 libs: [
775 "stub-annotations",
776 ],
777 static_libs: [
778 // stub annotations do not contribute to the API surfaces but are statically
779 // linked in the stubs for API surfaces (see frameworks/base/StubLibraries.bp).
780 // This is because annotation processors insist on loading the classes for any
781 // annotations found, thus should exist inside android.jar.
782 "private-stub-annotations-jar",
783 ],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000784 is_stubs_module: true,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000785}
786
787// Listing of API domains contribution and dependencies per API surfaces
788java_defaults {
789 name: "android_test_stubs_current_contributions",
790 api_surface: "test",
791 api_contributions: [
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000792 "framework-virtualization.stubs.source.test.api.contribution",
Mark White3cc5e002023-08-07 11:18:09 +0000793 "framework-location.stubs.source.test.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000794 ],
795}
796
797java_defaults {
798 name: "android_test_frameworks_core_stubs_current_contributions",
799 api_surface: "test",
800 api_contributions: [
801 "test-api-stubs-docs-non-updatable.api.contribution",
802 ],
803}
804
805java_defaults {
806 name: "android_module_lib_stubs_current_contributions",
807 api_surface: "module-lib",
808 api_contributions: [
809 "api-stubs-docs-non-updatable.api.contribution",
810 "system-api-stubs-docs-non-updatable.api.contribution",
811 "module-lib-api-stubs-docs-non-updatable.api.contribution",
812 "art.module.public.api.stubs.source.api.contribution",
813 "art.module.public.api.stubs.source.system.api.contribution",
814 "art.module.public.api.stubs.source.module_lib.api.contribution",
815 "i18n.module.public.api.stubs.source.api.contribution",
816 "i18n.module.public.api.stubs.source.system.api.contribution",
817 "i18n.module.public.api.stubs.source.module_lib.api.contribution",
818 ],
819}
820
821// Java API library definitions per API surface
822java_api_library {
823 name: "android_stubs_current.from-text",
824 api_surface: "public",
825 defaults: [
826 // This module is dynamically created at frameworks/base/api/api.go
827 // instead of being written out, in order to minimize edits in the codebase
828 // when there is a change in the list of modules.
829 // that contributes to an api surface.
830 "android_stubs_current_contributions",
831 "stub-annotation-defaults",
832 ],
833 api_contributions: [
834 "api-stubs-docs-non-updatable.api.contribution",
835 ],
836 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000837 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000838 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000839}
840
841java_api_library {
842 name: "android_system_stubs_current.from-text",
843 api_surface: "system",
844 defaults: [
845 "android_stubs_current_contributions",
846 "android_system_stubs_current_contributions",
847 "stub-annotation-defaults",
848 ],
849 api_contributions: [
850 "api-stubs-docs-non-updatable.api.contribution",
851 "system-api-stubs-docs-non-updatable.api.contribution",
852 ],
853 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000854 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000855 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000856}
857
858java_api_library {
859 name: "android_test_stubs_current.from-text",
860 api_surface: "test",
861 defaults: [
862 "android_stubs_current_contributions",
863 "android_system_stubs_current_contributions",
864 "android_test_stubs_current_contributions",
865 "stub-annotation-defaults",
866 ],
867 api_contributions: [
868 "api-stubs-docs-non-updatable.api.contribution",
869 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang1c5022b2023-09-20 22:02:29 +0000870 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000871 ],
872 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000873 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000874 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000875}
876
877java_api_library {
878 name: "android_test_frameworks_core_stubs_current.from-text",
879 api_surface: "test",
880 defaults: [
881 "android_stubs_current_contributions",
882 "android_system_stubs_current_contributions",
883 "android_test_frameworks_core_stubs_current_contributions",
Jihoon Kangbeeb35a2023-10-17 22:22:24 +0000884 ],
885 libs: [
886 "stub-annotations",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000887 ],
888 api_contributions: [
889 "api-stubs-docs-non-updatable.api.contribution",
890 "system-api-stubs-docs-non-updatable.api.contribution",
891 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000892 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000893 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000894}
895
896java_api_library {
897 name: "android_module_lib_stubs_current_full.from-text",
898 api_surface: "module-lib",
899 defaults: [
900 "android_stubs_current_contributions",
901 "android_system_stubs_current_contributions",
902 "android_module_lib_stubs_current_contributions_full",
903 ],
904 libs: [
905 "stub-annotations",
906 ],
907 api_contributions: [
908 "api-stubs-docs-non-updatable.api.contribution",
909 "system-api-stubs-docs-non-updatable.api.contribution",
910 "module-lib-api-stubs-docs-non-updatable.api.contribution",
911 ],
912 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000913 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000914 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000915}
916
917java_api_library {
918 name: "android_module_lib_stubs_current.from-text",
919 api_surface: "module-lib",
920 defaults: [
921 "android_module_lib_stubs_current_contributions",
922 ],
923 libs: [
924 "android_module_lib_stubs_current_full.from-text",
925 "stub-annotations",
926 ],
927 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000928 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000929 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000930}
931
932java_api_library {
Jihoon Kang4683b142023-10-05 23:42:51 +0000933 name: "android_test_module_lib_stubs_current.from-text",
934 api_surface: "module-lib",
935 defaults: [
936 "android_stubs_current_contributions",
937 "android_system_stubs_current_contributions",
938 "android_test_stubs_current_contributions",
939 "android_module_lib_stubs_current_contributions",
940 ],
941 libs: [
942 "android_module_lib_stubs_current_full.from-text",
943 "stub-annotations",
944 ],
945 api_contributions: [
946 "test-api-stubs-docs-non-updatable.api.contribution",
947 ],
948
949 // This module is only used to build android-non-updatable.stubs.test_module_lib
950 // and other modules should not depend on this module.
951 visibility: [
952 "//visibility:private",
953 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000954 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000955 stubs_type: "everything",
Jihoon Kang4683b142023-10-05 23:42:51 +0000956}
957
958java_api_library {
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000959 name: "android_system_server_stubs_current.from-text",
960 api_surface: "system-server",
961 api_contributions: [
962 "services-non-updatable-stubs.api.contribution",
963 ],
964 libs: [
965 "android_module_lib_stubs_current.from-text",
966 "stub-annotations",
967 ],
968 static_libs: [
969 "android_module_lib_stubs_current.from-text",
970 ],
971 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000972 enable_validation: false,
Jihoon Kang0d639bf2024-02-28 00:54:13 +0000973 stubs_type: "everything",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000974}
975
Anton Hansson36bc27c2021-09-14 15:45:13 +0100976////////////////////////////////////////////////////////////////////////
977// api-versions.xml generation, for public and system. This API database
978// also contains the android.test.* APIs.
979////////////////////////////////////////////////////////////////////////
980
981java_library {
982 name: "android_stubs_current_with_test_libs",
983 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +0000984 "android_stubs_current_exportable",
Anton Hansson36bc27c2021-09-14 15:45:13 +0100985 "android.test.base.stubs",
986 "android.test.mock.stubs",
987 "android.test.runner.stubs",
988 ],
989 defaults: ["android.jar_defaults"],
990 visibility: [
991 "//visibility:override",
992 "//visibility:private",
993 ],
994}
995
996java_library {
997 name: "android_system_stubs_current_with_test_libs",
998 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +0000999 "android_system_stubs_current_exportable",
Anton Hansson36bc27c2021-09-14 15:45:13 +01001000 "android.test.base.stubs.system",
1001 "android.test.mock.stubs.system",
1002 "android.test.runner.stubs.system",
1003 ],
1004 defaults: ["android.jar_defaults"],
1005 visibility: [
1006 "//visibility:override",
1007 "//visibility:private",
1008 ],
1009}
1010
Cole Faustdcda3702022-10-04 14:46:35 -07001011java_library {
1012 name: "android_module_stubs_current_with_test_libs",
1013 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001014 "android_module_lib_stubs_current_exportable",
Cole Faustdcda3702022-10-04 14:46:35 -07001015 "android.test.base.stubs",
1016 "android.test.mock.stubs",
1017 "android.test.runner.stubs",
1018 ],
1019 defaults: ["android.jar_defaults"],
1020 visibility: [
1021 "//visibility:override",
1022 "//visibility:private",
1023 ],
1024}
1025
1026java_library {
1027 name: "android_system_server_stubs_current_with_test_libs",
1028 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001029 "android_system_server_stubs_current_exportable",
Cole Faustdcda3702022-10-04 14:46:35 -07001030 "android.test.base.stubs.system",
1031 "android.test.mock.stubs.system",
1032 "android.test.runner.stubs.system",
1033 ],
1034 defaults: ["android.jar_defaults"],
1035 visibility: [
1036 "//visibility:override",
1037 "//visibility:private",
1038 ],
1039}
1040
Anton Hansson36bc27c2021-09-14 15:45:13 +01001041droidstubs {
1042 name: "api_versions_public",
1043 srcs: [":android_stubs_current_with_test_libs{.jar}"],
1044 generate_stubs: false,
1045 api_levels_annotations_enabled: true,
1046 api_levels_annotations_dirs: [
1047 "sdk-dir",
1048 "api-versions-jars-dir",
1049 ],
Cole Faustdcda3702022-10-04 14:46:35 -07001050 api_levels_sdk_type: "public",
Mårten Kongstad54845332022-09-06 15:50:37 +02001051 extensions_info_file: ":sdk-extensions-info",
Anton Hanssonca6e67a2023-03-03 17:55:09 +00001052 visibility: ["//frameworks/base"],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001053}
1054
1055droidstubs {
1056 name: "api_versions_system",
1057 srcs: [":android_system_stubs_current_with_test_libs{.jar}"],
1058 generate_stubs: false,
1059 api_levels_annotations_enabled: true,
1060 api_levels_annotations_dirs: [
1061 "sdk-dir",
1062 "api-versions-jars-dir",
1063 ],
1064 api_levels_sdk_type: "system",
Mårten Kongstad54845332022-09-06 15:50:37 +02001065 extensions_info_file: ":sdk-extensions-info",
Paul Duffin75f63602024-01-05 18:15:59 +00001066 dists: [
1067 // Make the api-versions.xml file for the system API available in the
1068 // sdk build target.
1069 {
1070 targets: ["sdk"],
1071 dest: "api-versions_system.xml",
1072 tag: ".api_versions.xml",
1073 },
1074 ],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001075}
1076
Cole Faustbf4ce752023-02-08 12:46:06 -08001077// This module can be built with:
Cole Faust24e730f2024-01-08 14:11:11 -08001078// m out/soong/.intermediates/frameworks/base/api/api_versions_module_lib/android_common/metalava/api-versions.xml
Cole Faustdcda3702022-10-04 14:46:35 -07001079droidstubs {
1080 name: "api_versions_module_lib",
1081 srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
1082 generate_stubs: false,
1083 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001084 // this only has the non-updatable portions of the module lib sdk,
1085 // which can reference classes from updatable apexes, so remove references to them
1086 // from this api_versions file.
1087 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001088 api_levels_annotations_dirs: [
1089 "sdk-dir",
1090 "api-versions-jars-dir",
1091 ],
1092 api_levels_sdk_type: "module-lib",
Cole Faust1deced12023-02-15 13:24:18 -08001093 // extensions_info_file is purposefully omitted, because this module should just be
1094 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001095}
1096
1097droidstubs {
1098 name: "api_versions_system_server",
1099 srcs: [":android_system_server_stubs_current_with_test_libs{.jar}"],
1100 generate_stubs: false,
1101 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001102 // this only has the non-updatable portions of the system server sdk,
1103 // which can reference classes from updatable apexes, so remove references to them
1104 // from this api_versions file.
1105 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001106 api_levels_annotations_dirs: [
1107 "sdk-dir",
1108 "api-versions-jars-dir",
1109 ],
1110 api_levels_sdk_type: "system-server",
Cole Faust1deced12023-02-15 13:24:18 -08001111 // extensions_info_file is purposefully omitted, because this module should just be
1112 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001113}
1114
Jiyong Park7fb4b182019-12-20 14:35:43 +09001115/////////////////////////////////////////////////////////////////////
1116// hwbinder.stubs provides APIs required for building HIDL Java
1117// libraries.
1118/////////////////////////////////////////////////////////////////////
1119
1120droidstubs {
1121 name: "hwbinder-stubs-docs",
Anton Hansson23f319f2023-03-03 16:04:02 +00001122 srcs: [":hwbinder-stubs-srcs"],
Colin Cross037d7fb2021-03-25 17:01:55 -07001123 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001124 installable: false,
1125 sdk_version: "core_platform",
1126 annotations_enabled: true,
Anton Hansson48ee95e2020-05-02 17:49:26 +01001127 previous_api: ":android.api.public.latest",
Jiyong Park7fb4b182019-12-20 14:35:43 +09001128 merge_annotations_dirs: [
1129 "metalava-manual",
1130 ],
Anton Hansson84a0e712023-10-23 09:17:45 +00001131 flags: priv_apps,
Jiyong Park7fb4b182019-12-20 14:35:43 +09001132}
1133
Anton Hanssonbbdd64b2021-04-26 18:47:39 +01001134java_library {
Jiyong Park7fb4b182019-12-20 14:35:43 +09001135 name: "hwbinder.stubs",
1136 sdk_version: "core_current",
Colin Cross037d7fb2021-03-25 17:01:55 -07001137 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001138 srcs: [
1139 ":hwbinder-stubs-docs",
1140 ],
Anton Hansson86925682021-04-14 14:54:43 +01001141 visibility: ["//visibility:public"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001142}