12345678910111213141516171819202122232425 |
- #!/usr/bin/env escript
- main(_) ->
- Files = lists:ukeysort(1, lists:flatten(files())),
- {ok, {"mad", ZipBin}} = zip:create("mad", Files, [memory]),
- Script = iolist_to_binary([
- "#!/usr/bin/env escript\n",
- "%% " ++ comment(),
- "%%! -pa mad/mad/ebin\n",
- ZipBin]),
- file:write_file("mad", Script),
- os:cmd("chmod +x mad").
- files() ->
- [read_file(F) || F <- filelib:wildcard("*", "ebin")].
- read_file(F) ->
- [[{"ebin/", <<>>}], {F, file_contents(F)}].
- file_contents(F) ->
- {ok, Bin} = file:read_file(filename:join("ebin", F)),
- Bin.
- comment() ->
- "Dependency manager for Erlang\n".
|