2016-04-06 23:48:30 +02:00
|
|
|
# Print a list of the modules that could be built
|
2022-02-08 09:59:21 +01:00
|
|
|
# Currently runtime_dependencies only include the runtime libs information for cc binaries.
|
2016-04-06 23:48:30 +02:00
|
|
|
|
|
|
|
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)", )], ' \
|
2017-11-29 00:04:40 +01:00
|
|
|
'"compatibility_suites": [$(foreach w,$(sort $(ALL_MODULES.$(m).COMPATIBILITY_SUITES)),"$(w)", )], ' \
|
2017-12-07 00:57:31 +01:00
|
|
|
'"auto_test_config": [$(ALL_MODULES.$(m).auto_test_config)], ' \
|
2018-08-28 14:40:42 +02:00
|
|
|
'"module_name": "$(ALL_MODULES.$(m).MODULE_NAME)", ' \
|
2020-08-22 01:48:37 +02:00
|
|
|
'"test_config": [$(foreach w,$(strip $(ALL_MODULES.$(m).TEST_CONFIG) $(ALL_MODULES.$(m).EXTRA_TEST_CONFIGS)),"$(w)", )], ' \
|
2018-09-12 11:39:32 +02:00
|
|
|
'"dependencies": [$(foreach w,$(sort $(ALL_DEPS.$(m).ALL_DEPS)),"$(w)", )], ' \
|
2021-10-13 10:25:35 +02:00
|
|
|
'"shared_libs": [$(foreach w,$(sort $(ALL_MODULES.$(m).SHARED_LIBS)),"$(w)", )], ' \
|
2023-05-15 20:08:30 +02:00
|
|
|
'"static_libs": [$(foreach w,$(sort $(ALL_MODULES.$(m).STATIC_LIBS)),"$(w)", )], ' \
|
2021-10-13 10:25:35 +02:00
|
|
|
'"system_shared_libs": [$(foreach w,$(sort $(ALL_MODULES.$(m).SYSTEM_SHARED_LIBS)),"$(w)", )], ' \
|
2018-09-12 11:39:32 +02:00
|
|
|
'"srcs": [$(foreach w,$(sort $(ALL_MODULES.$(m).SRCS)),"$(w)", )], ' \
|
2019-05-10 09:34:26 +02:00
|
|
|
'"srcjars": [$(foreach w,$(sort $(ALL_MODULES.$(m).SRCJARS)),"$(w)", )], ' \
|
2019-05-27 12:48:21 +02:00
|
|
|
'"classes_jar": [$(foreach w,$(sort $(ALL_MODULES.$(m).CLASSES_JAR)),"$(w)", )], ' \
|
2020-08-27 18:19:53 +02:00
|
|
|
'"test_mainline_modules": [$(foreach w,$(sort $(ALL_MODULES.$(m).TEST_MAINLINE_MODULES)),"$(w)", )], ' \
|
2021-01-08 10:36:56 +01:00
|
|
|
'"is_unit_test": "$(ALL_MODULES.$(m).IS_UNIT_TEST)", ' \
|
2022-08-05 14:51:50 +02:00
|
|
|
'"test_options_tags": [$(foreach w,$(sort $(ALL_MODULES.$(m).TEST_OPTIONS_TAGS)),"$(w)", )], ' \
|
2021-12-21 11:59:33 +01:00
|
|
|
'"data": [$(foreach w,$(sort $(ALL_MODULES.$(m).TEST_DATA)),"$(w)", )], ' \
|
2022-02-08 09:59:21 +01:00
|
|
|
'"runtime_dependencies": [$(foreach w,$(sort $(ALL_MODULES.$(m).LOCAL_RUNTIME_LIBRARIES)),"$(w)", )], ' \
|
2022-08-31 11:46:13 +02:00
|
|
|
'"static_dependencies": [$(foreach w,$(sort $(ALL_MODULES.$(m).LOCAL_STATIC_LIBRARIES)),"$(w)", )], ' \
|
2022-02-11 11:27:32 +01:00
|
|
|
'"data_dependencies": [$(foreach w,$(sort $(ALL_MODULES.$(m).TEST_DATA_BINS)),"$(w)", )], ' \
|
2022-02-18 08:27:53 +01:00
|
|
|
'"supported_variants": [$(foreach w,$(sort $(ALL_MODULES.$(m).SUPPORTED_VARIANTS)),"$(w)", )], ' \
|
2022-06-27 10:43:23 +02:00
|
|
|
'"host_dependencies": [$(foreach w,$(sort $(ALL_MODULES.$(m).HOST_REQUIRED_FROM_TARGET)),"$(w)", )], ' \
|
2022-09-19 10:02:48 +02:00
|
|
|
'"target_dependencies": [$(foreach w,$(sort $(ALL_MODULES.$(m).TARGET_REQUIRED_FROM_HOST)),"$(w)", )], ' \
|
2016-04-06 23:48:30 +02:00
|
|
|
'},\n' \
|
|
|
|
) | sed -e 's/, *\]/]/g' -e 's/, *\}/ }/g' -e '$$s/,$$//' >> $@
|
|
|
|
$(hide) echo '}' >> $@
|
|
|
|
|
|
|
|
|
2021-06-16 04:35:06 +02:00
|
|
|
droidcore-unbundled: $(MODULE_INFO_JSON)
|
2016-04-06 23:48:30 +02:00
|
|
|
|
2018-09-06 21:23:11 +02:00
|
|
|
$(call dist-for-goals, general-tests, $(MODULE_INFO_JSON))
|
2021-06-16 04:35:06 +02:00
|
|
|
$(call dist-for-goals, droidcore-unbundled, $(MODULE_INFO_JSON))
|
2022-10-27 03:16:44 +02:00
|
|
|
|
|
|
|
# On every build, generate an all_modules.txt file to be used for autocompleting
|
|
|
|
# the m command. After timing this using $(shell date +"%s.%3N"), it only adds
|
|
|
|
# 0.01 seconds to the internal master build, and will only rerun on builds that
|
|
|
|
# rerun kati.
|
|
|
|
$(file >$(PRODUCT_OUT)/all_modules.txt,$(subst $(space),$(newline),$(ALL_MODULES)))
|