Current information is not enough if the prebuilt modules are depend on AAR libs Therefore, AIDEGen has to collect the classes.jar of the prebuilt modules from build system. Build module-info.json without this change: Build time: 1m55.001s File size: 14,918,354 Bytes Build module-info.json with this change: Build time: 1m56.292s File size: 15,577,031 Bytes Bug: 132768299 Test: 1. Checkout the internal master branch 2. Patch this CL 3. m -j out/target/product/generic_x86_64/module-info.json 4. Open the module-info.json 5. For verifying soong_java_prebuilt.mk, check the classes.jar of module prebuilt-google-play-* exists. e.g. "prebuilt-google-play-...": { ... "classes_jar": [ "out/target/common/obj/JAVA_LIBRARIES/ prebuilt-google-..._intermediates/classes.jar" ] } 5. For verifying java_prebuilt_internal.mk, check the classes.jar of module ink exists. e.g. "ink": { ... "classes_jar": [ "out/target/common/obj/JAVA_LIBRARIES/ink_intermediates/ classes.jar" ] } Change-Id: I09518c92260db47d2686493fa13951f316159d13
34 lines
1.5 KiB
Makefile
34 lines
1.5 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)", )], ' \
|
|
'"classes_jar": [$(foreach w,$(sort $(ALL_MODULES.$(m).CLASSES_JAR)),"$(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))
|