From 48bd6f53f4d866895372631e200ac640140c28b1 Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Wed, 6 Apr 2016 14:48:30 -0700 Subject: [PATCH] Add generation of a module-info.json file This outputs all of the modules that the build system knows about for this invocation. Change-Id: I8f95f3f8443c18f7898ce90e287432cbd2b6db6d --- core/tasks/module-info.mk | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 core/tasks/module-info.mk diff --git a/core/tasks/module-info.mk b/core/tasks/module-info.mk new file mode 100644 index 000000000..e9b2ac7a9 --- /dev/null +++ b/core/tasks/module-info.mk @@ -0,0 +1,24 @@ +# 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)", )], ' \ + '},\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 +