From fa5d0bc676742db3b289967b50905d130fcfa7a1 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} Change-Id: I1a275b3f44632e6655dc84d711a58fc0c5b3a46a --- ApiDocs.bp | 83 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 60 insertions(+), 23 deletions(-) diff --git a/ApiDocs.bp b/ApiDocs.bp index 48ae72399aa3e..c1816467146d4 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,28 @@ stubs_defaults { }, } +// 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-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"], @@ -135,26 +148,50 @@ 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-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", + ], + }, +} + ///////////////////////////////////////////////////////////////////// // API docs are created from the generated stub source files // using droiddoc