Refactor merged annotations creation

It's clearer to define the module in Android.bp, and keep
our custom Go code to the minimal. The only thing the go
code really needs to do is create a "all module annotations"
module. This matches the pattern of the other modules here (the
pattern was invented after sdk-annotations.zip was first
migrated).

Bug: 235140934
Test: m sdk-annotations.zip before/after (no diffs)
Change-Id: Iae246081bcf4e5177d1da98c2e01c702fb349a22
This commit is contained in:
Anton Hansson
2022-06-23 07:58:51 +00:00
parent 85563e7a22
commit 0c5d9ab598
2 changed files with 23 additions and 12 deletions

View File

@@ -188,6 +188,23 @@ genrule {
"$(location :frameworks-base-api-module-lib-current.txt)",
}
// 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",
],
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",
}
genrule {
name: "combined-removed-dex",
visibility: [

View File

@@ -148,17 +148,11 @@ func createMergedStubsSrcjar(ctx android.LoadHookContext, modules []string) {
ctx.CreateModule(genrule.GenRuleFactory, &props)
}
// This produces the same annotations.zip as framework-doc-stubs, but by using
// outputs from individual modules instead of all the source code.
func createMergedAnnotations(ctx android.LoadHookContext, modules []string) {
props := genruleProps{}
props.Name = proptools.StringPtr("sdk-annotations.zip")
props.Tools = []string{"merge_annotation_zips", "soong_zip"}
props.Out = []string{"annotations.zip"}
props.Cmd = proptools.StringPtr("$(location merge_annotation_zips) $(genDir)/out $(in) && " +
"$(location soong_zip) -o $(out) -C $(genDir)/out -D $(genDir)/out")
props.Srcs = append([]string{":android-non-updatable-doc-stubs{.annotations.zip}"}, createSrcs(modules, "{.public.annotations.zip}")...)
ctx.CreateModule(genrule.GenRuleFactory, &props)
func createMergedPublicAnnotationsFilegroup(ctx android.LoadHookContext, modules []string) {
props := fgProps{}
props.Name = proptools.StringPtr("all-modules-public-annotations")
props.Srcs = createSrcs(modules, "{.public.annotations.zip}")
ctx.CreateModule(android.FileGroupFactory, &props)
}
func createFilteredApiVersions(ctx android.LoadHookContext, modules []string) {
@@ -299,7 +293,7 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) {
createMergedFrameworkModuleLibStubs(ctx, bootclasspath)
createMergedFrameworkImpl(ctx, bootclasspath)
createMergedAnnotations(ctx, bootclasspath)
createMergedPublicAnnotationsFilegroup(ctx, bootclasspath)
createFilteredApiVersions(ctx, bootclasspath)