Add java_sdk_library enforcement flags to product.mk
Add flags that is used for java_sdk_library enforcement
to product.mk.
PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY is flag
for enabling java_sdk_library enforcement.
PRODUCT_INTER_PARTITION_JAVA_LIBRARY_ALLOWLIST is allowlist
for java_sdk_library enforcement, and it is consists of name
of dependency modules.
Test: m nothing
Bug: 168180538
Change-Id: I8743d9475be53b16f2c9e43d731c576bc56ddfbc
diff --git a/core/product.mk b/core/product.mk
index 5f06141..bfdeb8b 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -405,6 +405,20 @@
# If set, Java module in product partition cannot use hidden APIs.
_product_single_value_vars += PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE
+# If set, only java_sdk_library can be used at inter-partition dependency.
+# Note: Build error if BOARD_VNDK_VERSION is not set while
+# PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY is true, because
+# PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY has no meaning if
+# BOARD_VNDK_VERSION is not set.
+# Note: When PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE is not set, there are
+# no restrictions at dependency between system and product partition.
+_product_single_value_vars += PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY
+
+# Allowlist for PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY option.
+# Listed modules are allowed at inter-partition dependency even if it isn't
+# a java_sdk_library module.
+_product_list_vars += PRODUCT_INTER_PARTITION_JAVA_LIBRARY_ALLOWLIST
+
_product_single_value_vars += PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES
.KATI_READONLY := _product_single_value_vars _product_list_vars