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
diff --git a/ApiDocs.bp b/ApiDocs.bp
index 65a6547..1767678 100644
--- a/ApiDocs.bp
+++ b/ApiDocs.bp
@@ -77,22 +77,16 @@
// 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 @@
merge_annotations_dirs: [
"metalava-manual",
],
+ write_sdk_values: true,
}
droidstubs {
@@ -114,6 +109,24 @@
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 {
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