Merge "Add signing lineage for runtime_resource_overlay" into rvc-dev am: 3d8779dd6f

Change-Id: I4557f03e3690c5672f446e7d9f8c9faf7d50b51b
This commit is contained in:
Liz Kammer 2020-05-27 16:54:13 +00:00 committed by Automerger Merge Worker
commit 258b6cc92f
2 changed files with 14 additions and 1 deletions

View file

@ -1706,6 +1706,9 @@ type RuntimeResourceOverlayProperties struct {
// module name in the form ":module".
Certificate *string
// Name of the signing certificate lineage file.
Lineage *string
// optional theme name. If specified, the overlay package will be applied
// only when the ro.boot.vendor.overlay.theme system property is set to the same value.
Theme *string
@ -1780,7 +1783,11 @@ func (r *RuntimeResourceOverlay) GenerateAndroidBuildActions(ctx android.ModuleC
_, certificates := collectAppDeps(ctx, r, false, false)
certificates = processMainCert(r.ModuleBase, String(r.properties.Certificate), certificates, ctx)
signed := android.PathForModuleOut(ctx, "signed", r.Name()+".apk")
SignAppPackage(ctx, signed, r.aapt.exportPackage, certificates, nil, nil)
var lineageFile android.Path
if lineage := String(r.properties.Lineage); lineage != "" {
lineageFile = android.PathForModuleSrc(ctx, lineage)
}
SignAppPackage(ctx, signed, r.aapt.exportPackage, certificates, nil, lineageFile)
r.certificate = certificates[0]
r.outputFile = signed

View file

@ -2955,6 +2955,7 @@ func TestRuntimeResourceOverlay(t *testing.T) {
runtime_resource_overlay {
name: "foo",
certificate: "platform",
lineage: "lineage.bin",
product_specific: true,
static_libs: ["bar"],
resource_libs: ["baz"],
@ -3009,6 +3010,11 @@ func TestRuntimeResourceOverlay(t *testing.T) {
// Check cert signing flag.
signedApk := m.Output("signed/foo.apk")
lineageFlag := signedApk.Args["flags"]
expectedLineageFlag := "--lineage lineage.bin"
if expectedLineageFlag != lineageFlag {
t.Errorf("Incorrect signing lineage flags, expected: %q, got: %q", expectedLineageFlag, lineageFlag)
}
signingFlag := signedApk.Args["certificates"]
expected := "build/make/target/product/security/platform.x509.pem build/make/target/product/security/platform.pk8"
if expected != signingFlag {