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)
diff --git a/apex/apex.go b/apex/apex.go
index 3051553..a6c63de 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -151,12 +151,6 @@
// 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 @@
// 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 @@
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 ea25537..a66e1e0 100644
--- a/apex/builder.go
+++ b/apex/builder.go
@@ -567,8 +567,8 @@
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 {
////////////////////////////////////////////////////////////////////////////////////