Current section

Files

Jump to
mad src mad_bundle.erl
Raw

src/mad_bundle.erl

-module(mad_bundle).
-copyright('Maxim Sokhatsky').
-compile(export_all).
main(App) ->
EmuArgs = "-noshell -noinput",
Files = static() ++ beams(),
escript:create(App,[shebang,{comment,""},{emu_args,EmuArgs},{archive,Files,[memory]}]),
file:change_mode(App, 8#764),
false.
read_file(File) -> {ok, Bin} = file:read_file(filename:absname(File)), Bin.
static() -> Name = "static.gz",
{ok,{_,Bin}} = zip:create(Name,
[ F || F <- mad_repl:wildcards(["{apps,deps}/*/priv/**","priv/**"]), not filelib:is_dir(F) ],
[{compress,all},memory]), [ { Name, Bin } ].
beams() ->
[ { filename:basename(F), read_file(F) } || F <-
lists:concat([filelib:wildcard(X)||X <-
[ "ebin/*","{apps,deps}/*/ebin/*","sys.config",".applist"]])].