Merge "Install flattened/unflattend apexes for GSI"
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
@@ -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 {
|
||||||
|
@@ -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" {
|
||||||
|
@@ -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 {
|
||||||
|
Reference in New Issue
Block a user