Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c5d9ab5 authored by Anton Hansson's avatar Anton Hansson
Browse files

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
parent 85563e7a
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -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: [
+6 −12
Original line number Diff line number Diff line
@@ -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)