liyujie
2025-08-29 87c7c0d90966d729ca3d39cbfca77a39a43960eb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 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)", )], ' \
           '},\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))