summaryrefslogtreecommitdiff
path: root/generate_app
blob: d8813542b0d8c8776d92899225ab82d4522275d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/env escript
%% -*- erlang -*-

main([TargetFile | SrcDirs]) ->
    Modules = [list_to_atom(filename:basename(F, ".erl")) ||
                  SrcDir <- SrcDirs,
                  F <- filelib:wildcard("*.erl", SrcDir)],
    {ok, {application, Application, Properties}} = io:read(''),
    NewProperties =
        case proplists:get_value(modules, Properties) of
            [] -> lists:keyreplace(modules, 1, Properties, {modules, Modules});
            _  -> Properties
        end,
    file:write_file(
      TargetFile,
      io_lib:format("~p.~n", [{application, Application, NewProperties}])).