summaryrefslogtreecommitdiff
path: root/ApiDocs.bp
diff options
context:
space:
mode:
Diffstat (limited to 'ApiDocs.bp')
-rw-r--r--ApiDocs.bp114
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",
}
/////////////////////////////////////////////////////////////////////