summaryrefslogtreecommitdiff
path: root/generate_app
blob: fb0eb1ea623b61c7c68b4207ab2142c411a027a2 (plain)
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}])).