mad_release.erl 809 B

12345678910111213141516171819202122
  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. "{vm_args,\"vm.args\"}.\n"
  10. "{sys_config,\"sys.config\"}.\n"
  11. "{overlay,[{mkdir,\"log/sasl\"}]}.\n",[Name,Apps]))).
  12. main([]) -> main(["sample"]);
  13. main(Params) ->
  14. [N|_] = Params,
  15. {ok,Apps} = mad_plan:orderapps(), %[ filename:basename(F) || F <- filelib:wildcard("{apps,deps}/*"), filelib:is_dir(F)],
  16. release(N,Apps),
  17. {_,Status,X} = sh:run("relx",[],binary,".",[]),
  18. case Status == 0 of
  19. true -> false;
  20. false -> io:format("Shell Error: ~s~n\r",[binary_to_list(X)]), true end.