enforce updatable apexes to set min_sdk_version

updatable APEXes should set min_sdk_version as well.

Bug: 152655956
Test: m
Change-Id: I8192086eb89fa958dd8ff1b731e43e24bf217ce2
This commit is contained in:
Jooyung Han
2020-04-27 12:10:30 +09:00
parent 70b5c21270
commit 548640b55f
2 changed files with 32 additions and 2 deletions

View File

@@ -1021,8 +1021,10 @@ type apexBundleProperties struct {
IsCoverageVariant bool `blueprint:"mutated"`
// Whether this APEX is considered updatable or not. When set to true, this will enforce additional
// rules for making sure that the APEX is truely updatable. This will also disable the size optimizations
// like symlinking to the system libs. Default is false.
// rules for making sure that the APEX is truly updatable.
// - To be updatable, min_sdk_version should be set as well
// This will also disable the size optimizations like symlinking to the system libs.
// Default is false.
Updatable *bool
// The minimum SDK version that this apex must be compatibile with.
@@ -1794,6 +1796,14 @@ func (a *apexBundle) checkApexAvailability(ctx android.ModuleContext) {
})
}
func (a *apexBundle) checkUpdatable(ctx android.ModuleContext) {
if proptools.Bool(a.properties.Updatable) {
if String(a.properties.Min_sdk_version) == "" {
ctx.PropertyErrorf("updatable", "updatable APEXes should set min_sdk_version as well")
}
}
}
// Collects the list of module names that directly or indirectly contributes to the payload of this APEX
func (a *apexBundle) collectDepsInfo(ctx android.ModuleContext) {
a.depInfos = make(map[string]depInfo)
@@ -1859,6 +1869,7 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}
a.checkApexAvailability(ctx)
a.checkUpdatable(ctx)
a.collectDepsInfo(ctx)