blob: 2edbd9138f6ec7cb5a2a074a49370928b25ad3ae [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
461java_api_library {
462 name: "android-non-updatable.stubs.from-text",
463 api_surface: "public",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000464 api_contributions: [
465 "api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000466 ],
Jihoon Kang491c7082023-06-15 18:37:01 +0000467 defaults: ["android-non-updatable_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000468 full_api_surface_stub: "android_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000469}
470
471java_api_library {
472 name: "android-non-updatable.stubs.system.from-text",
473 api_surface: "system",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000474 api_contributions: [
475 "api-stubs-docs-non-updatable.api.contribution",
476 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000477 ],
Jihoon Kang491c7082023-06-15 18:37:01 +0000478 defaults: ["android-non-updatable_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000479 full_api_surface_stub: "android_system_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000480}
481
482java_api_library {
483 name: "android-non-updatable.stubs.test.from-text",
484 api_surface: "test",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000485 api_contributions: [
486 "api-stubs-docs-non-updatable.api.contribution",
487 "system-api-stubs-docs-non-updatable.api.contribution",
488 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000489 ],
Jihoon Kang491c7082023-06-15 18:37:01 +0000490 defaults: ["android-non-updatable_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000491 full_api_surface_stub: "android_test_stubs_current.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000492}
493
494java_api_library {
495 name: "android-non-updatable.stubs.module_lib.from-text",
496 api_surface: "module_lib",
Jihoon Kang25b6ced2023-09-20 21:48:09 +0000497 api_contributions: [
498 "api-stubs-docs-non-updatable.api.contribution",
499 "system-api-stubs-docs-non-updatable.api.contribution",
500 "module-lib-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000501 ],
Jihoon Kang491c7082023-06-15 18:37:01 +0000502 defaults: ["android-non-updatable_from_text_defaults"],
Jihoon Kang12cddb32023-06-29 21:35:24 +0000503 full_api_surface_stub: "android_module_lib_stubs_current_full.from-text",
Jihoon Kang0c101db2023-03-14 07:03:46 +0000504}
505
Jihoon Kang4683b142023-10-05 23:42:51 +0000506// This module generates a stub jar that is a union of the test and module lib
507// non-updatable api contributions. Modules should not depend on the stub jar
508// generated from this module, as this module is strictly used for hiddenapi only.
509java_api_library {
510 name: "android-non-updatable.stubs.test_module_lib",
511 api_surface: "module_lib",
512 api_contributions: [
513 "api-stubs-docs-non-updatable.api.contribution",
514 "system-api-stubs-docs-non-updatable.api.contribution",
515 "test-api-stubs-docs-non-updatable.api.contribution",
516 "module-lib-api-stubs-docs-non-updatable.api.contribution",
517 ],
518 defaults: ["android-non-updatable_from_text_defaults"],
519 full_api_surface_stub: "android_test_module_lib_stubs_current.from-text",
520
521 // This module is only used for hiddenapi, and other modules should not
522 // depend on this module.
523 visibility: ["//visibility:private"],
524}
525
Jihoon Kang0c101db2023-03-14 07:03:46 +0000526java_defaults {
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000527 name: "android_stubs_dists_default",
528 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000529 targets: ["sdk"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000530 tag: ".jar",
531 dest: "android.jar",
532 },
Anton Hansson86925682021-04-14 14:54:43 +0100533 defaults_visibility: ["//frameworks/base/services"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000534}
535
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100536java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000537 name: "android_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000538 static_libs: [
539 "all-modules-public-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100540 "android-non-updatable.stubs",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100541 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100542 ],
Anton Hansson65057af2021-04-14 18:52:08 +0100543 defaults: ["android.jar_defaults"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900544}
545
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100546java_library {
Jihoon Kang059b9492023-12-29 00:40:34 +0000547 name: "android_stubs_current_exportable.from-source",
548 static_libs: [
549 "all-modules-public-stubs-exportable",
550 "android-non-updatable.stubs.exportable",
551 "private-stub-annotations-jar",
552 ],
553 defaults: ["android.jar_defaults"],
554}
555
556java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000557 name: "android_system_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000558 static_libs: [
559 "all-modules-system-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100560 "android-non-updatable.stubs.system",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100561 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100562 ],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000563 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100564 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000565 ],
566 visibility: ["//frameworks/base/services"],
567}
568
569java_library {
570 name: "android_system_stubs_current_exportable.from-source",
571 static_libs: [
572 "all-modules-system-stubs-exportable",
573 "android-non-updatable.stubs.exportable.system",
574 "private-stub-annotations-jar",
575 ],
576 defaults: [
577 "android.jar_defaults",
Anton Hanssonc3002e52020-11-18 18:23:55 +0000578 "android_stubs_dists_default",
579 ],
580 dist: {
581 dir: "apistubs/android/system",
582 },
583 dists: [
584 {
585 // Legacy dist path
Anton Hanssondd8ef672022-01-04 08:53:19 +0000586 targets: ["sdk"],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000587 tag: ".jar",
588 dest: "android_system.jar",
589 },
590 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100591}
592
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100593java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000594 name: "android_test_stubs_current.from-source",
Anton Hanssonc6e9d2f2022-01-25 15:53:43 +0000595 static_libs: [
Nikita Ioffe5593fbb2022-12-01 14:52:34 +0000596 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
597 // include the SystemApi of framework-non-updatable-sources.
598 "all-updatable-modules-system-stubs",
599 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
600 "all-non-updatable-modules-test-stubs",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100601 "android-non-updatable.stubs.test",
Anton Hansson7ce31c12020-10-15 18:38:49 +0100602 "private-stub-annotations-jar",
603 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000604 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100605 "android.jar_defaults",
Jihoon Kang059b9492023-12-29 00:40:34 +0000606 ],
607 visibility: ["//frameworks/base/services"],
608}
609
610java_library {
611 name: "android_test_stubs_current_exportable.from-source",
612 static_libs: [
613 // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
614 // include the SystemApi of framework-non-updatable-sources.
615 "all-updatable-modules-system-stubs-exportable",
616 // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
617 "all-non-updatable-modules-test-stubs-exportable",
618 "android-non-updatable.stubs.exportable.test",
619 "private-stub-annotations-jar",
620 ],
621 defaults: [
622 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000623 "android_stubs_dists_default",
624 ],
625 dist: {
626 dir: "apistubs/android/test",
627 },
Jiyong Parke3095162019-12-20 15:30:28 +0900628}
629
Jihoon Kang059b9492023-12-29 00:40:34 +0000630// This module does not need to be copied to dist
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100631java_library {
Mark Whitee35b1382023-08-12 01:31:26 +0000632 name: "android_test_frameworks_core_stubs_current.from-source",
633 static_libs: [
634 "all-updatable-modules-system-stubs",
635 "android-non-updatable.stubs.test",
Mark Whitee35b1382023-08-12 01:31:26 +0000636 ],
637 defaults: [
638 "android.jar_defaults",
Mark Whitee35b1382023-08-12 01:31:26 +0000639 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000640 visibility: ["//frameworks/base/services"],
Mark Whitee35b1382023-08-12 01:31:26 +0000641}
642
643java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000644 name: "android_module_lib_stubs_current.from-source",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000645 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100646 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000647 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100648 static_libs: [
649 "android-non-updatable.stubs.module_lib",
Victor Chang6b107a92021-06-17 23:49:42 +0100650 "art.module.public.api.stubs.module_lib",
Giulio Fiscella68a04112021-11-30 16:32:44 +0000651 "i18n.module.public.api.stubs",
Anton Hanssonb7d532e2021-02-05 11:40:25 +0000652 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000653 visibility: ["//frameworks/base/services"],
654}
655
656java_library {
657 name: "android_module_lib_stubs_current_exportable.from-source",
658 defaults: [
659 "android.jar_defaults",
660 "android_stubs_dists_default",
661 ],
662 static_libs: [
663 "android-non-updatable.stubs.exportable.module_lib",
664 "art.module.public.api.stubs.exportable.module_lib",
665 "i18n.module.public.api.stubs.exportable",
666 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000667 dist: {
668 dir: "apistubs/android/module-lib",
669 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900670}
671
Andrei Oneafaa271a2021-03-17 13:32:51 +0000672java_library {
Jihoon Kang1453baa2023-05-27 05:32:30 +0000673 name: "android_system_server_stubs_current.from-source",
Anton Hansson21fb1082023-03-03 16:22:42 +0000674 defaults: [
675 "android.jar_defaults",
Anton Hansson21fb1082023-03-03 16:22:42 +0000676 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000677 srcs: [":services-non-updatable-stubs"],
678 installable: false,
679 static_libs: [
Jihoon Kang1453baa2023-05-27 05:32:30 +0000680 "android_module_lib_stubs_current.from-source",
Andrei Oneafaa271a2021-03-17 13:32:51 +0000681 ],
Jihoon Kang059b9492023-12-29 00:40:34 +0000682 visibility: ["//frameworks/base/services"],
683}
684
685java_library {
686 name: "android_system_server_stubs_current_exportable.from-source",
687 defaults: [
688 "android.jar_defaults",
689 "android_stubs_dists_default",
690 ],
691 srcs: [":services-non-updatable-stubs{.exportable}"],
692 installable: false,
693 static_libs: [
694 "android_module_lib_stubs_current_exportable.from-source",
695 ],
Andrei Oneafaa271a2021-03-17 13:32:51 +0000696 dist: {
697 dir: "apistubs/android/system-server",
698 },
699}
700
Colin Crosscf87a572022-10-20 14:06:53 -0700701java_library {
702 name: "android_stubs_private_jar",
703 defaults: ["android.jar_defaults"],
704 visibility: [
705 "//visibility:override",
706 "//visibility:private",
707 ],
708 static_libs: [
709 "stable.core.platform.api.stubs",
710 "core-lambda-stubs-for-system-modules",
711 "core-generated-annotation-stubs",
712 "framework",
713 "ext",
714 "framework-res-package-jar",
715 // The order of this matters, it has to be last to provide a
716 // package-private androidx.annotation.RecentlyNonNull without
717 // overriding the public android.annotation.Nullable in framework.jar
718 // with its own package-private android.annotation.Nullable.
719 "private-stub-annotations-jar",
720 ],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000721 is_stubs_module: true,
Colin Crosscf87a572022-10-20 14:06:53 -0700722}
723
724java_genrule {
725 name: "android_stubs_private_hjar",
Colin Crosscf87a572022-10-20 14:06:53 -0700726 srcs: [":android_stubs_private_jar{.hjar}"],
727 out: ["android_stubs_private.jar"],
728 cmd: "cp $(in) $(out)",
729}
730
731java_library {
732 name: "android_stubs_private",
733 defaults: ["android_stubs_dists_default"],
Colin Crosscf87a572022-10-20 14:06:53 -0700734 sdk_version: "none",
735 system_modules: "none",
736 static_libs: ["android_stubs_private_hjar"],
737 dist: {
738 dir: "apistubs/android/private",
739 },
740}
741
742java_genrule {
743 name: "android_stubs_private_framework_aidl",
Colin Crosscf87a572022-10-20 14:06:53 -0700744 tools: ["sdkparcelables"],
745 srcs: [":android_stubs_private"],
746 out: ["framework.aidl"],
747 cmd: "rm -f $(genDir)/framework.aidl.merged && " +
748 "for i in $(in); do " +
749 " rm -f $(genDir)/framework.aidl.tmp && " +
750 " $(location sdkparcelables) $$i $(genDir)/framework.aidl.tmp && " +
751 " cat $(genDir)/framework.aidl.tmp >> $(genDir)/framework.aidl.merged; " +
752 "done && " +
753 "sort -u $(genDir)/framework.aidl.merged > $(out)",
754 dist: {
755 targets: ["sdk"],
756 dir: "apistubs/android/private",
757 },
758}
759
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000760//
761// Java API defaults and libraries for single tree build
762//
763
764java_defaults {
765 name: "stub-annotation-defaults",
766 libs: [
767 "stub-annotations",
768 ],
769 static_libs: [
770 // stub annotations do not contribute to the API surfaces but are statically
771 // linked in the stubs for API surfaces (see frameworks/base/StubLibraries.bp).
772 // This is because annotation processors insist on loading the classes for any
773 // annotations found, thus should exist inside android.jar.
774 "private-stub-annotations-jar",
775 ],
Jihoon Kanga7073b52024-02-12 23:18:52 +0000776 is_stubs_module: true,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000777}
778
779// Listing of API domains contribution and dependencies per API surfaces
780java_defaults {
781 name: "android_test_stubs_current_contributions",
782 api_surface: "test",
783 api_contributions: [
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000784 "framework-virtualization.stubs.source.test.api.contribution",
Mark White3cc5e002023-08-07 11:18:09 +0000785 "framework-location.stubs.source.test.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000786 ],
787}
788
789java_defaults {
790 name: "android_test_frameworks_core_stubs_current_contributions",
791 api_surface: "test",
792 api_contributions: [
793 "test-api-stubs-docs-non-updatable.api.contribution",
794 ],
795}
796
797java_defaults {
798 name: "android_module_lib_stubs_current_contributions",
799 api_surface: "module-lib",
800 api_contributions: [
801 "api-stubs-docs-non-updatable.api.contribution",
802 "system-api-stubs-docs-non-updatable.api.contribution",
803 "module-lib-api-stubs-docs-non-updatable.api.contribution",
804 "art.module.public.api.stubs.source.api.contribution",
805 "art.module.public.api.stubs.source.system.api.contribution",
806 "art.module.public.api.stubs.source.module_lib.api.contribution",
807 "i18n.module.public.api.stubs.source.api.contribution",
808 "i18n.module.public.api.stubs.source.system.api.contribution",
809 "i18n.module.public.api.stubs.source.module_lib.api.contribution",
810 ],
811}
812
813// Java API library definitions per API surface
814java_api_library {
815 name: "android_stubs_current.from-text",
816 api_surface: "public",
817 defaults: [
818 // This module is dynamically created at frameworks/base/api/api.go
819 // instead of being written out, in order to minimize edits in the codebase
820 // when there is a change in the list of modules.
821 // that contributes to an api surface.
822 "android_stubs_current_contributions",
823 "stub-annotation-defaults",
824 ],
825 api_contributions: [
826 "api-stubs-docs-non-updatable.api.contribution",
827 ],
828 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000829 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000830}
831
832java_api_library {
833 name: "android_system_stubs_current.from-text",
834 api_surface: "system",
835 defaults: [
836 "android_stubs_current_contributions",
837 "android_system_stubs_current_contributions",
838 "stub-annotation-defaults",
839 ],
840 api_contributions: [
841 "api-stubs-docs-non-updatable.api.contribution",
842 "system-api-stubs-docs-non-updatable.api.contribution",
843 ],
844 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000845 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000846}
847
848java_api_library {
849 name: "android_test_stubs_current.from-text",
850 api_surface: "test",
851 defaults: [
852 "android_stubs_current_contributions",
853 "android_system_stubs_current_contributions",
854 "android_test_stubs_current_contributions",
855 "stub-annotation-defaults",
856 ],
857 api_contributions: [
858 "api-stubs-docs-non-updatable.api.contribution",
859 "system-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang1c5022b2023-09-20 22:02:29 +0000860 "test-api-stubs-docs-non-updatable.api.contribution",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000861 ],
862 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000863 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000864}
865
866java_api_library {
867 name: "android_test_frameworks_core_stubs_current.from-text",
868 api_surface: "test",
869 defaults: [
870 "android_stubs_current_contributions",
871 "android_system_stubs_current_contributions",
872 "android_test_frameworks_core_stubs_current_contributions",
Jihoon Kangbeeb35a2023-10-17 22:22:24 +0000873 ],
874 libs: [
875 "stub-annotations",
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000876 ],
877 api_contributions: [
878 "api-stubs-docs-non-updatable.api.contribution",
879 "system-api-stubs-docs-non-updatable.api.contribution",
880 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000881 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000882}
883
884java_api_library {
885 name: "android_module_lib_stubs_current_full.from-text",
886 api_surface: "module-lib",
887 defaults: [
888 "android_stubs_current_contributions",
889 "android_system_stubs_current_contributions",
890 "android_module_lib_stubs_current_contributions_full",
891 ],
892 libs: [
893 "stub-annotations",
894 ],
895 api_contributions: [
896 "api-stubs-docs-non-updatable.api.contribution",
897 "system-api-stubs-docs-non-updatable.api.contribution",
898 "module-lib-api-stubs-docs-non-updatable.api.contribution",
899 ],
900 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000901 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000902}
903
904java_api_library {
905 name: "android_module_lib_stubs_current.from-text",
906 api_surface: "module-lib",
907 defaults: [
908 "android_module_lib_stubs_current_contributions",
909 ],
910 libs: [
911 "android_module_lib_stubs_current_full.from-text",
912 "stub-annotations",
913 ],
914 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000915 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000916}
917
918java_api_library {
Jihoon Kang4683b142023-10-05 23:42:51 +0000919 name: "android_test_module_lib_stubs_current.from-text",
920 api_surface: "module-lib",
921 defaults: [
922 "android_stubs_current_contributions",
923 "android_system_stubs_current_contributions",
924 "android_test_stubs_current_contributions",
925 "android_module_lib_stubs_current_contributions",
926 ],
927 libs: [
928 "android_module_lib_stubs_current_full.from-text",
929 "stub-annotations",
930 ],
931 api_contributions: [
932 "test-api-stubs-docs-non-updatable.api.contribution",
933 ],
934
935 // This module is only used to build android-non-updatable.stubs.test_module_lib
936 // and other modules should not depend on this module.
937 visibility: [
938 "//visibility:private",
939 ],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000940 enable_validation: false,
Jihoon Kang4683b142023-10-05 23:42:51 +0000941}
942
943java_api_library {
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000944 name: "android_system_server_stubs_current.from-text",
945 api_surface: "system-server",
946 api_contributions: [
947 "services-non-updatable-stubs.api.contribution",
948 ],
949 libs: [
950 "android_module_lib_stubs_current.from-text",
951 "stub-annotations",
952 ],
953 static_libs: [
954 "android_module_lib_stubs_current.from-text",
955 ],
956 visibility: ["//visibility:public"],
Jihoon Kangd67ac472023-10-05 21:18:23 +0000957 enable_validation: false,
Jihoon Kang7b627ed2023-09-21 01:14:17 +0000958}
959
Anton Hansson36bc27c2021-09-14 15:45:13 +0100960////////////////////////////////////////////////////////////////////////
961// api-versions.xml generation, for public and system. This API database
962// also contains the android.test.* APIs.
963////////////////////////////////////////////////////////////////////////
964
965java_library {
966 name: "android_stubs_current_with_test_libs",
967 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +0000968 "android_stubs_current_exportable",
Anton Hansson36bc27c2021-09-14 15:45:13 +0100969 "android.test.base.stubs",
970 "android.test.mock.stubs",
971 "android.test.runner.stubs",
972 ],
973 defaults: ["android.jar_defaults"],
974 visibility: [
975 "//visibility:override",
976 "//visibility:private",
977 ],
978}
979
980java_library {
981 name: "android_system_stubs_current_with_test_libs",
982 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +0000983 "android_system_stubs_current_exportable",
Anton Hansson36bc27c2021-09-14 15:45:13 +0100984 "android.test.base.stubs.system",
985 "android.test.mock.stubs.system",
986 "android.test.runner.stubs.system",
987 ],
988 defaults: ["android.jar_defaults"],
989 visibility: [
990 "//visibility:override",
991 "//visibility:private",
992 ],
993}
994
Cole Faustdcda3702022-10-04 14:46:35 -0700995java_library {
996 name: "android_module_stubs_current_with_test_libs",
997 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +0000998 "android_module_lib_stubs_current_exportable",
Cole Faustdcda3702022-10-04 14:46:35 -0700999 "android.test.base.stubs",
1000 "android.test.mock.stubs",
1001 "android.test.runner.stubs",
1002 ],
1003 defaults: ["android.jar_defaults"],
1004 visibility: [
1005 "//visibility:override",
1006 "//visibility:private",
1007 ],
1008}
1009
1010java_library {
1011 name: "android_system_server_stubs_current_with_test_libs",
1012 static_libs: [
Jihoon Kang2a829bb2024-02-01 22:01:15 +00001013 "android_system_server_stubs_current_exportable",
Cole Faustdcda3702022-10-04 14:46:35 -07001014 "android.test.base.stubs.system",
1015 "android.test.mock.stubs.system",
1016 "android.test.runner.stubs.system",
1017 ],
1018 defaults: ["android.jar_defaults"],
1019 visibility: [
1020 "//visibility:override",
1021 "//visibility:private",
1022 ],
1023}
1024
Anton Hansson36bc27c2021-09-14 15:45:13 +01001025droidstubs {
1026 name: "api_versions_public",
1027 srcs: [":android_stubs_current_with_test_libs{.jar}"],
1028 generate_stubs: false,
1029 api_levels_annotations_enabled: true,
1030 api_levels_annotations_dirs: [
1031 "sdk-dir",
1032 "api-versions-jars-dir",
1033 ],
Cole Faustdcda3702022-10-04 14:46:35 -07001034 api_levels_sdk_type: "public",
Mårten Kongstad54845332022-09-06 15:50:37 +02001035 extensions_info_file: ":sdk-extensions-info",
Anton Hanssonca6e67a2023-03-03 17:55:09 +00001036 visibility: ["//frameworks/base"],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001037}
1038
1039droidstubs {
1040 name: "api_versions_system",
1041 srcs: [":android_system_stubs_current_with_test_libs{.jar}"],
1042 generate_stubs: false,
1043 api_levels_annotations_enabled: true,
1044 api_levels_annotations_dirs: [
1045 "sdk-dir",
1046 "api-versions-jars-dir",
1047 ],
1048 api_levels_sdk_type: "system",
Mårten Kongstad54845332022-09-06 15:50:37 +02001049 extensions_info_file: ":sdk-extensions-info",
Paul Duffin75f63602024-01-05 18:15:59 +00001050 dists: [
1051 // Make the api-versions.xml file for the system API available in the
1052 // sdk build target.
1053 {
1054 targets: ["sdk"],
1055 dest: "api-versions_system.xml",
1056 tag: ".api_versions.xml",
1057 },
1058 ],
Anton Hansson36bc27c2021-09-14 15:45:13 +01001059}
1060
Cole Faustbf4ce752023-02-08 12:46:06 -08001061// This module can be built with:
Cole Faust24e730f2024-01-08 14:11:11 -08001062// m out/soong/.intermediates/frameworks/base/api/api_versions_module_lib/android_common/metalava/api-versions.xml
Cole Faustdcda3702022-10-04 14:46:35 -07001063droidstubs {
1064 name: "api_versions_module_lib",
1065 srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
1066 generate_stubs: false,
1067 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001068 // this only has the non-updatable portions of the module lib sdk,
1069 // which can reference classes from updatable apexes, so remove references to them
1070 // from this api_versions file.
1071 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001072 api_levels_annotations_dirs: [
1073 "sdk-dir",
1074 "api-versions-jars-dir",
1075 ],
1076 api_levels_sdk_type: "module-lib",
Cole Faust1deced12023-02-15 13:24:18 -08001077 // extensions_info_file is purposefully omitted, because this module should just be
1078 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001079}
1080
1081droidstubs {
1082 name: "api_versions_system_server",
1083 srcs: [":android_system_server_stubs_current_with_test_libs{.jar}"],
1084 generate_stubs: false,
1085 api_levels_annotations_enabled: true,
Cole Faustbf4ce752023-02-08 12:46:06 -08001086 // this only has the non-updatable portions of the system server sdk,
1087 // which can reference classes from updatable apexes, so remove references to them
1088 // from this api_versions file.
1089 flags: ["--remove-missing-class-references-in-api-levels"],
Cole Faustdcda3702022-10-04 14:46:35 -07001090 api_levels_annotations_dirs: [
1091 "sdk-dir",
1092 "api-versions-jars-dir",
1093 ],
1094 api_levels_sdk_type: "system-server",
Cole Faust1deced12023-02-15 13:24:18 -08001095 // extensions_info_file is purposefully omitted, because this module should just be
1096 // the non-updatable portions of the sdk, and extension sdks are updatable.
Cole Faustdcda3702022-10-04 14:46:35 -07001097}
1098
Jiyong Park7fb4b182019-12-20 14:35:43 +09001099/////////////////////////////////////////////////////////////////////
1100// hwbinder.stubs provides APIs required for building HIDL Java
1101// libraries.
1102/////////////////////////////////////////////////////////////////////
1103
1104droidstubs {
1105 name: "hwbinder-stubs-docs",
Anton Hansson23f319f2023-03-03 16:04:02 +00001106 srcs: [":hwbinder-stubs-srcs"],
Colin Cross037d7fb2021-03-25 17:01:55 -07001107 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001108 installable: false,
1109 sdk_version: "core_platform",
1110 annotations_enabled: true,
Anton Hansson48ee95e2020-05-02 17:49:26 +01001111 previous_api: ":android.api.public.latest",
Jiyong Park7fb4b182019-12-20 14:35:43 +09001112 merge_annotations_dirs: [
1113 "metalava-manual",
1114 ],
Anton Hansson84a0e712023-10-23 09:17:45 +00001115 flags: priv_apps,
Jiyong Park7fb4b182019-12-20 14:35:43 +09001116}
1117
Anton Hanssonbbdd64b2021-04-26 18:47:39 +01001118java_library {
Jiyong Park7fb4b182019-12-20 14:35:43 +09001119 name: "hwbinder.stubs",
1120 sdk_version: "core_current",
Colin Cross037d7fb2021-03-25 17:01:55 -07001121 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001122 srcs: [
1123 ":hwbinder-stubs-docs",
1124 ],
Anton Hansson86925682021-04-14 14:54:43 +01001125 visibility: ["//visibility:public"],
Jiyong Park7fb4b182019-12-20 14:35:43 +09001126}