diff --git a/core/product.mk b/core/product.mk index 8976dd917..19e760b73 100644 --- a/core/product.mk +++ b/core/product.mk @@ -360,6 +360,11 @@ _product_list_vars += PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES _product_list_vars += PRODUCT_PACKAGE_NAME_OVERRIDES _product_list_vars += PRODUCT_CERTIFICATE_OVERRIDES +# A list of : pairs that specifies APEX module +# overrides to be applied to the APEX names in the boot jar variables +# (PRODUCT_BOOT_JARS, PRODUCT_UPDATABLE_BOOT_JARS etc). +_product_list_vars += PRODUCT_BOOT_JAR_MODULE_OVERRIDES + # Controls for whether different partitions are built for the current product. _product_single_value_vars += PRODUCT_BUILD_SYSTEM_IMAGE _product_single_value_vars += PRODUCT_BUILD_SYSTEM_OTHER_IMAGE diff --git a/core/product_config.mk b/core/product_config.mk index 11ffadea0..d703ee31b 100644 --- a/core/product_config.mk +++ b/core/product_config.mk @@ -238,6 +238,19 @@ PRODUCT_BOOT_JARS += $(PRODUCT_BOOT_JARS_EXTRA) PRODUCT_BOOT_JARS := $(foreach pair,$(PRODUCT_BOOT_JARS), \ $(if $(findstring :,$(pair)),,platform:)$(pair)) +# Replaces references to overridden boot jar modules in a boot jars variable. +# $(1): Name of a boot jars variable with : pairs. +define replace-boot-jar-module-overrides + $(foreach pair,$(PRODUCT_BOOT_JAR_MODULE_OVERRIDES),\ + $(eval _rbjmo_from := $(call word-colon,1,$(pair)))\ + $(eval _rbjmo_to := $(call word-colon,2,$(pair)))\ + $(eval $(1) := $(patsubst $(_rbjmo_from):%,$(_rbjmo_to):%,$($(1))))) +endef + +$(call replace-boot-jar-module-overrides,PRODUCT_BOOT_JARS) +$(call replace-boot-jar-module-overrides,PRODUCT_UPDATABLE_BOOT_JARS) +$(call replace-boot-jar-module-overrides,ART_APEX_JARS) + # The extra system server jars must be appended at the end after common system server jars. PRODUCT_SYSTEM_SERVER_JARS += $(PRODUCT_SYSTEM_SERVER_JARS_EXTRA)