Merge "Forbid updatable: true on vendor APEXes."

This commit is contained in:
Daniel Norman
2021-12-03 18:12:16 +00:00
committed by Gerrit Code Review
2 changed files with 20 additions and 0 deletions

View File

@@ -2377,6 +2377,9 @@ func (a *apexBundle) checkUpdatable(ctx android.ModuleContext) {
if a.UsePlatformApis() {
ctx.PropertyErrorf("updatable", "updatable APEXes can't use platform APIs")
}
if a.SocSpecific() || a.DeviceSpecific() {
ctx.PropertyErrorf("updatable", "vendor APEXes are not updatable")
}
a.checkJavaStableSdkVersion(ctx)
a.checkClasspathFragments(ctx)
}

View File

@@ -7075,6 +7075,23 @@ func TestUpdatableDefault_should_set_min_sdk_version(t *testing.T) {
`)
}
func TestUpdatable_cannot_be_vendor_apex(t *testing.T) {
testApexError(t, `"myapex" .*: updatable: vendor APEXes are not updatable`, `
apex {
name: "myapex",
key: "myapex.key",
updatable: true,
soc_specific: true,
}
apex_key {
name: "myapex.key",
public_key: "testkey.avbpubkey",
private_key: "testkey.pem",
}
`)
}
func TestUpdatable_should_not_set_generate_classpaths_proto(t *testing.T) {
testApexError(t, `"mysystemserverclasspathfragment" .* it must not set generate_classpaths_proto to false`, `
apex {