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

Commit c990a2f0 authored by Jihoon Kang's avatar Jihoon Kang Committed by Automerger Merge Worker
Browse files

Merge "Add merged txt filegroups that depend on the exportable non-updatable...

Merge "Add merged txt filegroups that depend on the exportable non-updatable txt files" into main am: 9e12339d

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2953855



Change-Id: I13210bee77f5660c82e2c07c16e2249ea1136679
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 3f761a84 9e12339d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -360,7 +360,10 @@ stubs_defaults {
    previous_api: ":android.api.public.latest",
    merge_annotations_dirs: ["metalava-manual"],
    defaults_visibility: ["//frameworks/base/api"],
    visibility: ["//frameworks/base/api"],
    visibility: [
        "//frameworks/base/api",
        "//frameworks/base/core/api",
    ],
}

// We resolve dependencies on APIs in modules by depending on a prebuilt of the whole
+23 −20
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ type MergedTxtDefinition struct {
	Scope string
}

func createMergedTxt(ctx android.LoadHookContext, txt MergedTxtDefinition) {
func createMergedTxt(ctx android.LoadHookContext, txt MergedTxtDefinition, stubsTypeSuffix string, doDist bool) {
	metalavaCmd := "$(location metalava)"
	// Silence reflection warnings. See b/168689341
	metalavaCmd += " -J--add-opens=java.base/java.util=ALL-UNNAMED "
@@ -140,7 +140,7 @@ func createMergedTxt(ctx android.LoadHookContext, txt MergedTxtDefinition) {
	if txt.Scope != "public" {
		filename = txt.Scope + "-" + filename
	}
	moduleName := ctx.ModuleName() + "-" + filename
	moduleName := ctx.ModuleName() + stubsTypeSuffix + filename

	props := genruleProps{}
	props.Name = proptools.StringPtr(moduleName)
@@ -148,6 +148,7 @@ func createMergedTxt(ctx android.LoadHookContext, txt MergedTxtDefinition) {
	props.Out = []string{filename}
	props.Cmd = proptools.StringPtr(metalavaCmd + "$(in) --out $(out)")
	props.Srcs = append([]string{txt.BaseTxt}, createSrcs(txt.Modules, txt.ModuleTag)...)
	if doDist {
		props.Dists = []android.Dist{
			{
				Targets: []string{"droidcore"},
@@ -160,6 +161,7 @@ func createMergedTxt(ctx android.LoadHookContext, txt MergedTxtDefinition) {
				Dest:    proptools.StringPtr(txt.DistFilename),
			},
		}
	}
	props.Visibility = []string{"//visibility:public"}
	ctx.CreateModule(genrule.GenRuleFactory, &props)
}
@@ -343,7 +345,7 @@ func createPublicStubsSourceFilegroup(ctx android.LoadHookContext, modules []str
	ctx.CreateModule(android.FileGroupFactory, &props)
}

func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_classpath []string) {
func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_classpath []string, baseTxtModulePrefix, stubsTypeSuffix string, doDist bool) {
	var textFiles []MergedTxtDefinition

	tagSuffix := []string{".api.txt}", ".removed-api.txt}"}
@@ -352,7 +354,7 @@ func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_
		textFiles = append(textFiles, MergedTxtDefinition{
			TxtFilename:  f,
			DistFilename: distFilename[i],
			BaseTxt:      ":non-updatable-" + f,
			BaseTxt:      ":" + baseTxtModulePrefix + f,
			Modules:      bootclasspath,
			ModuleTag:    "{.public" + tagSuffix[i],
			Scope:        "public",
@@ -360,7 +362,7 @@ func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_
		textFiles = append(textFiles, MergedTxtDefinition{
			TxtFilename:  f,
			DistFilename: distFilename[i],
			BaseTxt:      ":non-updatable-system-" + f,
			BaseTxt:      ":" + baseTxtModulePrefix + "system-" + f,
			Modules:      bootclasspath,
			ModuleTag:    "{.system" + tagSuffix[i],
			Scope:        "system",
@@ -368,7 +370,7 @@ func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_
		textFiles = append(textFiles, MergedTxtDefinition{
			TxtFilename:  f,
			DistFilename: distFilename[i],
			BaseTxt:      ":non-updatable-module-lib-" + f,
			BaseTxt:      ":" + baseTxtModulePrefix + "module-lib-" + f,
			Modules:      bootclasspath,
			ModuleTag:    "{.module-lib" + tagSuffix[i],
			Scope:        "module-lib",
@@ -376,14 +378,14 @@ func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_
		textFiles = append(textFiles, MergedTxtDefinition{
			TxtFilename:  f,
			DistFilename: distFilename[i],
			BaseTxt:      ":non-updatable-system-server-" + f,
			BaseTxt:      ":" + baseTxtModulePrefix + "system-server-" + f,
			Modules:      system_server_classpath,
			ModuleTag:    "{.system-server" + tagSuffix[i],
			Scope:        "system-server",
		})
	}
	for _, txt := range textFiles {
		createMergedTxt(ctx, txt)
		createMergedTxt(ctx, txt, stubsTypeSuffix, doDist)
	}
}

@@ -465,7 +467,8 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) {
		bootclasspath = append(bootclasspath, a.properties.Conditional_bootclasspath...)
		sort.Strings(bootclasspath)
	}
	createMergedTxts(ctx, bootclasspath, system_server_classpath)
	createMergedTxts(ctx, bootclasspath, system_server_classpath, "non-updatable-", "-", false)
	createMergedTxts(ctx, bootclasspath, system_server_classpath, "non-updatable-exportable-", "-exportable-", true)

	createMergedPublicStubs(ctx, bootclasspath)
	createMergedSystemStubs(ctx, bootclasspath)
+51 −0
Original line number Diff line number Diff line
@@ -96,3 +96,54 @@ filegroup {
    name: "non-updatable-test-lint-baseline.txt",
    srcs: ["test-lint-baseline.txt"],
}

// Exportable stub artifacts
filegroup {
    name: "non-updatable-exportable-current.txt",
    srcs: [":api-stubs-docs-non-updatable{.exportable.api.txt}"],
}

filegroup {
    name: "non-updatable-exportable-removed.txt",
    srcs: [":api-stubs-docs-non-updatable{.exportable.removed-api.txt}"],
}

filegroup {
    name: "non-updatable-exportable-system-current.txt",
    srcs: [":system-api-stubs-docs-non-updatable{.exportable.api.txt}"],
}

filegroup {
    name: "non-updatable-exportable-system-removed.txt",
    srcs: [":system-api-stubs-docs-non-updatable{.exportable.removed-api.txt}"],
}

filegroup {
    name: "non-updatable-exportable-module-lib-current.txt",
    srcs: [":module-lib-api-stubs-docs-non-updatable{.exportable.api.txt}"],
}

filegroup {
    name: "non-updatable-exportable-module-lib-removed.txt",
    srcs: [":module-lib-api-stubs-docs-non-updatable{.exportable.removed-api.txt}"],
}

filegroup {
    name: "non-updatable-exportable-test-current.txt",
    srcs: [":test-api-stubs-docs-non-updatable{.exportable.api.txt}"],
}

filegroup {
    name: "non-updatable-exportable-test-removed.txt",
    srcs: [":test-api-stubs-docs-non-updatable{.exportable.removed-api.txt}"],
}

filegroup {
    name: "non-updatable-exportable-system-server-current.txt",
    srcs: [":services-non-updatable-stubs{.exportable.api.txt}"],
}

filegroup {
    name: "non-updatable-exportable-system-server-removed.txt",
    srcs: [":services-non-updatable-stubs{.exportable.removed-api.txt}"],
}