Lineage properties support module references.
They should have had `android:"path"` tags attached so that users can point them to filegroup modules. Test: app_test.go & app_import_test.go Bug: 182175153 Change-Id: I5580408488ffe5fc12c869cbfb7a468713dcbc96
This commit is contained in:
@@ -122,8 +122,8 @@ type overridableAppProperties struct {
|
||||
// or an android_app_certificate module name in the form ":module".
|
||||
Certificate *string
|
||||
|
||||
// Name of the signing certificate lineage file.
|
||||
Lineage *string
|
||||
// Name of the signing certificate lineage file or filegroup module.
|
||||
Lineage *string `android:"path"`
|
||||
|
||||
// the package name of this app. The package name in the manifest file is used if one was not given.
|
||||
Package_name *string
|
||||
|
@@ -74,8 +74,8 @@ type AndroidAppImportProperties struct {
|
||||
// be set for presigned modules.
|
||||
Presigned *bool
|
||||
|
||||
// Name of the signing certificate lineage file.
|
||||
Lineage *string
|
||||
// Name of the signing certificate lineage file or filegroup module.
|
||||
Lineage *string `android:"path"`
|
||||
|
||||
// Sign with the default system dev certificate. Must be used judiciously. Most imported apps
|
||||
// need to either specify a specific certificate or be presigned.
|
||||
|
@@ -138,6 +138,32 @@ func TestAndroidAppImport_SigningLineage(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestAndroidAppImport_SigningLineageFilegroup(t *testing.T) {
|
||||
ctx, _ := testJava(t, `
|
||||
android_app_import {
|
||||
name: "foo",
|
||||
apk: "prebuilts/apk/app.apk",
|
||||
certificate: "platform",
|
||||
lineage: ":lineage_bin",
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "lineage_bin",
|
||||
srcs: ["lineage.bin"],
|
||||
}
|
||||
`)
|
||||
|
||||
variant := ctx.ModuleForTests("foo", "android_common")
|
||||
|
||||
signedApk := variant.Output("signed/foo.apk")
|
||||
// Check cert signing lineage flag.
|
||||
signingFlag := signedApk.Args["flags"]
|
||||
expected := "--lineage lineage.bin"
|
||||
if expected != signingFlag {
|
||||
t.Errorf("Incorrect signing flags, expected: %q, got: %q", expected, signingFlag)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAndroidAppImport_DefaultDevCert(t *testing.T) {
|
||||
ctx, _ := testJava(t, `
|
||||
android_app_import {
|
||||
|
@@ -1576,6 +1576,31 @@ func TestCertificates(t *testing.T) {
|
||||
expectedLineage: "--lineage lineage.bin",
|
||||
expectedCertificate: "cert/new_cert.x509.pem cert/new_cert.pk8",
|
||||
},
|
||||
{
|
||||
name: "lineage from filegroup",
|
||||
bp: `
|
||||
android_app {
|
||||
name: "foo",
|
||||
srcs: ["a.java"],
|
||||
certificate: ":new_certificate",
|
||||
lineage: ":lineage_bin",
|
||||
sdk_version: "current",
|
||||
}
|
||||
|
||||
android_app_certificate {
|
||||
name: "new_certificate",
|
||||
certificate: "cert/new_cert",
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "lineage_bin",
|
||||
srcs: ["lineage.bin"],
|
||||
}
|
||||
`,
|
||||
certificateOverride: "",
|
||||
expectedLineage: "--lineage lineage.bin",
|
||||
expectedCertificate: "cert/new_cert.x509.pem cert/new_cert.pk8",
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range testCases {
|
||||
|
Reference in New Issue
Block a user