Add build rule to merge annotation zips

This target produces nearly identical contents to the build target
framework-doc-stubs (the only diffs are in whitespace). Using this
module in the SDK zip will allow changing the inputs of
framework-doc-stubs to java sources that don't have all the annotations
(the jar stubs).

Bug: 187397779
Test: m sdk-annotations.zip and diff with framework-doc-stubs zip
Change-Id: Id163473c455f25c5f31c965d907c0c3b0e7755fc
This commit is contained in:
Anton Hansson
2021-09-24 13:16:19 +01:00
parent 626939d412
commit 1bf568ed3e

View File

@@ -192,6 +192,42 @@ droidstubs {
},
}
// 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",
],
cmd: "$(location merge_annotation_zips) $(genDir)/out $(in) && " +
"$(location soong_zip) -o $(out) -C $(genDir)/out -D $(genDir)/out",
}
/////////////////////////////////////////////////////////////////////
// API docs are created from the generated stub source files
// using droiddoc