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

Commit c229e5a6 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Install flattened/unflattend apexes for GSI" am: e676810d am: 5f278607

Change-Id: I8947c948f4719fe4f62d3a683831fdd32d8e02a4
parents 8ec1ad6a 5f278607
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1103,6 +1103,10 @@ func (c *config) EnforceProductPartitionInterface() bool {
	return Bool(c.productVariables.EnforceProductPartitionInterface)
}

func (c *config) InstallExtraFlattenedApexes() bool {
	return Bool(c.productVariables.InstallExtraFlattenedApexes)
}

func (c *config) ProductHiddenAPIStubs() []string {
	return c.productVariables.ProductHiddenAPIStubs
}
+2 −0
Original line number Diff line number Diff line
@@ -311,6 +311,8 @@ type productVariables struct {
	MissingUsesLibraries []string `json:",omitempty"`

	EnforceProductPartitionInterface *bool `json:",omitempty"`

	InstallExtraFlattenedApexes *bool `json:",omitempty"`
}

func boolPtr(v bool) *bool {
+4 −0
Original line number Diff line number Diff line
@@ -913,6 +913,10 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
		} else {
			a.suffix = ""
			a.primaryApexType = true

			if ctx.Config().InstallExtraFlattenedApexes() {
				a.externalDeps = append(a.externalDeps, a.Name()+flattenedSuffix)
			}
		}
	case zipApex:
		if proptools.String(a.properties.Payload_type) == "zip" {
+23 −0
Original line number Diff line number Diff line
@@ -2457,6 +2457,29 @@ func TestApexWithTests(t *testing.T) {
	ensureContains(t, androidMk, "LOCAL_MODULE := myapex\n")
}

func TestInstallExtraFlattenedApexes(t *testing.T) {
	ctx, config := testApex(t, `
		apex {
			name: "myapex",
			key: "myapex.key",
		}
		apex_key {
			name: "myapex.key",
			public_key: "testkey.avbpubkey",
			private_key: "testkey.pem",
		}
	`, func(fs map[string][]byte, config android.Config) {
		config.TestProductVariables.InstallExtraFlattenedApexes = proptools.BoolPtr(true)
	})
	ab := ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().(*apexBundle)
	ensureListContains(t, ab.externalDeps, "myapex.flattened")
	mk := android.AndroidMkDataForTest(t, config, "", ab)
	var builder strings.Builder
	mk.Custom(&builder, ab.Name(), "TARGET_", "", mk)
	androidMk := builder.String()
	ensureContains(t, androidMk, "LOCAL_REQUIRED_MODULES += myapex.flattened")
}

func TestApexUsesOtherApex(t *testing.T) {
	ctx, _ := testApex(t, `
		apex {