mad_release.erl 776 B

123456789101112131415161718192021
  1. -module(mad_release).
  2. -compile(export_all).
  3. release(Name,Apps) ->
  4. file:write_file("relx.config",list_to_binary(io_lib:format(
  5. "{release,{~s,\"1.0.0\"},~p}.\n"
  6. "{include_erts,true}.\n"
  7. "{extended_start_script,true}.\n"
  8. "{generate_start_script,true}.\n"
  9. "{sys_config,\"sys.config\"}.\n"
  10. "{overlay,[{mkdir,\"log/sasl\"}]}.\n",[Name,Apps]))).
  11. main([]) -> main(["sample"]);
  12. main(Params) ->
  13. [N|_] = Params,
  14. {ok,Apps} = mad_plan:orderapps(), %[ filename:basename(F) || F <- filelib:wildcard("{apps,deps}/*"), filelib:is_dir(F)],
  15. release(N,Apps),
  16. {_,Status,X} = sh:run("relx",[],binary,".",[]),
  17. case Status == 0 of
  18. true -> false;
  19. false -> io:format("Shell Error: ~s~n\r",[binary_to_list(X)]), true end.