Files
build/core/tasks/module-info.mk
yangbill f90b734c0c ATest: Change module_name from list to single string.
ATest's original module_name is designed as a single string.
The different type maybe cause some problem when loading module_name
data. Due to it expected it as a list but actually it will be a single
string after mod-info obj handling this data.

Bug: 113317515
Test: atest aapt2_tests
      atest hello_world_test
      atest BluetoothInstrumentationTests
      atest packages/apps/Bluetooth/tests/unit/Android.mk
      atest RunBluetoothRoboTests
      atest com.android.bluetooth
      atest libcore/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
        Multiple tests found:
	  0: libjavacore-unit-tests
          1: jsr166-tests
          2: core-ojtests-public
	  ...
      atest SSLSocketTest # Brings up 2 prompts, one for which file then one for which module
      make -j bit
      bit Settings
      bit hello_world_test
      bit BluetoothInstrumentationTests
      bit RunBluetoothRoboTests (Could not find module, but the same situation
          before applying this patch)


Change-Id: I46a14c675eabd7cebd82562954380a9a769e80b5
2018-08-30 05:06:32 +00:00

29 lines
1.1 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)")], ' \
'},\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
files: $(MODULE_INFO_JSON)
endif