Merge changes from topic "colefaust_enforce_product_packages_exist"

* changes:
  Implement enforce_product_packages_exist
  Optionally dump RBC variables at the end of config.mk
This commit is contained in:
Cole Faust 2022-04-14 16:56:28 +00:00 committed by Gerrit Code Review
commit 1be3bddbfa
3 changed files with 29 additions and 13 deletions

View file

@ -35,3 +35,7 @@ dump-many-vars :
printf "'\n";)
endif # CALLED_FROM_SETUP
ifneq (,$(RBC_DUMP_CONFIG_FILE))
$(call dump-variables-rbc,$(RBC_DUMP_CONFIG_FILE))
endif

View file

@ -326,20 +326,26 @@ endif
# raw ones.
define dump-variables-rbc
$(eval _dump_variables_rbc_excluded := \
BOARD_PLAT_PRIVATE_SEPOLICY_DIR \
BOARD_PLAT_PUBLIC_SEPOLICY_DIR \
BUILD_NUMBER \
DATE \
LOCAL_PATH \
MAKEFILE_LIST \
PRODUCTS \
PRODUCT_COPY_OUT_% \
RBC_PRODUCT_CONFIG \
RBC_BOARD_CONFIG \
SOONG_% \
TOPDIR \
TRACE_BEGIN_SOONG \
BOARD_PLAT_PUBLIC_SEPOLICY_DIR \
BOARD_PLAT_PRIVATE_SEPOLICY_DIR \
USER \
SOONG_% \
PRODUCT_COPY_OUT_%)\
$(file >$(OUT_DIR)/dump-variables-rbc-temp.txt,$(subst $(space),$(newline),$(filter-out $(_dump_variables_rbc_excluded),$(.VARIABLES))))
USER)
$(file >$(OUT_DIR)/dump-variables-rbc-temp.txt,$(subst $(space),$(newline),$(sort $(filter-out $(_dump_variables_rbc_excluded),$(.VARIABLES)))))
$(file >$(1),\
$(foreach v, $(shell grep -he "^[A-Z][A-Z0-9_]*$$" $(OUT_DIR)/dump-variables-rbc-temp.txt),\
$(v) := $(strip $($(v)))$(newline))\
$(foreach ns,$(SOONG_CONFIG_NAMESPACES),\
$(foreach v,$(SOONG_CONFIG_$(ns)),\
$(foreach ns,$(sort $(SOONG_CONFIG_NAMESPACES)),\
$(foreach v,$(sort $(SOONG_CONFIG_$(ns))),\
$$(call soong_config_set,$(ns),$(v),$(SOONG_CONFIG_$(ns)_$(v)))$(newline))))
endef

View file

@ -162,7 +162,11 @@ def _product_configuration(top_pcm_name, top_pcm, input_variables_init):
globals["PRODUCTS."+name+".mk.ARTIFACT_PATH_ALLOWED_LIST"] = handle.artifact_path_allowed_list
globals["PRODUCTS."+name+".mk.ARTIFACT_PATH_REQUIREMENT_IS_RELAXED"] = "true" if handle.artifact_path_requirement_is_relaxed[0] else ""
globals.setdefault("ARTIFACT_PATH_REQUIREMENT_PRODUCTS", [])
globals["ARTIFACT_PATH_REQUIREMENT_PRODUCTS"] += [name+".mk"]
globals["ARTIFACT_PATH_REQUIREMENT_PRODUCTS"] = sorted(globals["ARTIFACT_PATH_REQUIREMENT_PRODUCTS"] + [name+".mk"])
if handle.product_enforce_packages_exist[0]:
globals["PRODUCTS."+name+".mk.PRODUCT_ENFORCE_PACKAGES_EXIST"] = "true"
globals["PRODUCTS."+name+".mk.PRODUCT_ENFORCE_PACKAGES_EXIST_ALLOW_LIST"] = handle.product_enforce_packages_exist_allow_list
# Now we know everything about this PCM, record it in 'configs'.
children = handle.inherited_modules
@ -434,6 +438,8 @@ def __h_new():
artifact_path_requirements = list(),
artifact_path_allowed_list = list(),
artifact_path_requirement_is_relaxed = [False], # as a list so that we can reassign it
product_enforce_packages_exist = [False],
product_enforce_packages_exist_allow_list = [],
)
def __h_cfg(handle):
@ -498,11 +504,11 @@ def _copy_if_exists(path_pair):
# Check that l[0] exists
return [":".join(value)] if rblf_file_exists(value[0]) else []
def _enforce_product_packages_exist(pkg_string_or_list):
def _enforce_product_packages_exist(handle, pkg_string_or_list=[]):
"""Makes including non-existent modules in PRODUCT_PACKAGES an error."""
#TODO(asmundak)
pass
handle.product_enforce_packages_exist[0] = True
handle.product_enforce_packages_exist_allow_list.clear()
handle.product_enforce_packages_exist_allow_list.extend(__words(pkg_string_or_list))
def _add_product_dex_preopt_module_config(handle, modules, config):
"""Equivalent to add-product-dex-preopt-module-config from build/make/core/product.mk."""