summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-05-27 13:47:43 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2011-05-27 13:47:43 +0100
commitfcbcf2ac0d8fa1230720adc317ef89dc5afeebeb (patch)
treefd64f0891d9ae382e23c33a1cedccc9f42b6c4ec
parent137c0553856888469b992df0ca537249bdb44c84 (diff)
parent0789c270868aef8676bc5e1c389f6051c48b8b00 (diff)
downloadrabbitmq-server-fcbcf2ac0d8fa1230720adc317ef89dc5afeebeb.tar.gz
Merging bug24079 to default
-rw-r--r--Makefile4
-rw-r--r--generate_app18
2 files changed, 13 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index e376b4ac..9c47c819 100644
--- a/Makefile
+++ b/Makefile
@@ -93,8 +93,8 @@ $(DEPS_FILE): $(SOURCES) $(INCLUDES)
rm -f $@
echo $(subst : ,:,$(foreach FILE,$^,$(FILE):)) | escript generate_deps $@ $(EBIN_DIR)
-$(EBIN_DIR)/rabbit.app: $(EBIN_DIR)/rabbit_app.in $(BEAM_TARGETS) generate_app
- escript generate_app $(EBIN_DIR) $@ < $<
+$(EBIN_DIR)/rabbit.app: $(EBIN_DIR)/rabbit_app.in $(SOURCES) generate_app
+ escript generate_app $< $@ $(SOURCE_DIR)
$(EBIN_DIR)/%.beam: $(SOURCE_DIR)/%.erl | $(DEPS_FILE)
erlc $(ERLC_OPTS) -pa $(EBIN_DIR) $<
diff --git a/generate_app b/generate_app
index 576b485e..fb0eb1ea 100644
--- a/generate_app
+++ b/generate_app
@@ -1,12 +1,16 @@
#!/usr/bin/env escript
%% -*- erlang -*-
-main([BeamDir, TargetFile]) ->
- Modules = [list_to_atom(filename:basename(F, ".beam")) ||
- F <- filelib:wildcard("*.beam", BeamDir)],
- {ok, {application, Application, Properties}} = io:read(''),
- NewProperties = lists:keyreplace(modules, 1, Properties,
- {modules, Modules}),
+main([InFile, OutFile | SrcDirs]) ->
+ Modules = [list_to_atom(filename:basename(F, ".erl")) ||
+ SrcDir <- SrcDirs,
+ F <- filelib:wildcard("*.erl", SrcDir)],
+ {ok, [{application, Application, Properties}]} = file:consult(InFile),
+ NewProperties =
+ case proplists:get_value(modules, Properties) of
+ [] -> lists:keyreplace(modules, 1, Properties, {modules, Modules});
+ _ -> Properties
+ end,
file:write_file(
- TargetFile,
+ OutFile,
io_lib:format("~p.~n", [{application, Application, NewProperties}])).