summaryrefslogtreecommitdiff
path: root/generate_app
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
commit9050e3a145a7f9b6b27534a53cf6f685fe7bdbba (patch)
treefd64f0891d9ae382e23c33a1cedccc9f42b6c4ec /generate_app
parent4c3b56b7be499d5ad3570c56c6fca6048a8cfdeb (diff)
parent566c81566ace2a275d52cf9c6ffd310fe0158c92 (diff)
downloadrabbitmq-server-git-9050e3a145a7f9b6b27534a53cf6f685fe7bdbba.tar.gz
Merging bug24079 to default
Diffstat (limited to 'generate_app')
-rw-r--r--generate_app18
1 files changed, 11 insertions, 7 deletions
diff --git a/generate_app b/generate_app
index 576b485e1e..fb0eb1ea62 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}])).