From 6492126ca303bc6f63d772e723cae88927aa4641 Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Fri, 17 Sep 2021 16:09:08 +0100 Subject: [PATCH] Add doc stubs target that uses module stub source The framework-doc-stubs target currently takes the module source code as input. Work is being done to change that over to use module sdk artifacts, primarily the jar stub source code. Check in a work-in-progress target that does so, to avoid it breaking and to simplify iterating on improvements. Bug: 186197911 Test: m framework-doc-stubs{,-module-stubs} Merged-In: I1a275b3f44632e6655dc84d711a58fc0c5b3a46a Change-Id: I1a275b3f44632e6655dc84d711a58fc0c5b3a46a --- ApiDocs.bp | 71 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 19 deletions(-) diff --git a/ApiDocs.bp b/ApiDocs.bp index 65a6547b4493b..17676787375c7 100644 --- a/ApiDocs.bp +++ b/ApiDocs.bp @@ -77,22 +77,16 @@ stubs_defaults { // Module sources ":art.module.public.api{.public.stubs.source}", ":conscrypt.module.public.api{.public.stubs.source}", - ":framework-connectivity-sources", - ":framework-mediaprovider-sources", - ":framework-permission-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, @@ -106,6 +100,7 @@ stubs_defaults { merge_annotations_dirs: [ "metalava-manual", ], + write_sdk_values: true, } droidstubs { @@ -114,6 +109,24 @@ droidstubs { args: metalava_framework_docs_args, } +// Defaults module for doc-stubs targets that use module source code as input. +// This is the default/normal. +stubs_defaults { + name: "framework-doc-stubs-sources-default", + defaults: ["framework-doc-stubs-default"], + srcs: [ + ":framework-connectivity-sources", + ":framework-mediaprovider-sources", + ":framework-permission-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-system", defaults: ["android-non-updatable-doc-stubs-defaults"], @@ -123,26 +136,46 @@ droidstubs { droidstubs { name: "framework-doc-stubs", - defaults: ["framework-doc-stubs-default"], - arg_files: [ - "core/res/AndroidManifest.xml", - ], + defaults: ["framework-doc-stubs-sources-default"], args: metalava_framework_docs_args, - write_sdk_values: true, } droidstubs { name: "framework-doc-system-stubs", - defaults: ["framework-doc-stubs-default"], - arg_files: [ - "core/res/AndroidManifest.xml", - ], + defaults: ["framework-doc-stubs-sources-default"], args: metalava_framework_docs_args + " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\) ", - write_sdk_values: true, api_levels_sdk_type: "system", } +// Experimental target building doc stubs with module stub source code as input. +// This is intended to eventually replace framework-doc-stubs, once all diffs +// have been eliminated. +droidstubs { + name: "framework-doc-stubs-module-stubs", + defaults: ["framework-doc-stubs-default"], + args: metalava_framework_docs_args, + srcs: [ + ":android.net.ipsec.ike{.public.stubs.source}", + ":framework-connectivity{.public.stubs.source}", + ":framework-media{.public.stubs.source}", + ":framework-mediaprovider{.public.stubs.source}", + ":framework-permission{.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", + ], + }, +} + ///////////////////////////////////////////////////////////////////// // API docs are created from the generated stub source files // using droiddoc