Merge "Use product-based inclusive rule for enforcing RRO" into oc-dev
diff --git a/core/main.mk b/core/main.mk
index 4fbfc73..8768b0b 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -503,7 +503,7 @@
ADDITIONAL_BUILD_PROPERTIES := $(strip $(ADDITIONAL_BUILD_PROPERTIES))
.KATI_READONLY := ADDITIONAL_BUILD_PROPERTIES
-ifeq ($(BOARD_ENFORCE_RRO),true)
+ifneq ($(PRODUCT_ENFORCE_RRO_TARGETS),)
ENFORCE_RRO_SOURCES :=
endif
@@ -577,7 +577,7 @@
# Enforce to generate all RRO packages for modules having resource
# overlays.
# -------------------------------------------------------------------
-ifeq ($(BOARD_ENFORCE_RRO),true)
+ifneq ($(PRODUCT_ENFORCE_RRO_TARGETS),)
$(call generate_all_enforce_rro_packages)
endif
diff --git a/core/package_internal.mk b/core/package_internal.mk
index 8a31552..bcdc72e 100644
--- a/core/package_internal.mk
+++ b/core/package_internal.mk
@@ -97,9 +97,11 @@
$(addprefix $(dir)/, $(LOCAL_RESOURCE_DIR)))))
enforce_rro_enabled :=
-ifeq ($(BOARD_ENFORCE_RRO),true)
- ifeq (,$(filter $(LOCAL_PACKAGE_NAME), $(BOARD_ENFORCE_RRO_EXEMPT_SOURCES)))
- ifneq ($(package_resource_overlays),)
+ifneq ($(PRODUCT_ENFORCE_RRO_TARGETS),)
+ ifneq ($(package_resource_overlays),)
+ ifeq ($(PRODUCT_ENFORCE_RRO_TARGETS),*)
+ enforce_rro_enabled := true
+ else ifneq (,$(filter $(LOCAL_PACKAGE_NAME), $(PRODUCT_ENFORCE_RRO_TARGETS)))
enforce_rro_enabled := true
endif
endif
@@ -702,4 +704,4 @@
$(enforce_rro_use_res_lib), \
$(package_resource_overlays) \
)
-endif # enforce_rro_enabled
\ No newline at end of file
+endif # enforce_rro_enabled
diff --git a/core/product.mk b/core/product.mk
index eeaf700..1e5a30e 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -94,6 +94,7 @@
PRODUCT_EXTRA_RECOVERY_KEYS \
PRODUCT_PACKAGE_OVERLAYS \
DEVICE_PACKAGE_OVERLAYS \
+ PRODUCT_ENFORCE_RRO_TARGETS \
PRODUCT_SDK_ATREE_FILES \
PRODUCT_SDK_ADDON_NAME \
PRODUCT_SDK_ADDON_COPY_FILES \
diff --git a/core/product_config.mk b/core/product_config.mk
index 5675f2f..57b7669 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -425,3 +425,7 @@
# Whether the product is an Android Things variant.
PRODUCT_IOT := \
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_IOT))
+
+# Package list to apply enforcing RRO.
+PRODUCT_ENFORCE_RRO_TARGETS := \
+ $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_ENFORCE_RRO_TARGETS))