diff options
Diffstat (limited to 'ApiDocs.bp')
| -rw-r--r-- | ApiDocs.bp | 114 |
1 files changed, 89 insertions, 25 deletions
diff --git a/ApiDocs.bp b/ApiDocs.bp index aae4a7174d68..8af2e02f8d08 100644 --- a/ApiDocs.bp +++ b/ApiDocs.bp @@ -77,26 +77,16 @@ stubs_defaults { // Module sources ":art.module.public.api{.public.stubs.source}", ":conscrypt.module.public.api{.public.stubs.source}", - ":framework-appsearch-sources", - ":framework-connectivity-sources", - ":framework-graphics-srcs", - ":framework-mediaprovider-sources", - ":framework-permission-sources", - ":framework-permission-s-sources", - ":framework-scheduling-sources", - ":framework-sdkextensions-sources", - ":framework-statsd-sources", - ":framework-tethering-srcs", - ":framework-wifi-updatable-sources", ":i18n.module.public.api{.public.stubs.source}", - ":ike-srcs", - ":updatable-media-srcs", // No longer part of the stubs, but are included in the docs. ":android-test-base-sources", ":android-test-mock-sources", ":android-test-runner-sources", ], + arg_files: [ + "core/res/AndroidManifest.xml", + ], libs: framework_docs_only_libs, create_doc_stubs: true, annotations_enabled: true, @@ -110,6 +100,7 @@ stubs_defaults { merge_annotations_dirs: [ "metalava-manual", ], + write_sdk_values: true, // TODO(b/169090544): remove below aidl includes. aidl: { local_include_dirs: ["media/aidl"], @@ -120,6 +111,27 @@ stubs_defaults { }, } +// Defaults module for doc-stubs targets that use module source code as input. +stubs_defaults { + name: "framework-doc-stubs-sources-default", + defaults: ["framework-doc-stubs-default"], + srcs: [ + ":framework-appsearch-sources", + ":framework-connectivity-sources", + ":framework-graphics-srcs", + ":framework-mediaprovider-sources", + ":framework-permission-sources", + ":framework-permission-s-sources", + ":framework-scheduling-sources", + ":framework-sdkextensions-sources", + ":framework-statsd-sources", + ":framework-tethering-srcs", + ":framework-wifi-updatable-sources", + ":ike-srcs", + ":updatable-media-srcs", + ], +} + droidstubs { name: "android-non-updatable-doc-stubs", defaults: ["android-non-updatable-doc-stubs-defaults"], @@ -134,24 +146,76 @@ droidstubs { } droidstubs { + name: "framework-doc-system-stubs", + defaults: ["framework-doc-stubs-sources-default"], + args: metalava_framework_docs_args + + " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\) ", + api_levels_sdk_type: "system", +} + +droidstubs { name: "framework-doc-stubs", defaults: ["framework-doc-stubs-default"], - arg_files: [ - "core/res/AndroidManifest.xml", - ], args: metalava_framework_docs_args, - write_sdk_values: true, + srcs: [ + ":android.net.ipsec.ike{.public.stubs.source}", + ":framework-appsearch{.public.stubs.source}", + ":framework-connectivity{.public.stubs.source}", + ":framework-graphics{.public.stubs.source}", + ":framework-media{.public.stubs.source}", + ":framework-mediaprovider{.public.stubs.source}", + ":framework-permission{.public.stubs.source}", + ":framework-permission-s{.public.stubs.source}", + ":framework-scheduling{.public.stubs.source}", + ":framework-sdkextensions{.public.stubs.source}", + ":framework-statsd{.public.stubs.source}", + ":framework-tethering{.public.stubs.source}", + ":framework-wifi{.public.stubs.source}", + ], + aidl: { + local_include_dirs: [ + "apex/media/aidl/stable", + ], + include_dirs: [ + "packages/modules/Connectivity/framework/aidl-export", + ], + }, } -droidstubs { - name: "framework-doc-system-stubs", - defaults: ["framework-doc-stubs-default"], - arg_files: [ - "core/res/AndroidManifest.xml", +// This produces the same annotations.zip as framework-doc-stubs, but by using +// outputs from individual modules instead of all the source code. +genrule { + name: "sdk-annotations.zip", + srcs: [ + ":android-non-updatable-doc-stubs{.annotations.zip}", + + // Conscrypt and i18n currently do not enable annotations + // ":conscrypt.module.public.api{.public.annotations.zip}", + // ":i18n.module.public.api{.public.annotations.zip}", + + // Modules that enable annotations below + ":android.net.ipsec.ike{.public.annotations.zip}", + ":art.module.public.api{.public.annotations.zip}", + ":framework-appsearch{.public.annotations.zip}", + ":framework-connectivity{.public.annotations.zip}", + ":framework-graphics{.public.annotations.zip}", + ":framework-media{.public.annotations.zip}", + ":framework-mediaprovider{.public.annotations.zip}", + ":framework-permission{.public.annotations.zip}", + ":framework-permission-s{.public.annotations.zip}", + ":framework-scheduling{.public.annotations.zip}", + ":framework-sdkextensions{.public.annotations.zip}", + ":framework-statsd{.public.annotations.zip}", + ":framework-tethering{.public.annotations.zip}", + ":framework-wifi{.public.annotations.zip}", + ], + out: ["annotations.zip"], + tools: [ + "merge_annotation_zips", + "soong_zip", ], - args: metalava_framework_docs_args + - " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\) ", - write_sdk_values: true, + cmd: "$(location merge_annotation_zips) $(genDir)/out $(in) && " + + "$(location soong_zip) -o $(out) -C $(genDir)/out -D $(genDir)/out", } ///////////////////////////////////////////////////////////////////// |