blob: 1c13f5080af71d39bd4c8b1f752e72e167ca64cf [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 Hansson1c58ffc2020-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 Hansson1c58ffc2020-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/////////////////////////////////////////////////////////////////////
27// Common metalava configs
28/////////////////////////////////////////////////////////////////////
29
30packages_to_document = [
31 "android",
32 "dalvik",
33 "java",
34 "javax",
35 "junit",
36 "org.apache.http",
37 "org.json",
38 "org.w3c.dom",
39 "org.xml.sax",
40 "org.xmlpull",
41]
42
43stubs_defaults {
Anton Hansson1c58ffc2020-11-13 11:44:32 +000044 name: "metalava-non-updatable-api-stubs-default",
Anton Hansson77ff72f2021-03-30 10:11:22 +010045 srcs: [":framework-non-updatable-stub-sources"],
Anton Hansson121ccbc2020-12-17 14:56:06 +000046 sdk_version: "none",
47 system_modules: "none",
48 java_version: "1.8",
Anton Hansson1c58ffc2020-11-13 11:44:32 +000049 arg_files: ["core/res/AndroidManifest.xml"],
Chen Xu546ce5e2020-01-10 08:38:31 -080050 // TODO(b/147699819): remove below aidl includes.
51 aidl: {
Anton Hansson1c58ffc2020-11-13 11:44:32 +000052 local_include_dirs: [
53 "apex/media/aidl/stable",
Remi NGUYEN VANc15d99e2021-01-28 13:37:03 +090054 // TODO: move to include-dirs for packages/modules/Connectivity when this moves out of
55 // frameworks/base
56 "packages/Connectivity/framework/aidl-export",
Anton Hansson1c58ffc2020-11-13 11:44:32 +000057 "telephony/java",
58 ],
Chen Xu546ce5e2020-01-10 08:38:31 -080059 },
Jiyong Parkc0f8a282020-09-29 13:43:00 +090060 // These are libs from framework-internal-utils that are required (i.e. being referenced)
61 // from framework-non-updatable-sources. Add more here when there's a need.
62 // DO NOT add the entire framework-internal-utils. It might cause unnecessary circular
63 // dependencies gets bigger.
64 libs: [
65 "android.hardware.cas-V1.2-java",
66 "android.hardware.health-V1.0-java-constants",
67 "android.hardware.radio-V1.5-java",
Jayachandran C0f14f812020-08-10 10:58:23 -070068 "android.hardware.radio-V1.6-java",
Jiyong Parkc0f8a282020-09-29 13:43:00 +090069 "android.hardware.thermal-V1.0-java-constants",
70 "android.hardware.thermal-V2.0-java",
71 "android.hardware.tv.input-V1.0-java-constants",
72 "android.hardware.tv.tuner-V1.0-java-constants",
73 "android.hardware.usb-V1.0-java-constants",
74 "android.hardware.usb-V1.1-java-constants",
75 "android.hardware.usb.gadget-V1.0-java",
76 "android.hardware.vibrator-V1.3-java",
77 "framework-protos",
Anton Hansson121ccbc2020-12-17 14:56:06 +000078 "stable.core.platform.api.stubs",
Anton Hanssonce21e282021-02-05 11:38:30 +000079 // There are a few classes from modules used by the core that
80 // need to be resolved by metalava. We use a prebuilt stub of the
81 // full sdk to ensure we can resolve them. If a new class gets added,
82 // the prebuilts/sdk/current needs to be updated.
83 "sdk_system_current_android",
Anton Hanssonb7d532e2021-02-05 11:40:25 +000084 // NOTE: The below can be removed once the prebuilt stub contains IKE.
85 "sdk_system_current_android.net.ipsec.ike",
Jiyong Parkc0f8a282020-09-29 13:43:00 +090086 ],
Anton Hansson35146892020-10-26 10:27:57 +000087 high_mem: true, // Lots of sources => high memory use, see b/170701554
Jiyong Park7fb4b182019-12-20 14:35:43 +090088 installable: false,
89 annotations_enabled: true,
Anton Hanssonf68ddea2020-05-02 17:49:26 +010090 previous_api: ":android.api.public.latest",
Jiyong Park7fb4b182019-12-20 14:35:43 +090091 merge_annotations_dirs: [
92 "metalava-manual",
93 ],
Aurimas Liutikas94bac9c2020-03-12 17:06:12 -070094 api_levels_annotations_enabled: false,
Jiyong Park7fb4b182019-12-20 14:35:43 +090095 filter_packages: packages_to_document,
Anton Hansson86925682021-04-14 14:54:43 +010096 defaults_visibility: ["//visibility:private"],
97 visibility: ["//frameworks/base/api"],
Jiyong Park7fb4b182019-12-20 14:35:43 +090098}
99
100/////////////////////////////////////////////////////////////////////
Anton Hansson51861e72020-11-13 09:55:29 +0000101// These modules provide source files for the stub libraries
Jiyong Park7fb4b182019-12-20 14:35:43 +0900102/////////////////////////////////////////////////////////////////////
103
Anton Hansson7f6823e2020-06-04 15:09:36 +0100104droidstubs {
105 name: "api-stubs-docs-non-updatable",
106 defaults: ["metalava-non-updatable-api-stubs-default"],
Anton Hansson7f6823e2020-06-04 15:09:36 +0100107 args: metalava_framework_docs_args,
108 check_api: {
109 current: {
Anton Hansson7bfceb82020-10-29 18:59:10 +0000110 api_file: "core/api/current.txt",
111 removed_api_file: "core/api/removed.txt",
Anton Hansson7f6823e2020-06-04 15:09:36 +0100112 },
Anton Hansson3258a472020-10-05 16:23:27 +0100113 last_released: {
114 api_file: ":android-non-updatable.api.public.latest",
115 removed_api_file: ":android-non-updatable-removed.api.public.latest",
Anton Hansson65ffc7f2021-04-12 11:56:53 +0100116 baseline_file: ":android-non-updatable-incompatibilities.api.public.latest",
Anton Hansson3258a472020-10-05 16:23:27 +0100117 },
Anton Hansson33ea9992020-04-09 14:16:37 +0100118 api_lint: {
119 enabled: true,
120 new_since: ":android-non-updatable.api.public.latest",
121 },
Anton Hansson7f6823e2020-06-04 15:09:36 +0100122 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000123 dists: [
124 {
Anton Hansson240ee482021-04-14 12:52:00 +0100125 targets: [
126 "sdk",
127 "win_sdk",
128 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000129 dir: "apistubs/android/public/api",
130 dest: "android-non-updatable.txt",
131 tag: ".api.txt",
132 },
133 {
Anton Hansson240ee482021-04-14 12:52:00 +0100134 targets: [
135 "sdk",
136 "win_sdk",
137 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000138 dir: "apistubs/android/public/api",
139 dest: "android-non-updatable-removed.txt",
140 tag: ".removed-api.txt",
141 },
142 ],
Anton Hansson7f6823e2020-06-04 15:09:36 +0100143}
144
Anton Hansson240ee482021-04-14 12:52:00 +0100145priv_apps = " --show-annotation android.annotation.SystemApi\\(" +
146 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
Anton Hansson1c58ffc2020-11-13 11:44:32 +0000147 "\\)"
148
Anton Hansson240ee482021-04-14 12:52:00 +0100149priv_apps_in_stubs = " --show-for-stub-purposes-annotation android.annotation.SystemApi\\(" +
150 "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
Anton Hansson1c58ffc2020-11-13 11:44:32 +0000151 "\\)"
152
153test = " --show-annotation android.annotation.TestApi"
154
Anton Hansson240ee482021-04-14 12:52:00 +0100155module_libs = " --show-annotation android.annotation.SystemApi\\(" +
156 "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
Anton Hansson1c58ffc2020-11-13 11:44:32 +0000157 "\\)"
Anton Hansson81969c22020-02-03 20:45:56 +0000158
Jiyong Park7fb4b182019-12-20 14:35:43 +0900159droidstubs {
Anton Hansson7f6823e2020-06-04 15:09:36 +0100160 name: "system-api-stubs-docs-non-updatable",
161 defaults: ["metalava-non-updatable-api-stubs-default"],
Anton Hansson7f6823e2020-06-04 15:09:36 +0100162 args: metalava_framework_docs_args + priv_apps,
163 check_api: {
164 current: {
Anton Hansson7bfceb82020-10-29 18:59:10 +0000165 api_file: "core/api/system-current.txt",
166 removed_api_file: "core/api/system-removed.txt",
Anton Hansson7f6823e2020-06-04 15:09:36 +0100167 },
Anton Hansson3258a472020-10-05 16:23:27 +0100168 last_released: {
169 api_file: ":android-non-updatable.api.system.latest",
170 removed_api_file: ":android-non-updatable-removed.api.system.latest",
Anton Hansson240ee482021-04-14 12:52:00 +0100171 baseline_file: ":android-non-updatable-incompatibilities.api.system.latest",
Anton Hansson3258a472020-10-05 16:23:27 +0100172 },
Anton Hansson33ea9992020-04-09 14:16:37 +0100173 api_lint: {
174 enabled: true,
175 new_since: ":android-non-updatable.api.system.latest",
Anton Hansson7bfceb82020-10-29 18:59:10 +0000176 baseline_file: "core/api/system-lint-baseline.txt",
Anton Hansson33ea9992020-04-09 14:16:37 +0100177 },
Anton Hansson7f6823e2020-06-04 15:09:36 +0100178 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000179 dists: [
180 {
Anton Hansson240ee482021-04-14 12:52:00 +0100181 targets: [
182 "sdk",
183 "win_sdk",
184 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000185 dir: "apistubs/android/system/api",
186 dest: "android-non-updatable.txt",
187 tag: ".api.txt",
188 },
189 {
Anton Hansson240ee482021-04-14 12:52:00 +0100190 targets: [
191 "sdk",
192 "win_sdk",
193 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000194 dir: "apistubs/android/system/api",
195 dest: "android-non-updatable-removed.txt",
196 tag: ".removed-api.txt",
197 },
198 ],
Anton Hansson7f6823e2020-06-04 15:09:36 +0100199}
200
201droidstubs {
Anton Hansson552ba2c2020-11-05 10:45:13 +0000202 name: "test-api-stubs-docs-non-updatable",
Anton Hansson7110ae72020-10-15 17:23:35 +0100203 defaults: ["metalava-non-updatable-api-stubs-default"],
Anton Hansson1c58ffc2020-11-13 11:44:32 +0000204 args: metalava_framework_docs_args + test + priv_apps_in_stubs,
Jiyong Park7fb4b182019-12-20 14:35:43 +0900205 check_api: {
206 current: {
Anton Hansson552ba2c2020-11-05 10:45:13 +0000207 api_file: "core/api/test-current.txt",
208 removed_api_file: "core/api/test-removed.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900209 },
210 api_lint: {
211 enabled: true,
Anton Hansson552ba2c2020-11-05 10:45:13 +0000212 baseline_file: "core/api/test-lint-baseline.txt",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900213 },
214 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000215 dists: [
216 {
Anton Hansson240ee482021-04-14 12:52:00 +0100217 targets: [
218 "sdk",
219 "win_sdk",
220 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000221 dir: "apistubs/android/test/api",
222 dest: "android.txt",
223 tag: ".api.txt",
224 },
225 {
Anton Hansson240ee482021-04-14 12:52:00 +0100226 targets: [
227 "sdk",
228 "win_sdk",
229 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000230 dir: "apistubs/android/test/api",
231 dest: "removed.txt",
232 tag: ".removed-api.txt",
233 },
234 {
Anton Hansson240ee482021-04-14 12:52:00 +0100235 targets: [
236 "sdk",
237 "win_sdk",
238 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000239 dir: "apistubs/android/test/api",
240 dest: "android-non-updatable.txt",
241 tag: ".api.txt",
242 },
243 {
Anton Hansson240ee482021-04-14 12:52:00 +0100244 targets: [
245 "sdk",
246 "win_sdk",
247 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000248 dir: "apistubs/android/test/api",
249 dest: "android-non-updatable-removed.txt",
250 tag: ".removed-api.txt",
251 },
252 ],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900253}
254
Jiyong Park2e6cdcc2019-12-20 15:30:28 +0900255droidstubs {
Anton Hansson7f6823e2020-06-04 15:09:36 +0100256 name: "module-lib-api-stubs-docs-non-updatable",
257 defaults: ["metalava-non-updatable-api-stubs-default"],
Anton Hansson1c58ffc2020-11-13 11:44:32 +0000258 args: metalava_framework_docs_args + priv_apps_in_stubs + module_libs,
Anton Hansson7f6823e2020-06-04 15:09:36 +0100259 check_api: {
260 current: {
Anton Hansson7bfceb82020-10-29 18:59:10 +0000261 api_file: "core/api/module-lib-current.txt",
262 removed_api_file: "core/api/module-lib-removed.txt",
Anton Hansson7f6823e2020-06-04 15:09:36 +0100263 },
Anton Hanssonc3ef1f562020-10-07 14:55:36 +0100264 last_released: {
265 api_file: ":android-non-updatable.api.module-lib.latest",
266 removed_api_file: ":android-non-updatable-removed.api.module-lib.latest",
267 },
Anton Hansson33ea9992020-04-09 14:16:37 +0100268 api_lint: {
269 enabled: true,
270 new_since: ":android-non-updatable.api.module-lib.latest",
271 },
Anton Hansson7f6823e2020-06-04 15:09:36 +0100272 },
Anton Hansson85785fe2021-01-20 20:23:34 +0000273 dists: [
274 {
Anton Hansson240ee482021-04-14 12:52:00 +0100275 targets: [
276 "sdk",
277 "win_sdk",
278 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000279 dir: "apistubs/android/module-lib/api",
280 dest: "android-non-updatable.txt",
281 tag: ".api.txt",
282 },
283 {
Anton Hansson240ee482021-04-14 12:52:00 +0100284 targets: [
285 "sdk",
286 "win_sdk",
287 ],
Anton Hansson85785fe2021-01-20 20:23:34 +0000288 dir: "apistubs/android/module-lib/api",
289 dest: "android-non-updatable-removed.txt",
290 tag: ".removed-api.txt",
291 },
292 ],
Anton Hansson7f6823e2020-06-04 15:09:36 +0100293}
Anton Hansson81969c22020-02-03 20:45:56 +0000294
Jiyong Park2e6cdcc2019-12-20 15:30:28 +0900295/////////////////////////////////////////////////////////////////////
Jiyong Park7fb4b182019-12-20 14:35:43 +0900296// android_*_stubs_current modules are the stubs libraries compiled
Anton Hansson1c58ffc2020-11-13 11:44:32 +0000297// from stub sources
Jiyong Park7fb4b182019-12-20 14:35:43 +0900298/////////////////////////////////////////////////////////////////////
299
Anton Hansson66035932021-04-09 10:12:45 +0100300modules_public_stubs = [
301 "android.net.ipsec.ike.stubs",
302 "art.module.public.api.stubs",
303 "conscrypt.module.public.api.stubs",
304 "framework-connectivity.stubs",
305 "framework-media.stubs",
306 "framework-mediaprovider.stubs",
307 "framework-permission.stubs",
308 "framework-sdkextensions.stubs",
309 "framework-statsd.stubs",
310 "framework-tethering.stubs",
311 "framework-wifi.stubs",
312 "i18n.module.public.api.stubs",
313]
314
315modules_system_stubs = [
316 "android.net.ipsec.ike.stubs.system",
317 "art.module.public.api.stubs", // Only has public stubs
318 "conscrypt.module.public.api.stubs", // Only has public stubs
319 "framework-connectivity.stubs.system",
320 "framework-media.stubs.system",
321 "framework-mediaprovider.stubs.system",
322 "framework-permission.stubs.system",
323 "framework-sdkextensions.stubs.system",
324 "framework-statsd.stubs.system",
325 "framework-tethering.stubs.system",
326 "framework-wifi.stubs.system",
327 "i18n.module.public.api.stubs", // Only has public stubs
328]
329
Jiyong Park7fb4b182019-12-20 14:35:43 +0900330java_defaults {
Anton Hanssona4748cd2021-04-09 10:16:19 +0100331 name: "android-non-updatable_defaults_stubs_current",
332 libs: ["stub-annotations"],
333 static_libs: ["framework-res-package-jar"], // Export package of framework-res
Anton Hanssonfbd32f32020-04-09 14:16:37 +0100334 sdk_version: "none",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900335 system_modules: "none",
336 java_version: "1.8",
337 compile_dex: true,
Anton Hanssona4108912021-04-09 13:40:11 +0100338 dist: {
Anton Hansson240ee482021-04-14 12:52:00 +0100339 targets: [
340 "sdk",
341 "win_sdk",
342 ],
Anton Hanssona4108912021-04-09 13:40:11 +0100343 tag: ".jar",
344 dest: "android-non-updatable.jar",
Anton Hansson240ee482021-04-14 12:52:00 +0100345 },
Anton Hansson86925682021-04-14 14:54:43 +0100346 defaults_visibility: ["//visibility:private"],
347 visibility: ["//visibility:private"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900348}
349
Anton Hanssona4748cd2021-04-09 10:16:19 +0100350java_library_static {
351 name: "android-non-updatable.stubs",
352 defaults: ["android-non-updatable_defaults_stubs_current"],
353 srcs: [":api-stubs-docs-non-updatable"],
354 libs: modules_public_stubs,
Anton Hanssona4108912021-04-09 13:40:11 +0100355 dist: {
356 dir: "apistubs/android/public",
357 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100358}
359
360java_library_static {
361 name: "android-non-updatable.stubs.system",
362 defaults: ["android-non-updatable_defaults_stubs_current"],
Anton Hansson240ee482021-04-14 12:52:00 +0100363 srcs: [":system-api-stubs-docs-non-updatable"],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100364 libs: modules_system_stubs,
Anton Hanssona4108912021-04-09 13:40:11 +0100365 dist: {
366 dir: "apistubs/android/system",
367 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100368}
369
370java_library_static {
371 name: "android-non-updatable.stubs.module_lib",
372 defaults: ["android-non-updatable_defaults_stubs_current"],
373 srcs: [":module-lib-api-stubs-docs-non-updatable"],
374 libs: [
375 "sdk_system_current_android",
376 // NOTE: The below can be removed once the prebuilt stub contains IKE.
377 "sdk_system_current_android.net.ipsec.ike",
378 ],
Anton Hanssona4108912021-04-09 13:40:11 +0100379 dist: {
380 dir: "apistubs/android/module-lib",
381 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100382}
383
384java_library_static {
385 name: "android-non-updatable.stubs.test",
386 defaults: ["android-non-updatable_defaults_stubs_current"],
387 srcs: [":test-api-stubs-docs-non-updatable"],
388 libs: modules_system_stubs,
Anton Hanssona4108912021-04-09 13:40:11 +0100389 dist: {
390 dir: "apistubs/android/test",
391 },
Anton Hanssona4748cd2021-04-09 10:16:19 +0100392}
393
394java_defaults {
395 name: "android_defaults_stubs_current",
396 static_libs: ["art-notices-for-framework-stubs-jar"], // License notices from art module
397 sdk_version: "none",
398 system_modules: "none",
399 java_version: "1.8",
400 compile_dex: true,
Anton Hansson86925682021-04-14 14:54:43 +0100401 defaults_visibility: ["//visibility:private"],
402 visibility: ["//visibility:public"],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100403}
404
Anton Hanssona9205502020-07-15 13:36:34 +0100405java_defaults {
406 name: "android_stubs_dists_default",
407 dist: {
Anton Hansson240ee482021-04-14 12:52:00 +0100408 targets: [
409 "sdk",
410 "win_sdk",
411 ],
Anton Hanssona9205502020-07-15 13:36:34 +0100412 tag: ".jar",
413 dest: "android.jar",
414 },
Anton Hansson86925682021-04-14 14:54:43 +0100415 defaults_visibility: ["//frameworks/base/services"],
Anton Hanssona9205502020-07-15 13:36:34 +0100416}
417
Jiyong Park7fb4b182019-12-20 14:35:43 +0900418java_library_static {
Anton Hansson3a8e0362020-11-03 19:35:56 +0000419 name: "android_stubs_current",
Anton Hansson66035932021-04-09 10:12:45 +0100420 static_libs: modules_public_stubs + [
Anton Hanssona4748cd2021-04-09 10:16:19 +0100421 "android-non-updatable.stubs",
Anton Hansson33ea9992020-04-09 14:16:37 +0100422 "private-stub-annotations-jar",
Anton Hansson912622f2020-04-09 14:16:37 +0100423 ],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000424 defaults: ["android_defaults_stubs_current"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900425}
426
427java_library_static {
Anton Hansson3a8e0362020-11-03 19:35:56 +0000428 name: "android_system_stubs_current",
Anton Hansson66035932021-04-09 10:12:45 +0100429 static_libs: modules_system_stubs + [
Anton Hanssona4748cd2021-04-09 10:16:19 +0100430 "android-non-updatable.stubs.system",
Anton Hansson33ea9992020-04-09 14:16:37 +0100431 "private-stub-annotations-jar",
Anton Hansson912622f2020-04-09 14:16:37 +0100432 ],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000433 defaults: [
434 "android_defaults_stubs_current",
435 "android_stubs_dists_default",
436 ],
437 dist: {
438 dir: "apistubs/android/system",
439 },
440 dists: [
441 {
442 // Legacy dist path
Anton Hansson240ee482021-04-14 12:52:00 +0100443 targets: [
444 "sdk",
445 "win_sdk",
446 ],
Anton Hanssonc3002e52020-11-18 18:23:55 +0000447 tag: ".jar",
448 dest: "android_system.jar",
449 },
450 ],
Anton Hansson912622f2020-04-09 14:16:37 +0100451}
452
453java_library_static {
Jiyong Park7fb4b182019-12-20 14:35:43 +0900454 name: "android_test_stubs_current",
Anton Hansson66035932021-04-09 10:12:45 +0100455 // Modules do not have test APIs, but we want to include their SystemApis, like we include
456 // the SystemApi of framework-non-updatable-sources.
457 static_libs: modules_system_stubs + [
Anton Hanssona4748cd2021-04-09 10:16:19 +0100458 "android-non-updatable.stubs.test",
Anton Hansson7110ae72020-10-15 17:23:35 +0100459 "private-stub-annotations-jar",
460 ],
Anton Hanssona9205502020-07-15 13:36:34 +0100461 defaults: [
462 "android_defaults_stubs_current",
463 "android_stubs_dists_default",
464 ],
465 dist: {
466 dir: "apistubs/android/test",
467 },
Jiyong Park2e6cdcc2019-12-20 15:30:28 +0900468}
469
470java_library_static {
Anton Hansson9c4bbe92020-01-30 12:09:02 +0000471 name: "android_module_lib_stubs_current",
Anton Hanssona9205502020-07-15 13:36:34 +0100472 defaults: [
473 "android_defaults_stubs_current",
474 "android_stubs_dists_default",
475 ],
Anton Hanssona4748cd2021-04-09 10:16:19 +0100476 static_libs: [
477 "android-non-updatable.stubs.module_lib",
478 "art.module.public.api.stubs",
Anton Hanssonb7d532e2021-02-05 11:40:25 +0000479 ],
Anton Hanssona9205502020-07-15 13:36:34 +0100480 dist: {
481 dir: "apistubs/android/module-lib",
482 },
Jiyong Park7fb4b182019-12-20 14:35:43 +0900483}
484
Andrei Oneafaa271a2021-03-17 13:32:51 +0000485java_library {
486 name: "android_system_server_stubs_current",
487 defaults: ["android_stubs_dists_default"],
488 srcs: [":services-non-updatable-stubs"],
489 installable: false,
490 static_libs: [
491 "android_module_lib_stubs_current",
492 ],
493 sdk_version: "none",
494 system_modules: "none",
495 java_version: "1.8",
496 dist: {
497 dir: "apistubs/android/system-server",
498 },
499}
500
Jiyong Park7fb4b182019-12-20 14:35:43 +0900501/////////////////////////////////////////////////////////////////////
502// hwbinder.stubs provides APIs required for building HIDL Java
503// libraries.
504/////////////////////////////////////////////////////////////////////
505
506droidstubs {
507 name: "hwbinder-stubs-docs",
508 srcs: [
509 "core/java/android/os/HidlSupport.java",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900510 "core/java/android/os/HidlMemory.java",
511 "core/java/android/os/HwBinder.java",
512 "core/java/android/os/HwBlob.java",
513 "core/java/android/os/HwParcel.java",
514 "core/java/android/os/IHwBinder.java",
515 "core/java/android/os/IHwInterface.java",
516 "core/java/android/os/DeadObjectException.java",
517 "core/java/android/os/DeadSystemException.java",
518 "core/java/android/os/NativeHandle.java",
519 "core/java/android/os/RemoteException.java",
520 "core/java/android/util/AndroidException.java",
521 ],
Colin Cross037d7fb2021-03-25 17:01:55 -0700522 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900523 installable: false,
524 sdk_version: "core_platform",
525 annotations_enabled: true,
Anton Hanssonf68ddea2020-05-02 17:49:26 +0100526 previous_api: ":android.api.public.latest",
Jiyong Park7fb4b182019-12-20 14:35:43 +0900527 merge_annotations_dirs: [
528 "metalava-manual",
529 ],
Anton Hansson81969c22020-02-03 20:45:56 +0000530 args: priv_apps,
Anton Hansson86925682021-04-14 14:54:43 +0100531 visibility: ["//visibility:private"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900532}
533
534java_library_static {
535 name: "hwbinder.stubs",
536 sdk_version: "core_current",
Colin Cross037d7fb2021-03-25 17:01:55 -0700537 libs: ["framework-annotations-lib"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900538 srcs: [
539 ":hwbinder-stubs-docs",
540 ],
Anton Hansson86925682021-04-14 14:54:43 +0100541 visibility: ["//visibility:public"],
Jiyong Park7fb4b182019-12-20 14:35:43 +0900542}