From a07099d858963d1c0fd3b3e53c84a69b1e5487cd Mon Sep 17 00:00:00 2001 From: Oriol Prieto Gasco Date: Thu, 14 Oct 2021 15:33:41 -0400 Subject: [PATCH] Make 'Compressible' an overridable property This is needed to allow the Android Go versions of modules (com.google.android.go.*) to select a different compression toggle than their non-Go (com.google.android.*) conterparts. go/go-updatability Bug: 203024418 Test: Preloaded go variants on wembley, booted Android. Change-Id: Ic96aff5fafb65fbd08e8a69d47c994532e27819e Merged-In: Ic96aff5fafb65fbd08e8a69d47c994532e27819e (cherry picked from commit 2c4a96375aef7570076770474b5b73341455570d) --- apex/apex.go | 14 +++++++------- apex/builder.go | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apex/apex.go b/apex/apex.go index 30515535a..a6c63de35 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -151,12 +151,6 @@ type apexBundleProperties struct { // Default: true. Installable *bool - // Whether this APEX can be compressed or not. Setting this property to false means this - // APEX will never be compressed. When set to true, APEX will be compressed if other - // conditions, e.g, target device needs to support APEX compression, are also fulfilled. - // Default: true. - Compressible *bool - // If set true, VNDK libs are considered as stable libs and are not included in this APEX. // Should be only used in non-system apexes (e.g. vendor: true). Default is false. Use_vndk_as_stable *bool @@ -347,6 +341,12 @@ type overridableProperties struct { // certificate and the private key are provided from the android_app_certificate module // named "module". Certificate *string + + // Whether this APEX can be compressed or not. Setting this property to false means this + // APEX will never be compressed. When set to true, APEX will be compressed if other + // conditions, e.g., target device needs to support APEX compression, are also fulfilled. + // Default: false. + Compressible *bool } type apexBundle struct { @@ -1310,7 +1310,7 @@ func (a *apexBundle) EnableCoverageIfNeeded() {} var _ android.ApexBundleDepsInfoIntf = (*apexBundle)(nil) -// Implements android.ApexBudleDepsInfoIntf +// Implements android.ApexBundleDepsInfoIntf func (a *apexBundle) Updatable() bool { return proptools.BoolDefault(a.properties.Updatable, true) } diff --git a/apex/builder.go b/apex/builder.go index ea25537ca..a66e1e0fc 100644 --- a/apex/builder.go +++ b/apex/builder.go @@ -567,8 +567,8 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) { outHostBinDir := ctx.Config().HostToolPath(ctx, "").String() prebuiltSdkToolsBinDir := filepath.Join("prebuilts", "sdk", "tools", runtime.GOOS, "bin") - // Figure out if need to compress apex. - compressionEnabled := ctx.Config().CompressedApex() && proptools.BoolDefault(a.properties.Compressible, false) && !a.testApex && !ctx.Config().UnbundledBuildApps() + // Figure out if we need to compress the apex. + compressionEnabled := ctx.Config().CompressedApex() && proptools.BoolDefault(a.overridableProperties.Compressible, false) && !a.testApex && !ctx.Config().UnbundledBuildApps() if apexType == imageApex { ////////////////////////////////////////////////////////////////////////////////////