Merge "Install flattened/unflattend apexes for GSI"

This commit is contained in:
Treehugger Robot
2019-12-13 21:10:56 +00:00
committed by Gerrit Code Review
4 changed files with 33 additions and 0 deletions

View File

@@ -1103,6 +1103,10 @@ func (c *config) EnforceProductPartitionInterface() bool {
return Bool(c.productVariables.EnforceProductPartitionInterface) return Bool(c.productVariables.EnforceProductPartitionInterface)
} }
func (c *config) InstallExtraFlattenedApexes() bool {
return Bool(c.productVariables.InstallExtraFlattenedApexes)
}
func (c *config) ProductHiddenAPIStubs() []string { func (c *config) ProductHiddenAPIStubs() []string {
return c.productVariables.ProductHiddenAPIStubs return c.productVariables.ProductHiddenAPIStubs
} }

View File

@@ -311,6 +311,8 @@ type productVariables struct {
MissingUsesLibraries []string `json:",omitempty"` MissingUsesLibraries []string `json:",omitempty"`
EnforceProductPartitionInterface *bool `json:",omitempty"` EnforceProductPartitionInterface *bool `json:",omitempty"`
InstallExtraFlattenedApexes *bool `json:",omitempty"`
} }
func boolPtr(v bool) *bool { func boolPtr(v bool) *bool {

View File

@@ -913,6 +913,10 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
} else { } else {
a.suffix = "" a.suffix = ""
a.primaryApexType = true a.primaryApexType = true
if ctx.Config().InstallExtraFlattenedApexes() {
a.externalDeps = append(a.externalDeps, a.Name()+flattenedSuffix)
}
} }
case zipApex: case zipApex:
if proptools.String(a.properties.Payload_type) == "zip" { if proptools.String(a.properties.Payload_type) == "zip" {

View File

@@ -2457,6 +2457,29 @@ func TestApexWithTests(t *testing.T) {
ensureContains(t, androidMk, "LOCAL_MODULE := myapex\n") 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) { func TestApexUsesOtherApex(t *testing.T) {
ctx, _ := testApex(t, ` ctx, _ := testApex(t, `
apex { apex {