Merge "VNDK lib must not have `product_specific: true`"

This commit is contained in:
Treehugger Robot 2018-12-04 08:39:35 +00:00 committed by Gerrit Code Review
commit 2098eb8c2a
2 changed files with 21 additions and 0 deletions

View File

@ -1757,6 +1757,7 @@ func imageMutator(mctx android.BottomUpMutatorContext) {
// Sanity check
vendorSpecific := mctx.SocSpecific() || mctx.DeviceSpecific()
productSpecific := mctx.ProductSpecific()
if m.VendorProperties.Vendor_available != nil && vendorSpecific {
mctx.PropertyErrorf("vendor_available",
@ -1766,6 +1767,11 @@ func imageMutator(mctx android.BottomUpMutatorContext) {
if vndkdep := m.vndkdep; vndkdep != nil {
if vndkdep.isVndk() {
if productSpecific {
mctx.PropertyErrorf("product_specific",
"product_specific must not be true when `vndk: {enabled: true}`")
return
}
if vendorSpecific {
if !vndkdep.isVndkExt() {
mctx.PropertyErrorf("vndk",

View File

@ -492,6 +492,21 @@ func TestVndkDepError(t *testing.T) {
`)
}
func TestVndkMustNotBeProductSpecific(t *testing.T) {
// Check whether an error is emitted when a vndk lib has 'product_specific: true'.
testCcError(t, "product_specific must not be true when `vndk: {enabled: true}`", `
cc_library {
name: "libvndk",
product_specific: true, // Cause error
vendor_available: true,
vndk: {
enabled: true,
},
nocrt: true,
}
`)
}
func TestVndkExt(t *testing.T) {
// This test checks the VNDK-Ext properties.
ctx := testCc(t, `