#!/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}])).
