From efe6a4d74880ccf72b38910eeb0258abbebb4f10 Mon Sep 17 00:00:00 2001 From: Martin Stjernholm Date: Tue, 2 Mar 2021 13:54:45 +0000 Subject: [PATCH] Add a product variable to override APEX modules in boot jar lists. Test: m droid SOONG_CONFIG_art_module_source_build=false on internal branch Bug: 180325915 Change-Id: I3ab64860fe4a60468ec8dad6517d1d67f72f13c7 --- core/product.mk | 5 +++++ core/product_config.mk | 13 +++++++++++++ 2 files changed, 18 insertions(+) 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)