Add property to apex soong modules to generate an APEX without hashtree
This will help testing on-device hashtree generation. Test: see other CL in topic Bug: 145670581 Change-Id: I96b1b2392302aed8a6e80ed52de2d057a532a288
This commit is contained in:
parent
593b3c9fb0
commit
c72b5dd10a
2 changed files with 13 additions and 1 deletions
|
@ -339,6 +339,10 @@ type apexBundleProperties struct {
|
|||
// binaries would be installed by default (in PRODUCT_PACKAGES) the other binary will be removed
|
||||
// from PRODUCT_PACKAGES.
|
||||
Overrides []string
|
||||
|
||||
// Whenever apex_payload.img of the APEX should include dm-verity hashtree.
|
||||
// Should be only used in tests#.
|
||||
Test_only_no_hashtree *bool
|
||||
}
|
||||
|
||||
type apexTargetBundleProperties struct {
|
||||
|
@ -731,6 +735,10 @@ func (a *apexBundle) installable() bool {
|
|||
return !a.properties.PreventInstall && (a.properties.Installable == nil || proptools.Bool(a.properties.Installable))
|
||||
}
|
||||
|
||||
func (a *apexBundle) testOnlyShouldSkipHashtreeGeneration() bool {
|
||||
return proptools.Bool(a.properties.Test_only_no_hashtree)
|
||||
}
|
||||
|
||||
func (a *apexBundle) getImageVariation(config android.DeviceConfig) string {
|
||||
if a.vndkApex {
|
||||
return cc.VendorVariationPrefix + a.vndkVersion(config)
|
||||
|
|
|
@ -375,7 +375,11 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) {
|
|||
optFlags = append(optFlags, "--assets_dir "+filepath.Dir(noticeFile.String()))
|
||||
}
|
||||
|
||||
if !ctx.Config().UnbundledBuild() && a.installable() {
|
||||
if ctx.ModuleDir() != "system/apex/apexd/apexd_testdata" && a.testOnlyShouldSkipHashtreeGeneration() {
|
||||
ctx.PropertyErrorf("test_only_no_hashtree", "not available")
|
||||
return
|
||||
}
|
||||
if (!ctx.Config().UnbundledBuild() && a.installable()) || a.testOnlyShouldSkipHashtreeGeneration() {
|
||||
// Apexes which are supposed to be installed in builtin dirs(/system, etc)
|
||||
// don't need hashtree for activation. Therefore, by removing hashtree from
|
||||
// apex bundle (filesystem image in it, to be specific), we can save storage.
|
||||
|
|
Loading…
Reference in a new issue