summaryrefslogtreecommitdiff
path: root/generate_app
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2011-08-05 10:03:12 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2011-08-05 10:03:12 +0100
commitf72086292bc13dcd5cbb9aa2e5aa9eacc6602d42 (patch)
tree2e15724d608a1d9733ba8d9c3dc2fed3676944b3 /generate_app
parent625f9b72b3f8469f5e9935f3347b13e3ae1ae419 (diff)
parent36d6750b0f984a105c448609cb29f9037193d8b0 (diff)
downloadrabbitmq-server-git-f72086292bc13dcd5cbb9aa2e5aa9eacc6602d42.tar.gz
merge default into bug23056
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}])).