Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1be3bddb authored by Cole Faust's avatar Cole Faust Committed by Gerrit Code Review
Browse files

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
parents b760b469 e050e8fe
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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
+14 −8
Original line number Diff line number Diff line
@@ -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

+11 −5
Original line number Diff line number Diff line
@@ -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."""