Support Soong-generated module-info.json entries
Allow Soong modules to generate their own module-info.json entries by merging Soong's module-info.json file into the one generated in Make. Skip collecting unnecessary ALL_MODULES.$(my_register_name).* that are only used for module-info.json if the module was already handled by Soong via the LOCAL_SOONG_MODULE_INFO_JSON property. Bug: 309006256 Test: Compare module-info.json Change-Id: I2c9db3c7c7bae7bd6cb889d7ebc2e383c278c82d
This commit is contained in:
@@ -13,10 +13,15 @@ define write-optional-json-bool
|
||||
$(if $(strip $(2)),'$(COMMA)$(strip $(1)): "$(strip $(2))"')
|
||||
endef
|
||||
|
||||
$(MODULE_INFO_JSON):
|
||||
SOONG_MODULE_INFO := $(SOONG_OUT_DIR)/module-info-$(TARGET_PRODUCT).json
|
||||
|
||||
$(MODULE_INFO_JSON): PRIVATE_SOONG_MODULE_INFO := $(SOONG_MODULE_INFO)
|
||||
$(MODULE_INFO_JSON): PRIVATE_MERGE_JSON_OBJECTS := $(HOST_OUT_EXECUTABLES)/merge_module_info_json
|
||||
$(MODULE_INFO_JSON): $(HOST_OUT_EXECUTABLES)/merge_module_info_json
|
||||
$(MODULE_INFO_JSON): $(SOONG_MODULE_INFO)
|
||||
@echo Generating $@
|
||||
$(hide) echo -ne '{\n ' > $@
|
||||
$(hide) echo -ne $(KATI_foreach_sep m,$(COMMA)$(_NEWLINE), $(sort $(ALL_MODULES)),\
|
||||
$(hide) echo -ne '{\n ' > $@.tmp
|
||||
$(hide) echo -ne $(KATI_foreach_sep m,$(COMMA)$(_NEWLINE), $(sort $(ALL_MAKE_MODULE_INFO_JSON_MODULES)),\
|
||||
'"$(m)": {' \
|
||||
'"module_name": "$(ALL_MODULES.$(m).MODULE_NAME)"' \
|
||||
$(call write-optional-json-list, "class", $(sort $(ALL_MODULES.$(m).CLASS))) \
|
||||
@@ -43,7 +48,9 @@ $(MODULE_INFO_JSON):
|
||||
$(call write-optional-json-list, "supported_variants", $(sort $(ALL_MODULES.$(m).SUPPORTED_VARIANTS))) \
|
||||
$(call write-optional-json-list, "host_dependencies", $(sort $(ALL_MODULES.$(m).HOST_REQUIRED_FROM_TARGET))) \
|
||||
$(call write-optional-json-list, "target_dependencies", $(sort $(ALL_MODULES.$(m).TARGET_REQUIRED_FROM_HOST))) \
|
||||
'}')'\n}\n' >> $@
|
||||
'}')'\n}\n' >> $@.tmp
|
||||
$(PRIVATE_MERGE_JSON_OBJECTS) -o $@ $(PRIVATE_SOONG_MODULE_INFO) $@.tmp
|
||||
rm $@.tmp
|
||||
|
||||
|
||||
droidcore-unbundled: $(MODULE_INFO_JSON)
|
||||
|
Reference in New Issue
Block a user