VNDK lib must not have `product_specific: true`
VNDK libs are system defined libraries. They must not be product
specific. Adding sanity check and a test to prevent setting
`product_specific: true` on VNDK libs.
Bug: 119575107
Test: building a vndk lib with 'product_specific: true,'
must return error.
Change-Id: Ie0326540a692573f076ee08baf5d2e2f09d1007e
diff --git a/cc/cc_test.go b/cc/cc_test.go
index 3e78ec7..41f633a 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -492,6 +492,21 @@
`)
}
+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, `