enforce updatable apexes to set min_sdk_version
updatable APEXes should set min_sdk_version as well.
Bug: 152655956
Test: m
Merged-In: I8192086eb89fa958dd8ff1b731e43e24bf217ce2
Change-Id: I8192086eb89fa958dd8ff1b731e43e24bf217ce2
(cherry picked from commit 548640b55f
)
This commit is contained in:
parent
b6e5e512de
commit
ced674e0e2
15
apex/apex.go
15
apex/apex.go
|
@ -1111,8 +1111,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 compatible with.
|
||||
|
@ -1885,6 +1887,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)
|
||||
|
@ -1950,6 +1960,7 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||
}
|
||||
|
||||
a.checkApexAvailability(ctx)
|
||||
a.checkUpdatable(ctx)
|
||||
|
||||
a.collectDepsInfo(ctx)
|
||||
|
||||
|
|
|
@ -4017,6 +4017,7 @@ func TestSymlinksFromApexToSystem(t *testing.T) {
|
|||
native_shared_libs: ["mylib"],
|
||||
java_libs: ["myjar"],
|
||||
updatable: true,
|
||||
min_sdk_version: "current",
|
||||
}
|
||||
|
||||
apex_key {
|
||||
|
@ -4242,6 +4243,22 @@ func testNoUpdatableJarsInBootImage(t *testing.T, errmsg, bp string, transformDe
|
|||
}
|
||||
}
|
||||
|
||||
func TestUpdatable_should_set_min_sdk_version(t *testing.T) {
|
||||
testApexError(t, `"myapex" .*: updatable: updatable APEXes should set min_sdk_version`, `
|
||||
apex {
|
||||
name: "myapex",
|
||||
key: "myapex.key",
|
||||
updatable: true,
|
||||
}
|
||||
|
||||
apex_key {
|
||||
name: "myapex.key",
|
||||
public_key: "testkey.avbpubkey",
|
||||
private_key: "testkey.pem",
|
||||
}
|
||||
`)
|
||||
}
|
||||
|
||||
func TestNoUpdatableJarsInBootImage(t *testing.T) {
|
||||
bp := `
|
||||
java_library {
|
||||
|
|
Loading…
Reference in New Issue