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
This commit is contained in:
Martin Stjernholm 2021-03-02 13:54:45 +00:00
parent 36c1435ec4
commit efe6a4d748
2 changed files with 18 additions and 0 deletions

View file

@ -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 <overridden-apex>:<override-apex> 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

View file

@ -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 <apex>:<jar> 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)