blob: 77b26f80ab9761af98c67a90777ea54c30210f32 [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
Neha Pattan403eb572021-12-14 02:58:57 +000026// TODO(b/21090328): Remove filter after we are ready to.
27soong_config_module_type_import {
28 from: "frameworks/base/Android.bp",
29 module_types: [
30 "java_library_with_nonpublic_deps",
31 ],
32}
33
Jiyong Park7fb4b182019-12-20 14:35:43 +090034/////////////////////////////////////////////////////////////////////
35// Common metalava configs
36/////////////////////////////////////////////////////////////////////
37
Jiyong Park7fb4b182019-12-20 14:35:43 +090038stubs_defaults {
Anton Hansson2feb3f12020-11-13 11:44:32 +000039 name: "metalava-non-updatable-api-stubs-default",
Anton Hansson867f94c2021-05-05 10:32:31 +010040 defaults: ["android-non-updatable-stubs-defaults"],
Aurimas Liutikas94bac9c2020-03-12 17:06:12 -070041 api_levels_annotations_enabled: false,
Anton Hansson86925682021-04-14 14:54:43 +010042 defaults_visibility: ["//visibility:private"],
Jiyong Park7fb4b182019-12-20 14:35:43 +090043}
44
45/////////////////////////////////////////////////////////////////////
Anton Hansson51861e72020-11-13 09:55:29 +000046// These modules provide source files for the stub libraries
Jiyong Park7fb4b182019-12-20 14:35:43 +090047/////////////////////////////////////////////////////////////////////
48
Anton Hansson76d3db42020-04-09 14:16:37 +010049droidstubs {
50 name: "api-stubs-docs-non-updatable",
51 defaults: ["metalava-non-updatable-api-stubs-default"],
Anton Hansson76d3db42020-04-09 14:16:37 +010052 args: metalava_framework_docs_args,
53 check_api: {
54 current: {
Anton Hansson6cbaff22020-10-29 15:28:19 +000055 api_file: "core/api/current.txt",
56 removed_api_file: "core/api/removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +010057 },
Anton Hansson37e102e2020-10-05 16:42:40 +010058 last_released: {
59 api_file: ":android-non-updatable.api.public.latest",
60 removed_api_file: ":android-non-updatable-removed.api.public.latest",
Anton Hansson7f3393d2021-04-12 11:56:53 +010061 baseline_file: ":android-non-updatable-incompatibilities.api.public.latest",
Anton Hansson37e102e2020-10-05 16:42:40 +010062 },
Anton Hansson76d3db42020-04-09 14:16:37 +010063 api_lint: {
64 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +010065 new_since: ":android.api.public.latest",
Anton Hansson76d3db42020-04-09 14:16:37 +010066 },
67 },
Anton Hansson85785fe2021-01-20 20:23:34 +000068 dists: [
69 {
Anton Hanssondd8ef672022-01-04 08:53:19 +000070 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +000071 dir: "apistubs/android/public/api",
72 dest: "android-non-updatable.txt",
73 tag: ".api.txt",
74 },
75 {
Anton Hanssondd8ef672022-01-04 08:53:19 +000076 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +000077 dir: "apistubs/android/public/api",
78 dest: "android-non-updatable-removed.txt",
79 tag: ".removed-api.txt",
80 },
81 ],
Anton Hansson76d3db42020-04-09 14:16:37 +010082}
83
Anton Hansson240ee482021-04-14 12:52:00 +010084priv_apps = " --show-annotation android.annotation.SystemApi\\(" +
85 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
Anton Hansson2feb3f12020-11-13 11:44:32 +000086 "\\)"
87
Anton Hansson240ee482021-04-14 12:52:00 +010088priv_apps_in_stubs = " --show-for-stub-purposes-annotation android.annotation.SystemApi\\(" +
89 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
Anton Hansson2feb3f12020-11-13 11:44:32 +000090 "\\)"
91
92test = " --show-annotation android.annotation.TestApi"
93
Anton Hansson240ee482021-04-14 12:52:00 +010094module_libs = " --show-annotation android.annotation.SystemApi\\(" +
95 "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
Anton Hansson2feb3f12020-11-13 11:44:32 +000096 "\\)"
Anton Hansson81969c22020-02-03 20:45:56 +000097
Jiyong Park7fb4b182019-12-20 14:35:43 +090098droidstubs {
Anton Hansson76d3db42020-04-09 14:16:37 +010099 name: "system-api-stubs-docs-non-updatable",
100 defaults: ["metalava-non-updatable-api-stubs-default"],
Anton Hansson76d3db42020-04-09 14:16:37 +0100101 args: metalava_framework_docs_args + priv_apps,
102 check_api: {
103 current: {
Anton Hansson6cbaff22020-10-29 15:28:19 +0000104 api_file: "core/api/system-current.txt",
105 removed_api_file: "core/api/system-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100106 },
Anton Hansson37e102e2020-10-05 16:42:40 +0100107 last_released: {
108 api_file: ":android-non-updatable.api.system.latest",
109 removed_api_file: ":android-non-updatable-removed.api.system.latest",
Anton Hansson240ee482021-04-14 12:52:00 +0100110 baseline_file: ":android-non-updatable-incompatibilities.api.system.latest",
Anton Hansson37e102e2020-10-05 16:42:40 +0100111 },
Anton Hansson76d3db42020-04-09 14:16:37 +0100112 api_lint: {
113 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +0100114 new_since: ":android.api.system.latest",
Anton Hansson6cbaff22020-10-29 15:28:19 +0000115 baseline_file: "core/api/system-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100116 },
117 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000118 dists: [
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.txt",
123 tag: ".api.txt",
124 },
125 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000126 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000127 dir: "apistubs/android/system/api",
128 dest: "android-non-updatable-removed.txt",
129 tag: ".removed-api.txt",
130 },
131 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100132}
133
134droidstubs {
Anton Hansson022aac52020-11-05 10:45:13 +0000135 name: "test-api-stubs-docs-non-updatable",
Anton Hansson7ce31c12020-10-15 18:38:49 +0100136 defaults: ["metalava-non-updatable-api-stubs-default"],
Anton Hansson2feb3f12020-11-13 11:44:32 +0000137 args: metalava_framework_docs_args + test + priv_apps_in_stubs,
Jiyong Park7fb4b182019-12-20 14:35:43 +0900138 check_api: {
139 current: {
Anton Hansson022aac52020-11-05 10:45:13 +0000140 api_file: "core/api/test-current.txt",
141 removed_api_file: "core/api/test-removed.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900142 },
143 api_lint: {
144 enabled: true,
Anton Hansson022aac52020-11-05 10:45:13 +0000145 baseline_file: "core/api/test-lint-baseline.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900146 },
147 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000148 dists: [
149 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000150 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000151 dir: "apistubs/android/test/api",
152 dest: "android.txt",
153 tag: ".api.txt",
154 },
155 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000156 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000157 dir: "apistubs/android/test/api",
158 dest: "removed.txt",
159 tag: ".removed-api.txt",
160 },
161 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000162 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000163 dir: "apistubs/android/test/api",
164 dest: "android-non-updatable.txt",
165 tag: ".api.txt",
166 },
167 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000168 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000169 dir: "apistubs/android/test/api",
170 dest: "android-non-updatable-removed.txt",
171 tag: ".removed-api.txt",
172 },
173 ],
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",
178 defaults: ["metalava-non-updatable-api-stubs-default"],
Anton Hansson2feb3f12020-11-13 11:44:32 +0000179 args: metalava_framework_docs_args + priv_apps_in_stubs + module_libs,
Anton Hansson76d3db42020-04-09 14:16:37 +0100180 check_api: {
181 current: {
Anton Hansson6cbaff22020-10-29 15:28:19 +0000182 api_file: "core/api/module-lib-current.txt",
183 removed_api_file: "core/api/module-lib-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100184 },
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100185 last_released: {
186 api_file: ":android-non-updatable.api.module-lib.latest",
187 removed_api_file: ":android-non-updatable-removed.api.module-lib.latest",
Junyu Lai2dbb1772022-01-12 17:38:02 +0000188 baseline_file: ":android-non-updatable-incompatibilities.api.module-lib.latest",
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100189 },
Anton Hansson76d3db42020-04-09 14:16:37 +0100190 api_lint: {
191 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +0100192 new_since: ":android.api.module-lib.latest",
Anton Hansson1f449412021-06-04 22:30:52 +0100193 baseline_file: "core/api/module-lib-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100194 },
195 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000196 dists: [
197 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000198 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000199 dir: "apistubs/android/module-lib/api",
200 dest: "android-non-updatable.txt",
201 tag: ".api.txt",
202 },
203 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000204 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000205 dir: "apistubs/android/module-lib/api",
206 dest: "android-non-updatable-removed.txt",
207 tag: ".removed-api.txt",
208 },
209 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100210}
Anton Hansson81969c22020-02-03 20:45:56 +0000211
Jiyong Parke3095162019-12-20 15:30:28 +0900212/////////////////////////////////////////////////////////////////////
Jiyong Park7fb4b182019-12-20 14:35:43 +0900213// android_*_stubs_current modules are the stubs libraries compiled
Anton Hansson2feb3f12020-11-13 11:44:32 +0000214// from stub sources
Jiyong Park7fb4b182019-12-20 14:35:43 +0900215/////////////////////////////////////////////////////////////////////
216
Anton Hansson33b9b852021-04-09 10:12:45 +0100217modules_public_stubs = [
218 "android.net.ipsec.ike.stubs",
219 "art.module.public.api.stubs",
220 "conscrypt.module.public.api.stubs",
221 "framework-appsearch.stubs",
222 "framework-connectivity.stubs",
paulhuf45fe962021-12-14 23:09:55 +0800223 "framework-connectivity-tiramisu.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100224 "framework-graphics.stubs",
225 "framework-media.stubs",
226 "framework-mediaprovider.stubs",
Chun Zhanga615ce52021-10-29 14:57:55 -0700227 "framework-nearby.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100228 "framework-permission.stubs",
229 "framework-permission-s.stubs",
230 "framework-scheduling.stubs",
231 "framework-sdkextensions.stubs",
232 "framework-statsd.stubs",
Gavin Corkerybc006442021-11-16 22:33:10 +0000233 "framework-supplementalprocess.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100234 "framework-tethering.stubs",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700235 "framework-uwb.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100236 "framework-wifi.stubs",
237 "i18n.module.public.api.stubs",
238]
239
240modules_system_stubs = [
241 "android.net.ipsec.ike.stubs.system",
Victor Chang9f5cdff2021-05-12 10:47:16 +0100242 "art.module.public.api.stubs.system",
Anton Hansson33b9b852021-04-09 10:12:45 +0100243 "conscrypt.module.public.api.stubs", // Only has public stubs
244 "framework-appsearch.stubs.system",
245 "framework-connectivity.stubs.system",
paulhuf45fe962021-12-14 23:09:55 +0800246 "framework-connectivity-tiramisu.stubs.system",
Anton Hansson33b9b852021-04-09 10:12:45 +0100247 "framework-graphics.stubs.system",
248 "framework-media.stubs.system",
249 "framework-mediaprovider.stubs.system",
Chun Zhanga615ce52021-10-29 14:57:55 -0700250 "framework-nearby.stubs.system",
Anton Hansson33b9b852021-04-09 10:12:45 +0100251 "framework-permission.stubs.system",
252 "framework-permission-s.stubs.system",
253 "framework-scheduling.stubs.system",
254 "framework-sdkextensions.stubs.system",
255 "framework-statsd.stubs.system",
Gavin Corkerybc006442021-11-16 22:33:10 +0000256 "framework-supplementalprocess.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100257 "framework-tethering.stubs.system",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700258 "framework-uwb.stubs.system",
Anton Hansson33b9b852021-04-09 10:12:45 +0100259 "framework-wifi.stubs.system",
260 "i18n.module.public.api.stubs", // Only has public stubs
261]
262
Jiyong Park7fb4b182019-12-20 14:35:43 +0900263java_defaults {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100264 name: "android-non-updatable_defaults_stubs_current",
265 libs: ["stub-annotations"],
266 static_libs: ["framework-res-package-jar"], // Export package of framework-res
Anton Hanssonfbd32f32020-04-09 14:16:37 +0100267 sdk_version: "none",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900268 system_modules: "none",
269 java_version: "1.8",
270 compile_dex: true,
Anton Hanssona4108912021-04-09 13:40:11 +0100271 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000272 targets: ["sdk"],
Anton Hanssona4108912021-04-09 13:40:11 +0100273 tag: ".jar",
274 dest: "android-non-updatable.jar",
Anton Hansson240ee482021-04-14 12:52:00 +0100275 },
Anton Hansson86925682021-04-14 14:54:43 +0100276 defaults_visibility: ["//visibility:private"],
277 visibility: ["//visibility:private"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900278}
279
Neha Pattan403eb572021-12-14 02:58:57 +0000280java_library_with_nonpublic_deps {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100281 name: "android-non-updatable.stubs",
282 defaults: ["android-non-updatable_defaults_stubs_current"],
283 srcs: [":api-stubs-docs-non-updatable"],
284 libs: modules_public_stubs,
Neha Pattan403eb572021-12-14 02:58:57 +0000285 soong_config_variables: {
286 include_nonpublic_framework_api: {
287 libs: [
288 "framework-supplementalapi.stubs",
289 ],
290 },
291 },
Anton Hanssona4108912021-04-09 13:40:11 +0100292 dist: {
293 dir: "apistubs/android/public",
294 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100295}
296
Neha Pattan403eb572021-12-14 02:58:57 +0000297java_library_with_nonpublic_deps {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100298 name: "android-non-updatable.stubs.system",
299 defaults: ["android-non-updatable_defaults_stubs_current"],
Anton Hansson240ee482021-04-14 12:52:00 +0100300 srcs: [":system-api-stubs-docs-non-updatable"],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100301 libs: modules_system_stubs,
Neha Pattan403eb572021-12-14 02:58:57 +0000302 soong_config_variables: {
303 include_nonpublic_framework_api: {
304 libs: [
305 "framework-supplementalapi.stubs",
306 ],
307 },
308 },
Anton Hanssona4108912021-04-09 13:40:11 +0100309 dist: {
310 dir: "apistubs/android/system",
311 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100312}
313
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100314java_library {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100315 name: "android-non-updatable.stubs.module_lib",
316 defaults: ["android-non-updatable_defaults_stubs_current"],
317 srcs: [":module-lib-api-stubs-docs-non-updatable"],
318 libs: [
markchiencd813a32021-11-11 00:42:55 +0800319 "sdk_module-lib_current_framework-tethering",
Anton Hanssona4748cd2021-04-09 10:16:19 +0100320 "sdk_system_current_android",
321 // NOTE: The below can be removed once the prebuilt stub contains IKE.
322 "sdk_system_current_android.net.ipsec.ike",
323 ],
Anton Hanssona4108912021-04-09 13:40:11 +0100324 dist: {
325 dir: "apistubs/android/module-lib",
326 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100327}
328
Neha Pattan403eb572021-12-14 02:58:57 +0000329java_library_with_nonpublic_deps {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100330 name: "android-non-updatable.stubs.test",
331 defaults: ["android-non-updatable_defaults_stubs_current"],
332 srcs: [":test-api-stubs-docs-non-updatable"],
333 libs: modules_system_stubs,
Neha Pattan403eb572021-12-14 02:58:57 +0000334 soong_config_variables: {
335 include_nonpublic_framework_api: {
336 libs: [
337 "framework-supplementalapi.stubs",
338 ],
339 },
340 },
Anton Hanssona4108912021-04-09 13:40:11 +0100341 dist: {
342 dir: "apistubs/android/test",
343 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100344}
345
346java_defaults {
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000347 name: "android_stubs_dists_default",
348 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000349 targets: ["sdk"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000350 tag: ".jar",
351 dest: "android.jar",
352 },
Anton Hansson86925682021-04-14 14:54:43 +0100353 defaults_visibility: ["//frameworks/base/services"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000354}
355
Neha Pattan403eb572021-12-14 02:58:57 +0000356java_library_with_nonpublic_deps {
Anton Hansson65aa6ea2020-11-03 19:35:56 +0000357 name: "android_stubs_current",
Anton Hansson33b9b852021-04-09 10:12:45 +0100358 static_libs: modules_public_stubs + [
Anton Hanssona4748cd2021-04-09 10:16:19 +0100359 "android-non-updatable.stubs",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100360 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100361 ],
Neha Pattan403eb572021-12-14 02:58:57 +0000362 soong_config_variables: {
363 include_nonpublic_framework_api: {
364 static_libs: [
365 "framework-supplementalapi.stubs",
366 ],
367 },
368 },
Anton Hansson65057af2021-04-14 18:52:08 +0100369 defaults: ["android.jar_defaults"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900370}
371
Neha Pattan403eb572021-12-14 02:58:57 +0000372java_library_with_nonpublic_deps {
Anton Hansson65aa6ea2020-11-03 19:35:56 +0000373 name: "android_system_stubs_current",
Anton Hansson33b9b852021-04-09 10:12:45 +0100374 static_libs: modules_system_stubs + [
Anton Hanssona4748cd2021-04-09 10:16:19 +0100375 "android-non-updatable.stubs.system",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100376 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100377 ],
Neha Pattan403eb572021-12-14 02:58:57 +0000378 soong_config_variables: {
379 include_nonpublic_framework_api: {
380 static_libs: [
381 "framework-supplementalapi.stubs",
382 ],
383 },
384 },
Anton Hanssonc3002e52020-11-18 18:23:55 +0000385 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100386 "android.jar_defaults",
Anton Hanssonc3002e52020-11-18 18:23:55 +0000387 "android_stubs_dists_default",
388 ],
389 dist: {
390 dir: "apistubs/android/system",
391 },
392 dists: [
393 {
394 // Legacy dist path
Anton Hanssondd8ef672022-01-04 08:53:19 +0000395 targets: ["sdk"],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000396 tag: ".jar",
397 dest: "android_system.jar",
398 },
399 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100400}
401
Neha Pattan403eb572021-12-14 02:58:57 +0000402java_library_with_nonpublic_deps {
Jiyong Park7fb4b182019-12-20 14:35:43 +0900403 name: "android_test_stubs_current",
Anton Hansson33b9b852021-04-09 10:12:45 +0100404 // Modules do not have test APIs, but we want to include their SystemApis, like we include
405 // the SystemApi of framework-non-updatable-sources.
406 static_libs: modules_system_stubs + [
Anton Hanssona4748cd2021-04-09 10:16:19 +0100407 "android-non-updatable.stubs.test",
Anton Hansson7ce31c12020-10-15 18:38:49 +0100408 "private-stub-annotations-jar",
409 ],
Neha Pattan403eb572021-12-14 02:58:57 +0000410 soong_config_variables: {
411 include_nonpublic_framework_api: {
412 static_libs: [
413 "framework-supplementalapi.stubs",
414 ],
415 },
416 },
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000417 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100418 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000419 "android_stubs_dists_default",
420 ],
421 dist: {
422 dir: "apistubs/android/test",
423 },
Jiyong Parke3095162019-12-20 15:30:28 +0900424}
425
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100426java_library {
Anton Hansson1b9cf092020-01-30 12:09:02 +0000427 name: "android_module_lib_stubs_current",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000428 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100429 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000430 "android_stubs_dists_default",
431 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100432 static_libs: [
433 "android-non-updatable.stubs.module_lib",
Victor Chang6b107a92021-06-17 23:49:42 +0100434 "art.module.public.api.stubs.module_lib",
Giulio Fiscella68a04112021-11-30 16:32:44 +0000435 "i18n.module.public.api.stubs",
Anton Hanssonb7d532e2021-02-05 11:40:25 +0000436 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000437 dist: {
438 dir: "apistubs/android/module-lib",
439 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900440}
441
Andrei Oneafaa271a2021-03-17 13:32:51 +0000442java_library {
443 name: "android_system_server_stubs_current",
444 defaults: ["android_stubs_dists_default"],
445 srcs: [":services-non-updatable-stubs"],
446 installable: false,
447 static_libs: [
448 "android_module_lib_stubs_current",
449 ],
450 sdk_version: "none",
451 system_modules: "none",
452 java_version: "1.8",
453 dist: {
454 dir: "apistubs/android/system-server",
455 },
456}
457
Jiyong Park7fb4b182019-12-20 14:35:43 +0900458/////////////////////////////////////////////////////////////////////
459// hwbinder.stubs provides APIs required for building HIDL Java
460// libraries.
461/////////////////////////////////////////////////////////////////////
462
463droidstubs {
464 name: "hwbinder-stubs-docs",
465 srcs: [
466 "core/java/android/os/HidlSupport.java",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900467 "core/java/android/os/HidlMemory.java",
468 "core/java/android/os/HwBinder.java",
469 "core/java/android/os/HwBlob.java",
470 "core/java/android/os/HwParcel.java",
471 "core/java/android/os/IHwBinder.java",
472 "core/java/android/os/IHwInterface.java",
473 "core/java/android/os/DeadObjectException.java",
474 "core/java/android/os/DeadSystemException.java",
475 "core/java/android/os/NativeHandle.java",
476 "core/java/android/os/RemoteException.java",
477 "core/java/android/util/AndroidException.java",
478 ],
Colin Cross037d7fb2021-03-25 17:01:55 -0700479 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900480 installable: false,
481 sdk_version: "core_platform",
482 annotations_enabled: true,
Anton Hansson48ee95e2020-05-02 17:49:26 +0100483 previous_api: ":android.api.public.latest",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900484 merge_annotations_dirs: [
485 "metalava-manual",
486 ],
Anton Hansson81969c22020-02-03 20:45:56 +0000487 args: priv_apps,
Anton Hansson86925682021-04-14 14:54:43 +0100488 visibility: ["//visibility:private"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900489}
490
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100491java_library {
Jiyong Park7fb4b182019-12-20 14:35:43 +0900492 name: "hwbinder.stubs",
493 sdk_version: "core_current",
Colin Cross037d7fb2021-03-25 17:01:55 -0700494 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900495 srcs: [
496 ":hwbinder-stubs-docs",
497 ],
Anton Hansson86925682021-04-14 14:54:43 +0100498 visibility: ["//visibility:public"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900499}