File: generate_app

package info (click to toggle)
rabbitmq-server 2.8.4-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 8,928 kB
  • sloc: erlang: 52,968; python: 2,846; xml: 1,987; sh: 816; makefile: 683; perl: 86; ruby: 63
file content (16 lines) | stat: -rw-r--r-- 622 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/env escript
%% -*- erlang -*-

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(
      OutFile,
      io_lib:format("~p.~n", [{application, Application, NewProperties}])).