By design doc: go/aidegen-doc-generate-R In order to generate R.java of app modules, AIDEGen needs to build the module. It might cause system.img oversized so we turn to build the target srcjar file if it exists in module-info.json. Build module-info.json without this change: Build time: 1m47.227s File size: 14,186,429 Bytes Build module-info.json with this change: Build time: 1m46.796s File size: 14,614,470 Bytes Bug: 132407603 Test: 1. m out/target/product/generic_x86_64/module-info.json 2. by grep "target/common/obj/APPS/Settings_intermediates/aapt2.srcjar" in module-info.json. Change-Id: I09c812aede0324bc38acbead0a863a85ae15b33e
33 lines
1.4 KiB
Makefile
33 lines
1.4 KiB
Makefile
# Print a list of the modules that could be built
|
|
|
|
MODULE_INFO_JSON := $(PRODUCT_OUT)/module-info.json
|
|
|
|
$(MODULE_INFO_JSON):
|
|
@echo Generating $@
|
|
$(hide) echo -ne '{\n ' > $@
|
|
$(hide) echo -ne $(foreach m, $(sort $(ALL_MODULES)), \
|
|
' "$(m)": {' \
|
|
'"class": [$(foreach w,$(sort $(ALL_MODULES.$(m).CLASS)),"$(w)", )], ' \
|
|
'"path": [$(foreach w,$(sort $(ALL_MODULES.$(m).PATH)),"$(w)", )], ' \
|
|
'"tags": [$(foreach w,$(sort $(ALL_MODULES.$(m).TAGS)),"$(w)", )], ' \
|
|
'"installed": [$(foreach w,$(sort $(ALL_MODULES.$(m).INSTALLED)),"$(w)", )], ' \
|
|
'"compatibility_suites": [$(foreach w,$(sort $(ALL_MODULES.$(m).COMPATIBILITY_SUITES)),"$(w)", )], ' \
|
|
'"auto_test_config": [$(ALL_MODULES.$(m).auto_test_config)], ' \
|
|
'"module_name": "$(ALL_MODULES.$(m).MODULE_NAME)", ' \
|
|
'"test_config": [$(if $(ALL_MODULES.$(m).TEST_CONFIG),"$(ALL_MODULES.$(m).TEST_CONFIG)")], ' \
|
|
'"dependencies": [$(foreach w,$(sort $(ALL_DEPS.$(m).ALL_DEPS)),"$(w)", )], ' \
|
|
'"srcs": [$(foreach w,$(sort $(ALL_MODULES.$(m).SRCS)),"$(w)", )], ' \
|
|
'"srcjars": [$(foreach w,$(sort $(ALL_MODULES.$(m).SRCJARS)),"$(w)", )], ' \
|
|
'},\n' \
|
|
) | sed -e 's/, *\]/]/g' -e 's/, *\}/ }/g' -e '$$s/,$$//' >> $@
|
|
$(hide) echo '}' >> $@
|
|
|
|
|
|
# If ONE_SHOT_MAKEFILE is set, our view of the world is smaller, so don't
|
|
# rewrite the file in that came.
|
|
ifndef ONE_SHOT_MAKEFILE
|
|
droidcore: $(MODULE_INFO_JSON)
|
|
endif
|
|
|
|
$(call dist-for-goals, general-tests, $(MODULE_INFO_JSON))
|