Handle boot jars on /system_ext correctly.
When Soong looks for boot jars among all modules, it applies certain constraints to each module that looks like a boot jar (e.g. that it comes from the right apex or platform). Previously these constraints did not handle boot jars on /system_ext correctly (they were handled like apex jars, while they should be handled like platform jars). Bug: 154976937 Test: m nothing (the modified Soong test would fail previously) Change-Id: I0746a2fd276ab5ef0400340c5b61cf26c2570e5a
This commit is contained in:
@@ -484,7 +484,7 @@ func getBootJar(ctx android.SingletonContext, bootjars android.ConfiguredJarList
|
|||||||
|
|
||||||
// Now match the apex part of the boot image configuration.
|
// Now match the apex part of the boot image configuration.
|
||||||
requiredApex := bootjars.Apex(index)
|
requiredApex := bootjars.Apex(index)
|
||||||
if requiredApex == "platform" {
|
if requiredApex == "platform" || requiredApex == "system_ext" {
|
||||||
if len(apexInfo.InApexes) != 0 {
|
if len(apexInfo.InApexes) != 0 {
|
||||||
// A platform variant is required but this is for an apex so ignore it.
|
// A platform variant is required but this is for an apex so ignore it.
|
||||||
return -1, nil, nil
|
return -1, nil, nil
|
||||||
|
@@ -35,6 +35,7 @@ func testDexpreoptBoot(t *testing.T, ruleFile string, expectedInputs, expectedOu
|
|||||||
name: "bar",
|
name: "bar",
|
||||||
srcs: ["b.java"],
|
srcs: ["b.java"],
|
||||||
installable: true,
|
installable: true,
|
||||||
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
dex_import {
|
dex_import {
|
||||||
@@ -47,7 +48,7 @@ func testDexpreoptBoot(t *testing.T, ruleFile string, expectedInputs, expectedOu
|
|||||||
prepareForJavaTest,
|
prepareForJavaTest,
|
||||||
PrepareForTestWithJavaSdkLibraryFiles,
|
PrepareForTestWithJavaSdkLibraryFiles,
|
||||||
FixtureWithLastReleaseApis("foo"),
|
FixtureWithLastReleaseApis("foo"),
|
||||||
dexpreopt.FixtureSetBootJars("platform:foo", "platform:bar", "platform:baz"),
|
dexpreopt.FixtureSetBootJars("platform:foo", "system_ext:bar", "platform:baz"),
|
||||||
).RunTestWithBp(t, bp)
|
).RunTestWithBp(t, bp)
|
||||||
|
|
||||||
dexpreoptBootJars := result.SingletonForTests("dex_bootjars")
|
dexpreoptBootJars := result.SingletonForTests("dex_bootjars")
|
||||||
|
Reference in New Issue
Block a user