blob: ec4fc46a76fb6382d170b4898b7d7dc2e78fce47 [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"],
228}
229
230java_defaults {
Jihoon Kang491c7082023-06-15 18:37:01 +0000231 name: "android-non-updatable_defaults",
Anton Hanssonfbd32f32020-04-09 14:16:37 +0100232 sdk_version: "none",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900233 system_modules: "none",
234 java_version: "1.8",
235 compile_dex: true,
Jihoon Kang491c7082023-06-15 18:37:01 +0000236}
237
238java_defaults {
239 name: "android-non-updatable_from_source_defaults",
240 libs: ["stub-annotations"],
241 static_libs: ["framework-res-package-jar"], // Export package of framework-res
Jihoon Kang059b9492023-12-29 00:40:34 +0000242}
243
244java_defaults {
245 name: "android-non-updatable_exportable_from_source_defaults",
Anton Hanssona4108912021-04-09 13:40:11 +0100246 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000247 targets: ["sdk"],
Anton Hanssona4108912021-04-09 13:40:11 +0100248 tag: ".jar",
249 dest: "android-non-updatable.jar",
Anton Hansson240ee482021-04-14 12:52:00 +0100250 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900251}
252
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100253java_library {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100254 name: "android-non-updatable.stubs",
Jihoon Kang491c7082023-06-15 18:37:01 +0000255 defaults: ["android-non-updatable_defaults"],
256 static_libs: [
257 "android-non-updatable.stubs.from-source",
258 ],
259 product_variables: {
260 build_from_text_stub: {
261 static_libs: [
262 "android-non-updatable.stubs.from-text",
263 ],
264 exclude_static_libs: [
265 "android-non-updatable.stubs.from-source",
266 ],
267 },
268 },
269}
270
271java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000272 name: "android-non-updatable.stubs.exportable",
273 defaults: ["android-non-updatable_defaults"],
274 static_libs: [
275 "android-non-updatable.stubs.exportable.from-source",
276 ],
277}
278
279java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000280 name: "android-non-updatable.stubs.system",
281 defaults: ["android-non-updatable_defaults"],
282 static_libs: [
283 "android-non-updatable.stubs.system.from-source",
284 ],
285 product_variables: {
286 build_from_text_stub: {
287 static_libs: [
288 "android-non-updatable.stubs.system.from-text",
289 ],
290 exclude_static_libs: [
291 "android-non-updatable.stubs.system.from-source",
292 ],
293 },
294 },
295}
296
297java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000298 name: "android-non-updatable.stubs.exportable.system",
299 defaults: ["android-non-updatable_defaults"],
300 static_libs: [
301 "android-non-updatable.stubs.exportable.system.from-source",
302 ],
303}
304
305java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000306 name: "android-non-updatable.stubs.module_lib",
307 defaults: ["android-non-updatable_defaults"],
308 static_libs: [
309 "android-non-updatable.stubs.module_lib.from-source",
310 ],
311 product_variables: {
312 build_from_text_stub: {
313 static_libs: [
314 "android-non-updatable.stubs.module_lib.from-text",
315 ],
316 exclude_static_libs: [
317 "android-non-updatable.stubs.module_lib.from-source",
318 ],
319 },
320 },
321}
322
323java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000324 name: "android-non-updatable.stubs.exportable.module_lib",
325 defaults: ["android-non-updatable_defaults"],
326 static_libs: [
327 "android-non-updatable.stubs.exportable.module_lib.from-source",
328 ],
329}
330
331java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000332 name: "android-non-updatable.stubs.test",
333 defaults: ["android-non-updatable_defaults"],
334 static_libs: [
335 "android-non-updatable.stubs.test.from-source",
336 ],
337 product_variables: {
338 build_from_text_stub: {
339 static_libs: [
340 "android-non-updatable.stubs.test.from-text",
341 ],
342 exclude_static_libs: [
343 "android-non-updatable.stubs.test.from-source",
344 ],
345 },
346 },
347}
348
349java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000350 name: "android-non-updatable.stubs.exportable.test",
351 defaults: ["android-non-updatable_defaults"],
352 static_libs: [
353 "android-non-updatable.stubs.exportable.test.from-source",
354 ],
355}
356
357java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000358 name: "android-non-updatable.stubs.from-source",
359 defaults: [
360 "android-non-updatable_defaults",
361 "android-non-updatable_from_source_defaults",
362 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100363 srcs: [":api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000364 libs: ["all-modules-public-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000365}
366
367java_library {
368 name: "android-non-updatable.stubs.exportable.from-source",
369 defaults: [
370 "android-non-updatable_defaults",
371 "android-non-updatable_from_source_defaults",
372 "android-non-updatable_exportable_from_source_defaults",
373 ],
374 srcs: [":api-stubs-docs-non-updatable{.exportable}"],
375 libs: ["all-modules-public-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100376 dist: {
377 dir: "apistubs/android/public",
378 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100379}
380
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100381java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000382 name: "android-non-updatable.stubs.system.from-source",
383 defaults: [
384 "android-non-updatable_defaults",
385 "android-non-updatable_from_source_defaults",
386 ],
Anton Hansson240ee482021-04-14 12:52:00 +0100387 srcs: [":system-api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000388 libs: ["all-modules-system-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000389}
390
391java_library {
392 name: "android-non-updatable.stubs.exportable.system.from-source",
393 defaults: [
394 "android-non-updatable_defaults",
395 "android-non-updatable_from_source_defaults",
396 "android-non-updatable_exportable_from_source_defaults",
397 ],
398 srcs: [":system-api-stubs-docs-non-updatable{.exportable}"],
399 libs: ["all-modules-system-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100400 dist: {
401 dir: "apistubs/android/system",
402 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100403}
404
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100405java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000406 name: "android-non-updatable.stubs.module_lib.from-source",
407 defaults: [
408 "android-non-updatable_defaults",
409 "android-non-updatable_from_source_defaults",
410 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100411 srcs: [":module-lib-api-stubs-docs-non-updatable"],
Anton Hansson648b0db2023-11-06 19:24:42 +0000412 libs: non_updatable_api_deps_on_modules,
Jihoon Kang059b9492023-12-29 00:40:34 +0000413}
414
415java_library {
416 name: "android-non-updatable.stubs.exportable.module_lib.from-source",
417 defaults: [
418 "android-non-updatable_defaults",
419 "android-non-updatable_from_source_defaults",
420 "android-non-updatable_exportable_from_source_defaults",
421 ],
422 srcs: [":module-lib-api-stubs-docs-non-updatable{.exportable}"],
423 libs: non_updatable_api_deps_on_modules,
Anton Hanssona4108912021-04-09 13:40:11 +0100424 dist: {
425 dir: "apistubs/android/module-lib",
426 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100427}
428
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100429java_library {
Jihoon Kang491c7082023-06-15 18:37:01 +0000430 name: "android-non-updatable.stubs.test.from-source",
431 defaults: [
432 "android-non-updatable_defaults",
433 "android-non-updatable_from_source_defaults",
434 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100435 srcs: [":test-api-stubs-docs-non-updatable"],
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000436 libs: ["all-modules-system-stubs"],
Jihoon Kang059b9492023-12-29 00:40:34 +0000437}
438
439java_library {
440 name: "android-non-updatable.stubs.exportable.test.from-source",
441 defaults: [
442 "android-non-updatable_defaults",
443 "android-non-updatable_from_source_defaults",
444 "android-non-updatable_exportable_from_source_defaults",
445 ],
446 srcs: [":test-api-stubs-docs-non-updatable{.exportable}"],
447 libs: ["all-modules-system-stubs"],
Anton Hanssona4108912021-04-09 13:40:11 +0100448 dist: {
449 dir: "apistubs/android/test",
450 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100451}
452
453java_defaults {
Jihoon Kang491c7082023-06-15 18:37:01 +0000454 name: "android-non-updatable_from_text_defaults",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000455 static_libs: ["framework-res-package-jar"],
456 libs: ["stub-annotations"],
457}
458
459java_api_library {
460 name: "android-non-updatable.stubs.from-text",
461 api_surface: "public",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000462 api_contributions: [
463 "api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000464 ],
Jihoon Kang491c7082023-06-15 18:37:01 +0000465 defaults: ["android-non-updatable_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000466 full_api_surface_stub: "android_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000467}
468
469java_api_library {
470 name: "android-non-updatable.stubs.system.from-text",
471 api_surface: "system",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000472 api_contributions: [
473 "api-stubs-docs-non-updatable.api.contribution",
474 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000475 ],
Jihoon Kang491c7082023-06-15 18:37:01 +0000476 defaults: ["android-non-updatable_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000477 full_api_surface_stub: "android_system_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000478}
479
480java_api_library {
481 name: "android-non-updatable.stubs.test.from-text",
482 api_surface: "test",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000483 api_contributions: [
484 "api-stubs-docs-non-updatable.api.contribution",
485 "system-api-stubs-docs-non-updatable.api.contribution",
486 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000487 ],
Jihoon Kang491c7082023-06-15 18:37:01 +0000488 defaults: ["android-non-updatable_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000489 full_api_surface_stub: "android_test_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000490}
491
492java_api_library {
493 name: "android-non-updatable.stubs.module_lib.from-text",
494 api_surface: "module_lib",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000495 api_contributions: [
496 "api-stubs-docs-non-updatable.api.contribution",
497 "system-api-stubs-docs-non-updatable.api.contribution",
498 "module-lib-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000499 ],
Jihoon Kang491c7082023-06-15 18:37:01 +0000500 defaults: ["android-non-updatable_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000501 full_api_surface_stub: "android_module_lib_stubs_current_full.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000502}
503
Jihoon Kang4683b142023-10-05 23:42:51 +0000504// This module generates a stub jar that is a union of the test and module lib
505// non-updatable api contributions. Modules should not depend on the stub jar
506// generated from this module, as this module is strictly used for hiddenapi only.
507java_api_library {
508 name: "android-non-updatable.stubs.test_module_lib",
509 api_surface: "module_lib",
510 api_contributions: [
511 "api-stubs-docs-non-updatable.api.contribution",
512 "system-api-stubs-docs-non-updatable.api.contribution",
513 "test-api-stubs-docs-non-updatable.api.contribution",
514 "module-lib-api-stubs-docs-non-updatable.api.contribution",
515 ],
516 defaults: ["android-non-updatable_from_text_defaults"],
517 full_api_surface_stub: "android_test_module_lib_stubs_current.from-text",
518
519 // This module is only used for hiddenapi, and other modules should not
520 // depend on this module.
521 visibility: ["//visibility:private"],
522}
523
Jihoon Kang0c101db2023-03-14 07:03:46 +0000524java_defaults {
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000525 name: "android_stubs_dists_default",
526 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000527 targets: ["sdk"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000528 tag: ".jar",
529 dest: "android.jar",
530 },
Anton Hansson86925682021-04-14 14:54:43 +0100531 defaults_visibility: ["//frameworks/base/services"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000532}
533
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100534java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000535 name: "android_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000536 static_libs: [
537 "all-modules-public-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100538 "android-non-updatable.stubs",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100539 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100540 ],
Anton Hansson65057af2021-04-14 18:52:08 +0100541 defaults: ["android.jar_defaults"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900542}
543
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100544java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000545 name: "android_stubs_current_exportable.from-source",
546 static_libs: [
547 "all-modules-public-stubs-exportable",
548 "android-non-updatable.stubs.exportable",
549 "private-stub-annotations-jar",
550 ],
551 defaults: ["android.jar_defaults"],
552}
553
554java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000555 name: "android_system_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000556 static_libs: [
557 "all-modules-system-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100558 "android-non-updatable.stubs.system",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100559 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100560 ],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000561 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100562 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000563 ],
564 visibility: ["//frameworks/base/services"],
565}
566
567java_library {
568 name: "android_system_stubs_current_exportable.from-source",
569 static_libs: [
570 "all-modules-system-stubs-exportable",
571 "android-non-updatable.stubs.exportable.system",
572 "private-stub-annotations-jar",
573 ],
574 defaults: [
575 "android.jar_defaults",
Anton Hanssonc3002e52020-11-18 18:23:55 +0000576 "android_stubs_dists_default",
577 ],
578 dist: {
579 dir: "apistubs/android/system",
580 },
581 dists: [
582 {
583 // Legacy dist path
Anton Hanssondd8ef672022-01-04 08:53:19 +0000584 targets: ["sdk"],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000585 tag: ".jar",
586 dest: "android_system.jar",
587 },
588 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100589}
590
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100591java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000592 name: "android_test_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000593 static_libs: [
Nikita Ioffe5593fbb2022-12-01 14:52:34 +0000594 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
595 // include the SystemApi of framework-non-updatable-sources.
596 "all-updatable-modules-system-stubs",
597 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
598 "all-non-updatable-modules-test-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100599 "android-non-updatable.stubs.test",
Anton Hansson7ce31c12020-10-15 18:38:49 +0100600 "private-stub-annotations-jar",
601 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000602 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100603 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000604 ],
605 visibility: ["//frameworks/base/services"],
606}
607
608java_library {
609 name: "android_test_stubs_current_exportable.from-source",
610 static_libs: [
611 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
612 // include the SystemApi of framework-non-updatable-sources.
613 "all-updatable-modules-system-stubs-exportable",
614 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
615 "all-non-updatable-modules-test-stubs-exportable",
616 "android-non-updatable.stubs.exportable.test",
617 "private-stub-annotations-jar",
618 ],
619 defaults: [
620 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000621 "android_stubs_dists_default",
622 ],
623 dist: {
624 dir: "apistubs/android/test",
625 },
Jiyong Parke3095162019-12-20 15:30:28 +0900626}
627
Jihoon Kang059b9492023-12-29 00:40:34 +0000628// This module does not need to be copied to dist
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100629java_library {
Mark Whitee35b1382023-08-12 01:31:26 +0000630 name: "android_test_frameworks_core_stubs_current.from-source",
631 static_libs: [
632 "all-updatable-modules-system-stubs",
633 "android-non-updatable.stubs.test",
Mark Whitee35b1382023-08-12 01:31:26 +0000634 ],
635 defaults: [
636 "android.jar_defaults",
Mark Whitee35b1382023-08-12 01:31:26 +0000637 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000638 visibility: ["//frameworks/base/services"],
Mark Whitee35b1382023-08-12 01:31:26 +0000639}
640
641java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000642 name: "android_module_lib_stubs_current.from-source",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000643 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100644 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000645 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100646 static_libs: [
647 "android-non-updatable.stubs.module_lib",
Victor Chang6b107a92021-06-17 23:49:42 +0100648 "art.module.public.api.stubs.module_lib",
Giulio Fiscella68a04112021-11-30 16:32:44 +0000649 "i18n.module.public.api.stubs",
Anton Hanssonb7d532e2021-02-05 11:40:25 +0000650 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000651 visibility: ["//frameworks/base/services"],
652}
653
654java_library {
655 name: "android_module_lib_stubs_current_exportable.from-source",
656 defaults: [
657 "android.jar_defaults",
658 "android_stubs_dists_default",
659 ],
660 static_libs: [
661 "android-non-updatable.stubs.exportable.module_lib",
662 "art.module.public.api.stubs.exportable.module_lib",
663 "i18n.module.public.api.stubs.exportable",
664 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000665 dist: {
666 dir: "apistubs/android/module-lib",
667 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900668}
669
Andrei Oneafaa271a2021-03-17 13:32:51 +0000670java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000671 name: "android_system_server_stubs_current.from-source",
Anton Hansson21fb1082023-03-03 16:22:42 +0000672 defaults: [
673 "android.jar_defaults",
Anton Hansson21fb1082023-03-03 16:22:42 +0000674 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000675 srcs: [":services-non-updatable-stubs"],
676 installable: false,
677 static_libs: [
Jihoon Kang1453baa2023-05-27 05:32:30 +0000678 "android_module_lib_stubs_current.from-source",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000679 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000680 visibility: ["//frameworks/base/services"],
681}
682
683java_library {
684 name: "android_system_server_stubs_current_exportable.from-source",
685 defaults: [
686 "android.jar_defaults",
687 "android_stubs_dists_default",
688 ],
689 srcs: [":services-non-updatable-stubs{.exportable}"],
690 installable: false,
691 static_libs: [
692 "android_module_lib_stubs_current_exportable.from-source",
693 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000694 dist: {
695 dir: "apistubs/android/system-server",
696 },
697}
698
Colin Crosscf87a572022-10-20 14:06:53 -0700699java_library {
700 name: "android_stubs_private_jar",
701 defaults: ["android.jar_defaults"],
702 visibility: [
703 "//visibility:override",
704 "//visibility:private",
705 ],
706 static_libs: [
707 "stable.core.platform.api.stubs",
708 "core-lambda-stubs-for-system-modules",
709 "core-generated-annotation-stubs",
710 "framework",
711 "ext",
712 "framework-res-package-jar",
713 // The order of this matters, it has to be last to provide a
714 // package-private androidx.annotation.RecentlyNonNull without
715 // overriding the public android.annotation.Nullable in framework.jar
716 // with its own package-private android.annotation.Nullable.
717 "private-stub-annotations-jar",
718 ],
719}
720
721java_genrule {
722 name: "android_stubs_private_hjar",
Colin Crosscf87a572022-10-20 14:06:53 -0700723 srcs: [":android_stubs_private_jar{.hjar}"],
724 out: ["android_stubs_private.jar"],
725 cmd: "cp $(in) $(out)",
726}
727
728java_library {
729 name: "android_stubs_private",
730 defaults: ["android_stubs_dists_default"],
Colin Crosscf87a572022-10-20 14:06:53 -0700731 sdk_version: "none",
732 system_modules: "none",
733 static_libs: ["android_stubs_private_hjar"],
734 dist: {
735 dir: "apistubs/android/private",
736 },
737}
738
739java_genrule {
740 name: "android_stubs_private_framework_aidl",
Colin Crosscf87a572022-10-20 14:06:53 -0700741 tools: ["sdkparcelables"],
742 srcs: [":android_stubs_private"],
743 out: ["framework.aidl"],
744 cmd: "rm -f $(genDir)/framework.aidl.merged && " +
745 "for i in $(in); do " +
746 " rm -f $(genDir)/framework.aidl.tmp && " +
747 " $(location sdkparcelables) $$i $(genDir)/framework.aidl.tmp && " +
748 " cat $(genDir)/framework.aidl.tmp >> $(genDir)/framework.aidl.merged; " +
749 "done && " +
750 "sort -u $(genDir)/framework.aidl.merged > $(out)",
751 dist: {
752 targets: ["sdk"],
753 dir: "apistubs/android/private",
754 },
755}
756
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000757//
758// Java API defaults and libraries for single tree build
759//
760
761java_defaults {
762 name: "stub-annotation-defaults",
763 libs: [
764 "stub-annotations",
765 ],
766 static_libs: [
767 // stub annotations do not contribute to the API surfaces but are statically
768 // linked in the stubs for API surfaces (see frameworks/base/StubLibraries.bp).
769 // This is because annotation processors insist on loading the classes for any
770 // annotations found, thus should exist inside android.jar.
771 "private-stub-annotations-jar",
772 ],
773}
774
775// Listing of API domains contribution and dependencies per API surfaces
776java_defaults {
777 name: "android_test_stubs_current_contributions",
778 api_surface: "test",
779 api_contributions: [
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000780 "framework-virtualization.stubs.source.test.api.contribution",
Mark White3cc5e002023-08-07 11:18:09 +0000781 "framework-location.stubs.source.test.api.contribution",
Roshan Pius0fa80892023-11-14 14:30:26 -0800782 "framework-nfc.stubs.source.test.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000783 ],
784}
785
786java_defaults {
787 name: "android_test_frameworks_core_stubs_current_contributions",
788 api_surface: "test",
789 api_contributions: [
790 "test-api-stubs-docs-non-updatable.api.contribution",
791 ],
792}
793
794java_defaults {
795 name: "android_module_lib_stubs_current_contributions",
796 api_surface: "module-lib",
797 api_contributions: [
798 "api-stubs-docs-non-updatable.api.contribution",
799 "system-api-stubs-docs-non-updatable.api.contribution",
800 "module-lib-api-stubs-docs-non-updatable.api.contribution",
801 "art.module.public.api.stubs.source.api.contribution",
802 "art.module.public.api.stubs.source.system.api.contribution",
803 "art.module.public.api.stubs.source.module_lib.api.contribution",
804 "i18n.module.public.api.stubs.source.api.contribution",
805 "i18n.module.public.api.stubs.source.system.api.contribution",
806 "i18n.module.public.api.stubs.source.module_lib.api.contribution",
807 ],
808}
809
810// Java API library definitions per API surface
811java_api_library {
812 name: "android_stubs_current.from-text",
813 api_surface: "public",
814 defaults: [
815 // This module is dynamically created at frameworks/base/api/api.go
816 // instead of being written out, in order to minimize edits in the codebase
817 // when there is a change in the list of modules.
818 // that contributes to an api surface.
819 "android_stubs_current_contributions",
820 "stub-annotation-defaults",
821 ],
822 api_contributions: [
823 "api-stubs-docs-non-updatable.api.contribution",
824 ],
825 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000826 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000827}
828
829java_api_library {
830 name: "android_system_stubs_current.from-text",
831 api_surface: "system",
832 defaults: [
833 "android_stubs_current_contributions",
834 "android_system_stubs_current_contributions",
835 "stub-annotation-defaults",
836 ],
837 api_contributions: [
838 "api-stubs-docs-non-updatable.api.contribution",
839 "system-api-stubs-docs-non-updatable.api.contribution",
840 ],
841 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000842 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000843}
844
845java_api_library {
846 name: "android_test_stubs_current.from-text",
847 api_surface: "test",
848 defaults: [
849 "android_stubs_current_contributions",
850 "android_system_stubs_current_contributions",
851 "android_test_stubs_current_contributions",
852 "stub-annotation-defaults",
853 ],
854 api_contributions: [
855 "api-stubs-docs-non-updatable.api.contribution",
856 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang1c5022b2023-09-20 22:02:29 +0000857 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000858 ],
859 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000860 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000861}
862
863java_api_library {
864 name: "android_test_frameworks_core_stubs_current.from-text",
865 api_surface: "test",
866 defaults: [
867 "android_stubs_current_contributions",
868 "android_system_stubs_current_contributions",
869 "android_test_frameworks_core_stubs_current_contributions",
Jihoon Kangbeeb35a2023-10-17 22:22:24 +0000870 ],
871 libs: [
872 "stub-annotations",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000873 ],
874 api_contributions: [
875 "api-stubs-docs-non-updatable.api.contribution",
876 "system-api-stubs-docs-non-updatable.api.contribution",
877 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000878 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000879}
880
881java_api_library {
882 name: "android_module_lib_stubs_current_full.from-text",
883 api_surface: "module-lib",
884 defaults: [
885 "android_stubs_current_contributions",
886 "android_system_stubs_current_contributions",
887 "android_module_lib_stubs_current_contributions_full",
888 ],
889 libs: [
890 "stub-annotations",
891 ],
892 api_contributions: [
893 "api-stubs-docs-non-updatable.api.contribution",
894 "system-api-stubs-docs-non-updatable.api.contribution",
895 "module-lib-api-stubs-docs-non-updatable.api.contribution",
896 ],
897 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000898 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000899}
900
901java_api_library {
902 name: "android_module_lib_stubs_current.from-text",
903 api_surface: "module-lib",
904 defaults: [
905 "android_module_lib_stubs_current_contributions",
906 ],
907 libs: [
908 "android_module_lib_stubs_current_full.from-text",
909 "stub-annotations",
910 ],
911 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000912 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000913}
914
915java_api_library {
Jihoon Kang4683b142023-10-05 23:42:51 +0000916 name: "android_test_module_lib_stubs_current.from-text",
917 api_surface: "module-lib",
918 defaults: [
919 "android_stubs_current_contributions",
920 "android_system_stubs_current_contributions",
921 "android_test_stubs_current_contributions",
922 "android_module_lib_stubs_current_contributions",
923 ],
924 libs: [
925 "android_module_lib_stubs_current_full.from-text",
926 "stub-annotations",
927 ],
928 api_contributions: [
929 "test-api-stubs-docs-non-updatable.api.contribution",
930 ],
931
932 // This module is only used to build android-non-updatable.stubs.test_module_lib
933 // and other modules should not depend on this module.
934 visibility: [
935 "//visibility:private",
936 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000937 enable_validation: false,
Jihoon Kang4683b142023-10-05 23:42:51 +0000938}
939
940java_api_library {
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000941 name: "android_system_server_stubs_current.from-text",
942 api_surface: "system-server",
943 api_contributions: [
944 "services-non-updatable-stubs.api.contribution",
945 ],
946 libs: [
947 "android_module_lib_stubs_current.from-text",
948 "stub-annotations",
949 ],
950 static_libs: [
951 "android_module_lib_stubs_current.from-text",
952 ],
953 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000954 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000955}
956
Anton Hansson36bc27c2021-09-14 15:45:13 +0100957////////////////////////////////////////////////////////////////////////
958// api-versions.xml generation, for public and system. This API database
959// also contains the android.test.* APIs.
960////////////////////////////////////////////////////////////////////////
961
962java_library {
963 name: "android_stubs_current_with_test_libs",
964 static_libs: [
965 "android_stubs_current",
966 "android.test.base.stubs",
967 "android.test.mock.stubs",
968 "android.test.runner.stubs",
969 ],
970 defaults: ["android.jar_defaults"],
971 visibility: [
972 "//visibility:override",
973 "//visibility:private",
974 ],
975}
976
977java_library {
978 name: "android_system_stubs_current_with_test_libs",
979 static_libs: [
980 "android_system_stubs_current",
981 "android.test.base.stubs.system",
982 "android.test.mock.stubs.system",
983 "android.test.runner.stubs.system",
984 ],
985 defaults: ["android.jar_defaults"],
986 visibility: [
987 "//visibility:override",
988 "//visibility:private",
989 ],
990}
991
Cole Faustdcda3702022-10-04 14:46:35 -0700992java_library {
993 name: "android_module_stubs_current_with_test_libs",
994 static_libs: [
995 "android_module_lib_stubs_current",
996 "android.test.base.stubs",
997 "android.test.mock.stubs",
998 "android.test.runner.stubs",
999 ],
1000 defaults: ["android.jar_defaults"],
1001 visibility: [
1002 "//visibility:override",
1003 "//visibility:private",
1004 ],
1005}
1006
1007java_library {
1008 name: "android_system_server_stubs_current_with_test_libs",
1009 static_libs: [
1010 "android_system_server_stubs_current",
1011 "android.test.base.stubs.system",
1012 "android.test.mock.stubs.system",
1013 "android.test.runner.stubs.system",
1014 ],
1015 defaults: ["android.jar_defaults"],
1016 visibility: [
1017 "//visibility:override",
1018 "//visibility:private",
1019 ],
1020}
1021
Anton Hansson36bc27c2021-09-14 15:45:13 +01001022droidstubs {
1023 name: "api_versions_public",
1024 srcs: [":android_stubs_current_with_test_libs{.jar}"],
1025 generate_stubs: false,
1026 api_levels_annotations_enabled: true,
1027 api_levels_annotations_dirs: [
1028 "sdk-dir",
1029 "api-versions-jars-dir",
1030 ],
Cole Faustdcda3702022-10-04 14:46:35 -07001031 api_levels_sdk_type: "public",
Mårten Kongstad54845332022-09-06 15:50:37 +02001032 extensions_info_file: ":sdk-extensions-info",
Anton Hanssonca6e67a2023-03-03 17:55:09 +00001033 visibility: ["//frameworks/base"],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001034}
1035
1036droidstubs {
1037 name: "api_versions_system",
1038 srcs: [":android_system_stubs_current_with_test_libs{.jar}"],
1039 generate_stubs: false,
1040 api_levels_annotations_enabled: true,
1041 api_levels_annotations_dirs: [
1042 "sdk-dir",
1043 "api-versions-jars-dir",
1044 ],
1045 api_levels_sdk_type: "system",
Mårten Kongstad54845332022-09-06 15:50:37 +02001046 extensions_info_file: ":sdk-extensions-info",
Paul Duffin75f63602024-01-05 18:15:59 +00001047 dists: [
1048 // Make the api-versions.xml file for the system API available in the
1049 // sdk build target.
1050 {
1051 targets: ["sdk"],
1052 dest: "api-versions_system.xml",
1053 tag: ".api_versions.xml",
1054 },
1055 ],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001056}
1057
Cole Faustbf4ce752023-02-08 12:46:06 -08001058// This module can be built with:
Cole Faust24e730f2024-01-08 14:11:11 -08001059// m out/soong/.intermediates/frameworks/base/api/api_versions_module_lib/android_common/metalava/api-versions.xml
Cole Faustdcda3702022-10-04 14:46:35 -07001060droidstubs {
1061 name: "api_versions_module_lib",
1062 srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
1063 generate_stubs: false,
1064 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001065 // this only has the non-updatable portions of the module lib sdk,
1066 // which can reference classes from updatable apexes, so remove references to them
1067 // from this api_versions file.
1068 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001069 api_levels_annotations_dirs: [
1070 "sdk-dir",
1071 "api-versions-jars-dir",
1072 ],
1073 api_levels_sdk_type: "module-lib",
Cole Faust1deced12023-02-15 13:24:18 -08001074 // extensions_info_file is purposefully omitted, because this module should just be
1075 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001076}
1077
1078droidstubs {
1079 name: "api_versions_system_server",
1080 srcs: [":android_system_server_stubs_current_with_test_libs{.jar}"],
1081 generate_stubs: false,
1082 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001083 // this only has the non-updatable portions of the system server sdk,
1084 // which can reference classes from updatable apexes, so remove references to them
1085 // from this api_versions file.
1086 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001087 api_levels_annotations_dirs: [
1088 "sdk-dir",
1089 "api-versions-jars-dir",
1090 ],
1091 api_levels_sdk_type: "system-server",
Cole Faust1deced12023-02-15 13:24:18 -08001092 // extensions_info_file is purposefully omitted, because this module should just be
1093 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001094}
1095
Jiyong Park7fb4b182019-12-20 14:35:43 +09001096/////////////////////////////////////////////////////////////////////
1097// hwbinder.stubs provides APIs required for building HIDL Java
1098// libraries.
1099/////////////////////////////////////////////////////////////////////
1100
1101droidstubs {
1102 name: "hwbinder-stubs-docs",
Anton Hansson23f319f2023-03-03 16:04:02 +00001103 srcs: [":hwbinder-stubs-srcs"],
Colin Cross037d7fb2021-03-25 17:01:55 -07001104 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001105 installable: false,
1106 sdk_version: "core_platform",
1107 annotations_enabled: true,
Anton Hansson48ee95e2020-05-02 17:49:26 +01001108 previous_api: ":android.api.public.latest",
Jiyong Park7fb4b182019-12-20 14:35:43 +09001109 merge_annotations_dirs: [
1110 "metalava-manual",
1111 ],
Anton Hansson84a0e712023-10-23 09:17:45 +00001112 flags: priv_apps,
Jiyong Park7fb4b182019-12-20 14:35:43 +09001113}
1114
Anton Hanssonbbdd64b2021-04-26 18:47:39 +01001115java_library {
Jiyong Park7fb4b182019-12-20 14:35:43 +09001116 name: "hwbinder.stubs",
1117 sdk_version: "core_current",
Colin Cross037d7fb2021-03-25 17:01:55 -07001118 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001119 srcs: [
1120 ":hwbinder-stubs-docs",
1121 ],
Anton Hansson86925682021-04-14 14:54:43 +01001122 visibility: ["//visibility:public"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001123}