summaryrefslogtreecommitdiff
path: root/generate_app
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-07-22 17:51:52 +0100
committerSimon MacMullen <simon@rabbitmq.com>2011-07-22 17:51:52 +0100
commit118b59e2b3d2ef3ddefe60a3ef5514a7a8de7420 (patch)
tree4f9888a6720df4e296614e6004e24e8ba4ee0ad5 /generate_app
parentac62154a544c4903c2821668c74a9f111fa8b944 (diff)
parent57076e95920128cbd425e3e252cd4948aa6c0dd4 (diff)
downloadrabbitmq-server-git-118b59e2b3d2ef3ddefe60a3ef5514a7a8de7420.tar.gz
Merge in 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}])).