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

Commit e736e13a authored by Ulya Trafimovich's avatar Ulya Trafimovich
Browse files

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
parent 76579e0e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -484,7 +484,7 @@ func getBootJar(ctx android.SingletonContext, bootjars android.ConfiguredJarList

	// Now match the apex part of the boot image configuration.
	requiredApex := bootjars.Apex(index)
	if requiredApex == "platform" {
	if requiredApex == "platform" || requiredApex == "system_ext" {
		if len(apexInfo.InApexes) != 0 {
			// A platform variant is required but this is for an apex so ignore it.
			return -1, nil, nil
+2 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ func testDexpreoptBoot(t *testing.T, ruleFile string, expectedInputs, expectedOu
			name: "bar",
			srcs: ["b.java"],
			installable: true,
			system_ext_specific: true,
		}

		dex_import {
@@ -47,7 +48,7 @@ func testDexpreoptBoot(t *testing.T, ruleFile string, expectedInputs, expectedOu
		prepareForJavaTest,
		PrepareForTestWithJavaSdkLibraryFiles,
		FixtureWithLastReleaseApis("foo"),
		dexpreopt.FixtureSetBootJars("platform:foo", "platform:bar", "platform:baz"),
		dexpreopt.FixtureSetBootJars("platform:foo", "system_ext:bar", "platform:baz"),
	).RunTestWithBp(t, bp)

	dexpreoptBootJars := result.SingletonForTests("dex_bootjars")