Merge "Forbid updatable: true on vendor APEXes." am: 7260025670 am: c046926ac5

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1908986

Change-Id: I0f5f8101490f1b1796413e28a42a06a03494e994
This commit is contained in:
Daniel Norman
2021-12-03 18:32:10 +00:00
committed by Automerger Merge Worker
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 {