Merge "Don't panic if no certificates found" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
16ef197d6a
27
java/app.go
27
java/app.go
@@ -563,19 +563,6 @@ func processMainCert(m android.ModuleBase, certPropValue string, certificates []
|
|||||||
certificates = append([]Certificate{mainCert}, certificates...)
|
certificates = append([]Certificate{mainCert}, certificates...)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !m.Platform() {
|
|
||||||
certPath := certificates[0].Pem.String()
|
|
||||||
systemCertPath := ctx.Config().DefaultAppCertificateDir(ctx).String()
|
|
||||||
if strings.HasPrefix(certPath, systemCertPath) {
|
|
||||||
enforceSystemCert := ctx.Config().EnforceSystemCertificate()
|
|
||||||
allowed := ctx.Config().EnforceSystemCertificateAllowList()
|
|
||||||
|
|
||||||
if enforceSystemCert && !inList(m.Name(), allowed) {
|
|
||||||
ctx.PropertyErrorf("certificate", "The module in product partition cannot be signed with certificate in system.")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(certificates) > 0 {
|
if len(certificates) > 0 {
|
||||||
mainCertificate = certificates[0]
|
mainCertificate = certificates[0]
|
||||||
} else {
|
} else {
|
||||||
@@ -591,6 +578,20 @@ func processMainCert(m android.ModuleBase, certPropValue string, certificates []
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !m.Platform() {
|
||||||
|
certPath := mainCertificate.Pem.String()
|
||||||
|
systemCertPath := ctx.Config().DefaultAppCertificateDir(ctx).String()
|
||||||
|
if strings.HasPrefix(certPath, systemCertPath) {
|
||||||
|
enforceSystemCert := ctx.Config().EnforceSystemCertificate()
|
||||||
|
allowed := ctx.Config().EnforceSystemCertificateAllowList()
|
||||||
|
|
||||||
|
if enforceSystemCert && !inList(m.Name(), allowed) {
|
||||||
|
ctx.PropertyErrorf("certificate", "The module in product partition cannot be signed with certificate in system.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return mainCertificate, certificates
|
return mainCertificate, certificates
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -3382,6 +3382,14 @@ func TestAppMissingCertificateAllowMissingDependencies(t *testing.T) {
|
|||||||
srcs: ["a.java"],
|
srcs: ["a.java"],
|
||||||
certificate: ":missing_certificate",
|
certificate: ":missing_certificate",
|
||||||
sdk_version: "current",
|
sdk_version: "current",
|
||||||
|
}
|
||||||
|
|
||||||
|
android_app {
|
||||||
|
name: "bar",
|
||||||
|
srcs: ["a.java"],
|
||||||
|
certificate: ":missing_certificate",
|
||||||
|
product_specific: true,
|
||||||
|
sdk_version: "current",
|
||||||
}`)
|
}`)
|
||||||
|
|
||||||
foo := result.ModuleForTests("foo", "android_common")
|
foo := result.ModuleForTests("foo", "android_common")
|
||||||
|
Reference in New Issue
Block a user