blob: bf92b4c5fcad52d2d1b5d6c7e6272ca927edc2f7 [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/////////////////////////////////////////////////////////////////////
Anton Hansson51861e72020-11-13 09:55:29 +000035// These modules provide source files for the stub libraries
Jiyong Park7fb4b182019-12-20 14:35:43 +090036/////////////////////////////////////////////////////////////////////
37
Anton Hansson76d3db42020-04-09 14:16:37 +010038droidstubs {
39 name: "api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +000040 defaults: [
41 "android-non-updatable-stubs-defaults",
42 "module-classpath-stubs-defaults",
43 ],
Anton Hansson76d3db42020-04-09 14:16:37 +010044 args: metalava_framework_docs_args,
45 check_api: {
46 current: {
Anton Hansson6cbaff22020-10-29 15:28:19 +000047 api_file: "core/api/current.txt",
48 removed_api_file: "core/api/removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +010049 },
Anton Hansson37e102e2020-10-05 16:42:40 +010050 last_released: {
51 api_file: ":android-non-updatable.api.public.latest",
52 removed_api_file: ":android-non-updatable-removed.api.public.latest",
Anton Hansson7f3393d2021-04-12 11:56:53 +010053 baseline_file: ":android-non-updatable-incompatibilities.api.public.latest",
Anton Hansson37e102e2020-10-05 16:42:40 +010054 },
Anton Hansson76d3db42020-04-09 14:16:37 +010055 api_lint: {
56 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +010057 new_since: ":android.api.public.latest",
Anton Hansson76d3db42020-04-09 14:16:37 +010058 },
59 },
Anton Hansson85785fe2021-01-20 20:23:34 +000060 dists: [
61 {
Anton Hanssondd8ef672022-01-04 08:53:19 +000062 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +000063 dir: "apistubs/android/public/api",
64 dest: "android-non-updatable.txt",
65 tag: ".api.txt",
66 },
67 {
Anton Hanssondd8ef672022-01-04 08:53:19 +000068 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +000069 dir: "apistubs/android/public/api",
70 dest: "android-non-updatable-removed.txt",
71 tag: ".removed-api.txt",
72 },
73 ],
Anton Hansson76d3db42020-04-09 14:16:37 +010074}
75
Anton Hansson240ee482021-04-14 12:52:00 +010076priv_apps = " --show-annotation android.annotation.SystemApi\\(" +
77 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
Anton Hansson2feb3f12020-11-13 11:44:32 +000078 "\\)"
79
Anton Hansson240ee482021-04-14 12:52:00 +010080priv_apps_in_stubs = " --show-for-stub-purposes-annotation android.annotation.SystemApi\\(" +
81 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
Anton Hansson2feb3f12020-11-13 11:44:32 +000082 "\\)"
83
84test = " --show-annotation android.annotation.TestApi"
85
Anton Hansson240ee482021-04-14 12:52:00 +010086module_libs = " --show-annotation android.annotation.SystemApi\\(" +
87 "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
Anton Hansson2feb3f12020-11-13 11:44:32 +000088 "\\)"
Anton Hansson81969c22020-02-03 20:45:56 +000089
Jiyong Park7fb4b182019-12-20 14:35:43 +090090droidstubs {
Anton Hansson76d3db42020-04-09 14:16:37 +010091 name: "system-api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +000092 defaults: [
93 "android-non-updatable-stubs-defaults",
94 "module-classpath-stubs-defaults",
95 ],
Anton Hansson76d3db42020-04-09 14:16:37 +010096 args: metalava_framework_docs_args + priv_apps,
97 check_api: {
98 current: {
Anton Hansson6cbaff22020-10-29 15:28:19 +000099 api_file: "core/api/system-current.txt",
100 removed_api_file: "core/api/system-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100101 },
Anton Hansson37e102e2020-10-05 16:42:40 +0100102 last_released: {
103 api_file: ":android-non-updatable.api.system.latest",
104 removed_api_file: ":android-non-updatable-removed.api.system.latest",
Anton Hansson240ee482021-04-14 12:52:00 +0100105 baseline_file: ":android-non-updatable-incompatibilities.api.system.latest",
Anton Hansson37e102e2020-10-05 16:42:40 +0100106 },
Anton Hansson76d3db42020-04-09 14:16:37 +0100107 api_lint: {
108 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +0100109 new_since: ":android.api.system.latest",
Anton Hansson6cbaff22020-10-29 15:28:19 +0000110 baseline_file: "core/api/system-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100111 },
112 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000113 dists: [
114 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000115 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000116 dir: "apistubs/android/system/api",
117 dest: "android-non-updatable.txt",
118 tag: ".api.txt",
119 },
120 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000121 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000122 dir: "apistubs/android/system/api",
123 dest: "android-non-updatable-removed.txt",
124 tag: ".removed-api.txt",
125 },
126 ],
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 Hansson2feb3f12020-11-13 11:44:32 +0000135 args: metalava_framework_docs_args + test + priv_apps_in_stubs,
Jiyong Park7fb4b182019-12-20 14:35:43 +0900136 check_api: {
137 current: {
Anton Hansson022aac52020-11-05 10:45:13 +0000138 api_file: "core/api/test-current.txt",
139 removed_api_file: "core/api/test-removed.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900140 },
141 api_lint: {
142 enabled: true,
Anton Hansson022aac52020-11-05 10:45:13 +0000143 baseline_file: "core/api/test-lint-baseline.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900144 },
145 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000146 dists: [
147 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000148 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000149 dir: "apistubs/android/test/api",
150 dest: "android.txt",
151 tag: ".api.txt",
152 },
153 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000154 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000155 dir: "apistubs/android/test/api",
156 dest: "removed.txt",
157 tag: ".removed-api.txt",
158 },
159 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000160 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000161 dir: "apistubs/android/test/api",
162 dest: "android-non-updatable.txt",
163 tag: ".api.txt",
164 },
165 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000166 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000167 dir: "apistubs/android/test/api",
168 dest: "android-non-updatable-removed.txt",
169 tag: ".removed-api.txt",
170 },
171 ],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900172}
173
Jiyong Parke3095162019-12-20 15:30:28 +0900174droidstubs {
Anton Hansson76d3db42020-04-09 14:16:37 +0100175 name: "module-lib-api-stubs-docs-non-updatable",
Anton Hansson9dce8322022-01-24 14:14:33 +0000176 defaults: [
177 "android-non-updatable-stubs-defaults",
178 "module-classpath-stubs-defaults",
179 ],
Anton Hansson2feb3f12020-11-13 11:44:32 +0000180 args: metalava_framework_docs_args + priv_apps_in_stubs + module_libs,
Anton Hansson76d3db42020-04-09 14:16:37 +0100181 check_api: {
182 current: {
Anton Hansson6cbaff22020-10-29 15:28:19 +0000183 api_file: "core/api/module-lib-current.txt",
184 removed_api_file: "core/api/module-lib-removed.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100185 },
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100186 last_released: {
187 api_file: ":android-non-updatable.api.module-lib.latest",
188 removed_api_file: ":android-non-updatable-removed.api.module-lib.latest",
Junyu Lai2dbb1772022-01-12 17:38:02 +0000189 baseline_file: ":android-non-updatable-incompatibilities.api.module-lib.latest",
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100190 },
Anton Hansson76d3db42020-04-09 14:16:37 +0100191 api_lint: {
192 enabled: true,
Anton Hansson4f90aa52021-06-04 22:23:59 +0100193 new_since: ":android.api.module-lib.latest",
Anton Hansson1f449412021-06-04 22:30:52 +0100194 baseline_file: "core/api/module-lib-lint-baseline.txt",
Anton Hansson76d3db42020-04-09 14:16:37 +0100195 },
196 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000197 dists: [
198 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000199 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000200 dir: "apistubs/android/module-lib/api",
201 dest: "android-non-updatable.txt",
202 tag: ".api.txt",
203 },
204 {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000205 targets: ["sdk"],
Anton Hansson85785fe2021-01-20 20:23:34 +0000206 dir: "apistubs/android/module-lib/api",
207 dest: "android-non-updatable-removed.txt",
208 tag: ".removed-api.txt",
209 },
210 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100211}
Anton Hansson81969c22020-02-03 20:45:56 +0000212
Jiyong Parke3095162019-12-20 15:30:28 +0900213/////////////////////////////////////////////////////////////////////
Jiyong Park7fb4b182019-12-20 14:35:43 +0900214// android_*_stubs_current modules are the stubs libraries compiled
Anton Hansson2feb3f12020-11-13 11:44:32 +0000215// from stub sources
Jiyong Park7fb4b182019-12-20 14:35:43 +0900216/////////////////////////////////////////////////////////////////////
217
Anton Hansson33b9b852021-04-09 10:12:45 +0100218modules_public_stubs = [
219 "android.net.ipsec.ike.stubs",
220 "art.module.public.api.stubs",
221 "conscrypt.module.public.api.stubs",
222 "framework-appsearch.stubs",
Roopa Sattiraju8e305772022-01-20 10:05:19 -0800223 "framework-bluetooth.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100224 "framework-connectivity.stubs",
paulhuf45fe962021-12-14 23:09:55 +0800225 "framework-connectivity-tiramisu.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100226 "framework-graphics.stubs",
227 "framework-media.stubs",
228 "framework-mediaprovider.stubs",
Chun Zhanga615ce52021-10-29 14:57:55 -0700229 "framework-nearby.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100230 "framework-permission.stubs",
231 "framework-permission-s.stubs",
232 "framework-scheduling.stubs",
233 "framework-sdkextensions.stubs",
234 "framework-statsd.stubs",
Gavin Corkerybc006442021-11-16 22:33:10 +0000235 "framework-supplementalprocess.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100236 "framework-tethering.stubs",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700237 "framework-uwb.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100238 "framework-wifi.stubs",
239 "i18n.module.public.api.stubs",
240]
241
242modules_system_stubs = [
243 "android.net.ipsec.ike.stubs.system",
Victor Chang9f5cdff2021-05-12 10:47:16 +0100244 "art.module.public.api.stubs.system",
Anton Hansson33b9b852021-04-09 10:12:45 +0100245 "conscrypt.module.public.api.stubs", // Only has public stubs
246 "framework-appsearch.stubs.system",
Roopa Sattiraju8e305772022-01-20 10:05:19 -0800247 "framework-bluetooth.stubs.system",
Anton Hansson33b9b852021-04-09 10:12:45 +0100248 "framework-connectivity.stubs.system",
paulhuf45fe962021-12-14 23:09:55 +0800249 "framework-connectivity-tiramisu.stubs.system",
Anton Hansson33b9b852021-04-09 10:12:45 +0100250 "framework-graphics.stubs.system",
251 "framework-media.stubs.system",
252 "framework-mediaprovider.stubs.system",
Chun Zhanga615ce52021-10-29 14:57:55 -0700253 "framework-nearby.stubs.system",
Anton Hansson33b9b852021-04-09 10:12:45 +0100254 "framework-permission.stubs.system",
255 "framework-permission-s.stubs.system",
256 "framework-scheduling.stubs.system",
257 "framework-sdkextensions.stubs.system",
258 "framework-statsd.stubs.system",
Gavin Corkerybc006442021-11-16 22:33:10 +0000259 "framework-supplementalprocess.stubs",
Anton Hansson33b9b852021-04-09 10:12:45 +0100260 "framework-tethering.stubs.system",
Roshan Pius6c580dd2021-07-29 21:31:23 -0700261 "framework-uwb.stubs.system",
Anton Hansson33b9b852021-04-09 10:12:45 +0100262 "framework-wifi.stubs.system",
263 "i18n.module.public.api.stubs", // Only has public stubs
264]
265
Jiyong Park7fb4b182019-12-20 14:35:43 +0900266java_defaults {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100267 name: "android-non-updatable_defaults_stubs_current",
268 libs: ["stub-annotations"],
269 static_libs: ["framework-res-package-jar"], // Export package of framework-res
Anton Hanssonfbd32f32020-04-09 14:16:37 +0100270 sdk_version: "none",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900271 system_modules: "none",
272 java_version: "1.8",
273 compile_dex: true,
Anton Hanssona4108912021-04-09 13:40:11 +0100274 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000275 targets: ["sdk"],
Anton Hanssona4108912021-04-09 13:40:11 +0100276 tag: ".jar",
277 dest: "android-non-updatable.jar",
Anton Hansson240ee482021-04-14 12:52:00 +0100278 },
Anton Hansson86925682021-04-14 14:54:43 +0100279 defaults_visibility: ["//visibility:private"],
280 visibility: ["//visibility:private"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900281}
282
Neha Pattan403eb572021-12-14 02:58:57 +0000283java_library_with_nonpublic_deps {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100284 name: "android-non-updatable.stubs",
285 defaults: ["android-non-updatable_defaults_stubs_current"],
286 srcs: [":api-stubs-docs-non-updatable"],
287 libs: modules_public_stubs,
Neha Pattan403eb572021-12-14 02:58:57 +0000288 soong_config_variables: {
289 include_nonpublic_framework_api: {
290 libs: [
291 "framework-supplementalapi.stubs",
292 ],
293 },
294 },
Anton Hanssona4108912021-04-09 13:40:11 +0100295 dist: {
296 dir: "apistubs/android/public",
297 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100298}
299
Neha Pattan403eb572021-12-14 02:58:57 +0000300java_library_with_nonpublic_deps {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100301 name: "android-non-updatable.stubs.system",
302 defaults: ["android-non-updatable_defaults_stubs_current"],
Anton Hansson240ee482021-04-14 12:52:00 +0100303 srcs: [":system-api-stubs-docs-non-updatable"],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100304 libs: modules_system_stubs,
Neha Pattan403eb572021-12-14 02:58:57 +0000305 soong_config_variables: {
306 include_nonpublic_framework_api: {
307 libs: [
308 "framework-supplementalapi.stubs",
309 ],
310 },
311 },
Anton Hanssona4108912021-04-09 13:40:11 +0100312 dist: {
313 dir: "apistubs/android/system",
314 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100315}
316
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100317java_library {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100318 name: "android-non-updatable.stubs.module_lib",
319 defaults: ["android-non-updatable_defaults_stubs_current"],
320 srcs: [":module-lib-api-stubs-docs-non-updatable"],
321 libs: [
markchiencd813a32021-11-11 00:42:55 +0800322 "sdk_module-lib_current_framework-tethering",
Roopa Sattiraju8e305772022-01-20 10:05:19 -0800323 "sdk_public_current_framework-bluetooth",
324 // NOTE: The below can be removed once the prebuilt stub contains bluetooth.
Anton Hanssona4748cd2021-04-09 10:16:19 +0100325 "sdk_system_current_android",
326 // NOTE: The below can be removed once the prebuilt stub contains IKE.
327 "sdk_system_current_android.net.ipsec.ike",
328 ],
Anton Hanssona4108912021-04-09 13:40:11 +0100329 dist: {
330 dir: "apistubs/android/module-lib",
331 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100332}
333
Neha Pattan403eb572021-12-14 02:58:57 +0000334java_library_with_nonpublic_deps {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100335 name: "android-non-updatable.stubs.test",
336 defaults: ["android-non-updatable_defaults_stubs_current"],
337 srcs: [":test-api-stubs-docs-non-updatable"],
338 libs: modules_system_stubs,
Neha Pattan403eb572021-12-14 02:58:57 +0000339 soong_config_variables: {
340 include_nonpublic_framework_api: {
341 libs: [
342 "framework-supplementalapi.stubs",
343 ],
344 },
345 },
Anton Hanssona4108912021-04-09 13:40:11 +0100346 dist: {
347 dir: "apistubs/android/test",
348 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100349}
350
351java_defaults {
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000352 name: "android_stubs_dists_default",
353 dist: {
Anton Hanssondd8ef672022-01-04 08:53:19 +0000354 targets: ["sdk"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000355 tag: ".jar",
356 dest: "android.jar",
357 },
Anton Hansson86925682021-04-14 14:54:43 +0100358 defaults_visibility: ["//frameworks/base/services"],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000359}
360
Neha Pattan403eb572021-12-14 02:58:57 +0000361java_library_with_nonpublic_deps {
Anton Hansson65aa6ea2020-11-03 19:35:56 +0000362 name: "android_stubs_current",
Anton Hansson33b9b852021-04-09 10:12:45 +0100363 static_libs: modules_public_stubs + [
Anton Hanssona4748cd2021-04-09 10:16:19 +0100364 "android-non-updatable.stubs",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100365 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100366 ],
Neha Pattan403eb572021-12-14 02:58:57 +0000367 soong_config_variables: {
368 include_nonpublic_framework_api: {
369 static_libs: [
370 "framework-supplementalapi.stubs",
371 ],
372 },
373 },
Anton Hansson65057af2021-04-14 18:52:08 +0100374 defaults: ["android.jar_defaults"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900375}
376
Neha Pattan403eb572021-12-14 02:58:57 +0000377java_library_with_nonpublic_deps {
Anton Hansson65aa6ea2020-11-03 19:35:56 +0000378 name: "android_system_stubs_current",
Anton Hansson33b9b852021-04-09 10:12:45 +0100379 static_libs: modules_system_stubs + [
Anton Hanssona4748cd2021-04-09 10:16:19 +0100380 "android-non-updatable.stubs.system",
Anton Hanssonbf63f942020-05-20 12:06:23 +0100381 "private-stub-annotations-jar",
Anton Hansson76d3db42020-04-09 14:16:37 +0100382 ],
Neha Pattan403eb572021-12-14 02:58:57 +0000383 soong_config_variables: {
384 include_nonpublic_framework_api: {
385 static_libs: [
386 "framework-supplementalapi.stubs",
387 ],
388 },
389 },
Anton Hanssonc3002e52020-11-18 18:23:55 +0000390 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100391 "android.jar_defaults",
Anton Hanssonc3002e52020-11-18 18:23:55 +0000392 "android_stubs_dists_default",
393 ],
394 dist: {
395 dir: "apistubs/android/system",
396 },
397 dists: [
398 {
399 // Legacy dist path
Anton Hanssondd8ef672022-01-04 08:53:19 +0000400 targets: ["sdk"],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000401 tag: ".jar",
402 dest: "android_system.jar",
403 },
404 ],
Anton Hansson76d3db42020-04-09 14:16:37 +0100405}
406
Neha Pattan403eb572021-12-14 02:58:57 +0000407java_library_with_nonpublic_deps {
Jiyong Park7fb4b182019-12-20 14:35:43 +0900408 name: "android_test_stubs_current",
Anton Hansson33b9b852021-04-09 10:12:45 +0100409 // Modules do not have test APIs, but we want to include their SystemApis, like we include
410 // the SystemApi of framework-non-updatable-sources.
411 static_libs: modules_system_stubs + [
Anton Hanssona4748cd2021-04-09 10:16:19 +0100412 "android-non-updatable.stubs.test",
Anton Hansson7ce31c12020-10-15 18:38:49 +0100413 "private-stub-annotations-jar",
414 ],
Neha Pattan403eb572021-12-14 02:58:57 +0000415 soong_config_variables: {
416 include_nonpublic_framework_api: {
417 static_libs: [
418 "framework-supplementalapi.stubs",
419 ],
420 },
421 },
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000422 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100423 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000424 "android_stubs_dists_default",
425 ],
426 dist: {
427 dir: "apistubs/android/test",
428 },
Jiyong Parke3095162019-12-20 15:30:28 +0900429}
430
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100431java_library {
Anton Hansson1b9cf092020-01-30 12:09:02 +0000432 name: "android_module_lib_stubs_current",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000433 defaults: [
Anton Hansson65057af2021-04-14 18:52:08 +0100434 "android.jar_defaults",
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000435 "android_stubs_dists_default",
436 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100437 static_libs: [
438 "android-non-updatable.stubs.module_lib",
Victor Chang6b107a92021-06-17 23:49:42 +0100439 "art.module.public.api.stubs.module_lib",
Giulio Fiscella68a04112021-11-30 16:32:44 +0000440 "i18n.module.public.api.stubs",
Anton Hanssonb7d532e2021-02-05 11:40:25 +0000441 ],
Anton Hansson53cf0ba2020-08-18 12:35:31 +0000442 dist: {
443 dir: "apistubs/android/module-lib",
444 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900445}
446
Andrei Oneafaa271a2021-03-17 13:32:51 +0000447java_library {
448 name: "android_system_server_stubs_current",
449 defaults: ["android_stubs_dists_default"],
450 srcs: [":services-non-updatable-stubs"],
451 installable: false,
452 static_libs: [
453 "android_module_lib_stubs_current",
454 ],
455 sdk_version: "none",
456 system_modules: "none",
457 java_version: "1.8",
458 dist: {
459 dir: "apistubs/android/system-server",
460 },
461}
462
Jiyong Park7fb4b182019-12-20 14:35:43 +0900463/////////////////////////////////////////////////////////////////////
464// hwbinder.stubs provides APIs required for building HIDL Java
465// libraries.
466/////////////////////////////////////////////////////////////////////
467
468droidstubs {
469 name: "hwbinder-stubs-docs",
470 srcs: [
471 "core/java/android/os/HidlSupport.java",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900472 "core/java/android/os/HidlMemory.java",
473 "core/java/android/os/HwBinder.java",
474 "core/java/android/os/HwBlob.java",
475 "core/java/android/os/HwParcel.java",
476 "core/java/android/os/IHwBinder.java",
477 "core/java/android/os/IHwInterface.java",
478 "core/java/android/os/DeadObjectException.java",
479 "core/java/android/os/DeadSystemException.java",
480 "core/java/android/os/NativeHandle.java",
481 "core/java/android/os/RemoteException.java",
482 "core/java/android/util/AndroidException.java",
483 ],
Colin Cross037d7fb2021-03-25 17:01:55 -0700484 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900485 installable: false,
486 sdk_version: "core_platform",
487 annotations_enabled: true,
Anton Hansson48ee95e2020-05-02 17:49:26 +0100488 previous_api: ":android.api.public.latest",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900489 merge_annotations_dirs: [
490 "metalava-manual",
491 ],
Anton Hansson81969c22020-02-03 20:45:56 +0000492 args: priv_apps,
Anton Hansson86925682021-04-14 14:54:43 +0100493 visibility: ["//visibility:private"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900494}
495
Anton Hanssonbbdd64b2021-04-26 18:47:39 +0100496java_library {
Jiyong Park7fb4b182019-12-20 14:35:43 +0900497 name: "hwbinder.stubs",
498 sdk_version: "core_current",
Colin Cross037d7fb2021-03-25 17:01:55 -0700499 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900500 srcs: [
501 ":hwbinder-stubs-docs",
502 ],
Anton Hansson86925682021-04-14 14:54:43 +0100503 visibility: ["//visibility:public"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900504}