Merge "Respect required property of apex modules" am: dbb2a94cda

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1872878

Change-Id: Ibf66a2478aa4f018d8b3d21d36113ab470166465
This commit is contained in:
Treehugger Robot
2021-11-05 02:08:15 +00:00
committed by Automerger Merge Worker
2 changed files with 43 additions and 0 deletions

View File

@@ -326,6 +326,9 @@ func (a *apexBundle) writeRequiredModules(w io.Writer, apexBundleName string) {
var required []string
var targetRequired []string
var hostRequired []string
required = append(required, a.RequiredModuleNames()...)
targetRequired = append(targetRequired, a.TargetRequiredModuleNames()...)
hostRequired = append(hostRequired, a.HostRequiredModuleNames()...)
installMapSet := make(map[string]bool) // set of dependency module:location mappings
for _, fi := range a.filesInfo {
required = append(required, fi.requiredModuleNames...)

View File

@@ -8350,6 +8350,46 @@ func TestAndroidMk_DexpreoptBuiltInstalledForApex_Prebuilt(t *testing.T) {
})
}
func TestAndroidMk_RequiredModules(t *testing.T) {
ctx := testApex(t, `
apex {
name: "myapex",
key: "myapex.key",
updatable: false,
java_libs: ["foo"],
required: ["otherapex"],
}
apex {
name: "otherapex",
key: "myapex.key",
updatable: false,
java_libs: ["foo"],
required: ["otherapex"],
}
apex_key {
name: "myapex.key",
public_key: "testkey.avbpubkey",
private_key: "testkey.pem",
}
java_library {
name: "foo",
srcs: ["foo.java"],
apex_available: ["myapex", "otherapex"],
installable: true,
}
`)
apexBundle := ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().(*apexBundle)
data := android.AndroidMkDataForTest(t, ctx, apexBundle)
var builder strings.Builder
data.Custom(&builder, apexBundle.BaseModuleName(), "TARGET_", "", data)
androidMk := builder.String()
ensureContains(t, androidMk, "LOCAL_REQUIRED_MODULES += otherapex")
}
func TestMain(m *testing.M) {
os.Exit(m.Run())
}