diff options
| author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-08-05 10:03:12 +0100 |
|---|---|---|
| committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-08-05 10:03:12 +0100 |
| commit | f72086292bc13dcd5cbb9aa2e5aa9eacc6602d42 (patch) | |
| tree | 2e15724d608a1d9733ba8d9c3dc2fed3676944b3 /generate_app | |
| parent | 625f9b72b3f8469f5e9935f3347b13e3ae1ae419 (diff) | |
| parent | 36d6750b0f984a105c448609cb29f9037193d8b0 (diff) | |
| download | rabbitmq-server-git-f72086292bc13dcd5cbb9aa2e5aa9eacc6602d42.tar.gz | |
merge default into bug23056
Diffstat (limited to 'generate_app')
| -rw-r--r-- | generate_app | 18 |
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}])). |
