orderapps.erl 815 B

1234567891011121314151617181920
  1. #!/usr/bin/env escript
  2. % This script boots up the Reltool Server for apps ordering
  3. % It also could generate reltool.config
  4. -module(orderapps).
  5. -compile([export_all]).
  6. relconfig(Apps) ->
  7. LibDirs = [Dir || Dir <- ["apps", "deps"], case file:read_file_info(Dir) of {ok, _} -> true; _ -> false end],
  8. {sys, [{lib_dirs,LibDirs}, {rel,"node","1",Apps}, {profile, embedded},
  9. {boot_rel,"node"}, {app,observer,[{incl_cond,exclude}]} ]}.
  10. main([]) -> io:format("usage: ./orderapps.erl apps~n", []);
  11. main(MainApps) ->
  12. Relconfig = relconfig([list_to_atom(A) || A <- MainApps]),
  13. {ok, Server} = reltool:start_server([{config, Relconfig}]),
  14. {ok, {release, _Node, _Erts, Apps}} = reltool_server:get_rel(Server, "node"),
  15. Ordered = [element(1, A) || A <- Apps],
  16. io:format("~w~n", [Ordered]).