Add a system variant of the merged annotations
This is going to be disted instead of the monolithic one being
used currently.
Bug: 235140934
Test: m sdk-annotations{,-system}.zip and diff; manual spot checking
Test: m sdk dist && diff out/dist/system-data/annotations.zip with this
Change-Id: I9874f88e933a8b804a73638e6bac7a9d312c7c9f
diff --git a/api/Android.bp b/api/Android.bp
index 9a14ee6..3fc3991 100644
--- a/api/Android.bp
+++ b/api/Android.bp
@@ -190,12 +190,8 @@
// 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}",
- ":all-modules-public-annotations",
- ],
+genrule_defaults {
+ name: "sdk-annotations-defaults",
out: ["annotations.zip"],
tools: [
"merge_annotation_zips",
@@ -206,6 +202,24 @@
}
genrule {
+ name: "sdk-annotations.zip",
+ defaults: ["sdk-annotations-defaults"],
+ srcs: [
+ ":android-non-updatable-doc-stubs{.annotations.zip}",
+ ":all-modules-public-annotations",
+ ],
+}
+
+genrule {
+ name: "sdk-annotations-system.zip",
+ defaults: ["sdk-annotations-defaults"],
+ srcs: [
+ ":android-non-updatable-doc-stubs-system{.annotations.zip}",
+ ":all-modules-system-annotations",
+ ],
+}
+
+genrule {
name: "combined-removed-dex",
visibility: [
"//frameworks/base/boot",
diff --git a/api/api.go b/api/api.go
index 2212000..bf6b085 100644
--- a/api/api.go
+++ b/api/api.go
@@ -155,6 +155,13 @@
ctx.CreateModule(android.FileGroupFactory, &props)
}
+func createMergedSystemAnnotationsFilegroup(ctx android.LoadHookContext, modules []string) {
+ props := fgProps{}
+ props.Name = proptools.StringPtr("all-modules-system-annotations")
+ props.Srcs = createSrcs(modules, "{.system.annotations.zip}")
+ ctx.CreateModule(android.FileGroupFactory, &props)
+}
+
func createFilteredApiVersions(ctx android.LoadHookContext, modules []string) {
// For the filtered api versions, we prune all APIs except art module's APIs. because
// 1) ART apis are available by default to all modules, while other module-to-module deps are
@@ -294,6 +301,7 @@
createMergedFrameworkImpl(ctx, bootclasspath)
createMergedPublicAnnotationsFilegroup(ctx, bootclasspath)
+ createMergedSystemAnnotationsFilegroup(ctx, bootclasspath)
createFilteredApiVersions(ctx, bootclasspath)