diff options
-rw-r--r-- | Android.bp | 56 | ||||
-rw-r--r-- | ApiDocs.bp | 29 | ||||
-rw-r--r-- | StubLibraries.bp | 51 |
3 files changed, 84 insertions, 52 deletions
diff --git a/Android.bp b/Android.bp index 084c9f51d12e..2ee97b0de816 100644 --- a/Android.bp +++ b/Android.bp @@ -474,7 +474,7 @@ metalava_framework_docs_args = "--manifest $(location core/res/AndroidManifest.x "--api-lint-ignore-prefix org. " filegroup { - name: "framework-non-updatable-stub-sources", + name: "android-non-updatable-stub-sources", srcs: [ ":framework-mime-sources", // mimemap builds separately but has no separate droidstubs. ":framework-non-updatable-sources", @@ -486,6 +486,60 @@ filegroup { visibility: ["//visibility:private"], } +// These defaults are used for both the jar stubs and the doc stubs. +stubs_defaults { + name: "android-non-updatable-stubs-defaults", + srcs: [":android-non-updatable-stub-sources"], + sdk_version: "none", + system_modules: "none", + java_version: "1.8", + arg_files: ["core/res/AndroidManifest.xml"], + // TODO(b/147699819): remove below aidl includes. + aidl: { + local_include_dirs: [ + "apex/media/aidl/stable", + // TODO: move to include-dirs for packages/modules/Connectivity when this moves out of + // frameworks/base + "packages/Connectivity/framework/aidl-export", + "telephony/java", + ], + }, + // These are libs from framework-internal-utils that are required (i.e. being referenced) + // from framework-non-updatable-sources. Add more here when there's a need. + // DO NOT add the entire framework-internal-utils. It might cause unnecessary circular + // dependencies gets bigger. + libs: [ + "android.hardware.cas-V1.2-java", + "android.hardware.health-V1.0-java-constants", + "android.hardware.radio-V1.5-java", + "android.hardware.radio-V1.6-java", + "android.hardware.thermal-V1.0-java-constants", + "android.hardware.thermal-V2.0-java", + "android.hardware.tv.input-V1.0-java-constants", + "android.hardware.tv.tuner-V1.0-java-constants", + "android.hardware.usb-V1.0-java-constants", + "android.hardware.usb-V1.1-java-constants", + "android.hardware.usb.gadget-V1.0-java", + "android.hardware.vibrator-V1.3-java", + "framework-protos", + "stable.core.platform.api.stubs", + // There are a few classes from modules used by the core that + // need to be resolved by metalava. We use a prebuilt stub of the + // full sdk to ensure we can resolve them. If a new class gets added, + // the prebuilts/sdk/current needs to be updated. + "sdk_system_current_android", + // NOTE: The below can be removed once the prebuilt stub contains IKE. + "sdk_system_current_android.net.ipsec.ike", + ], + high_mem: true, // Lots of sources => high memory use, see b/170701554 + installable: false, + annotations_enabled: true, + previous_api: ":android.api.public.latest", + merge_annotations_dirs: ["metalava-manual"], + defaults_visibility: ["//visibility:private"], + visibility: ["//frameworks/base/api"], +} + build = [ "StubLibraries.bp", "ApiDocs.bp", diff --git a/ApiDocs.bp b/ApiDocs.bp index d3bef7f9046b..55d69f5a2ee8 100644 --- a/ApiDocs.bp +++ b/ApiDocs.bp @@ -56,9 +56,23 @@ framework_docs_only_libs = [ ] stubs_defaults { + name: "android-non-updatable-doc-stubs-defaults", + defaults: ["android-non-updatable-stubs-defaults"], + srcs: [ + // No longer part of the stubs, but are included in the docs. + "test-base/src/**/*.java", + "test-mock/src/**/*.java", + "test-runner/src/**/*.java", + ], + libs: framework_docs_only_libs, + create_doc_stubs: true, + write_sdk_values: true, +} + +stubs_defaults { name: "framework-doc-stubs-default", srcs: [ - ":framework-non-updatable-stub-sources", + ":android-non-updatable-stub-sources", // Module sources ":art.module.public.api{.public.stubs.source}", @@ -94,6 +108,19 @@ stubs_defaults { } droidstubs { + name: "android-non-updatable-doc-stubs", + defaults: ["android-non-updatable-doc-stubs-defaults"], + args: metalava_framework_docs_args, +} + +droidstubs { + name: "android-non-updatable-doc-stubs-system", + defaults: ["android-non-updatable-doc-stubs-defaults"], + args: metalava_framework_docs_args + + " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\) ", +} + +droidstubs { name: "framework-doc-stubs", defaults: ["framework-doc-stubs-default"], arg_files: [ diff --git a/StubLibraries.bp b/StubLibraries.bp index 10d64fc0ec7a..96aac1ab9efa 100644 --- a/StubLibraries.bp +++ b/StubLibraries.bp @@ -42,59 +42,10 @@ packages_to_document = [ stubs_defaults { name: "metalava-non-updatable-api-stubs-default", - srcs: [":framework-non-updatable-stub-sources"], - sdk_version: "none", - system_modules: "none", - java_version: "1.8", - arg_files: ["core/res/AndroidManifest.xml"], - // TODO(b/147699819): remove below aidl includes. - aidl: { - local_include_dirs: [ - "apex/media/aidl/stable", - // TODO: move to include-dirs for packages/modules/Connectivity when this moves out of - // frameworks/base - "packages/Connectivity/framework/aidl-export", - "telephony/java", - ], - }, - // These are libs from framework-internal-utils that are required (i.e. being referenced) - // from framework-non-updatable-sources. Add more here when there's a need. - // DO NOT add the entire framework-internal-utils. It might cause unnecessary circular - // dependencies gets bigger. - libs: [ - "android.hardware.cas-V1.2-java", - "android.hardware.health-V1.0-java-constants", - "android.hardware.radio-V1.5-java", - "android.hardware.radio-V1.6-java", - "android.hardware.thermal-V1.0-java-constants", - "android.hardware.thermal-V2.0-java", - "android.hardware.tv.input-V1.0-java-constants", - "android.hardware.tv.tuner-V1.0-java-constants", - "android.hardware.usb-V1.0-java-constants", - "android.hardware.usb-V1.1-java-constants", - "android.hardware.usb.gadget-V1.0-java", - "android.hardware.vibrator-V1.3-java", - "framework-protos", - "stable.core.platform.api.stubs", - // There are a few classes from modules used by the core that - // need to be resolved by metalava. We use a prebuilt stub of the - // full sdk to ensure we can resolve them. If a new class gets added, - // the prebuilts/sdk/current needs to be updated. - "sdk_system_current_android", - // NOTE: The below can be removed once the prebuilt stub contains IKE. - "sdk_system_current_android.net.ipsec.ike", - ], - high_mem: true, // Lots of sources => high memory use, see b/170701554 - installable: false, - annotations_enabled: true, - previous_api: ":android.api.public.latest", - merge_annotations_dirs: [ - "metalava-manual", - ], + defaults: ["android-non-updatable-stubs-defaults"], api_levels_annotations_enabled: false, filter_packages: packages_to_document, defaults_visibility: ["//visibility:private"], - visibility: ["//frameworks/base/api"], } ///////////////////////////////////////////////////////////////////// |