|
|
@ -39,15 +39,18 @@ format_error(Reason) -> |
|
|
|
%% Internal functions |
|
|
|
|
|
|
|
print_deps_tree(SrcDeps, Verbose, State) -> |
|
|
|
Resources = rebar_state:resources(State), |
|
|
|
D = lists:foldl(fun(App, Dict) -> |
|
|
|
Name = rebar_app_info:name(App), |
|
|
|
Vsn = rebar_app_info:original_vsn(App), |
|
|
|
AppDir = rebar_app_info:dir(App), |
|
|
|
Vsn1 = rebar_utils:vcs_vsn(Vsn, AppDir, Resources), |
|
|
|
Source = rebar_app_info:source(App), |
|
|
|
Parent = rebar_app_info:parent(App), |
|
|
|
dict:append_list(Parent, [{Name, Vsn, Source}], Dict) |
|
|
|
dict:append_list(Parent, [{Name, Vsn1, Source}], Dict) |
|
|
|
end, dict:new(), SrcDeps), |
|
|
|
ProjectAppNames = [{rebar_app_info:name(App) |
|
|
|
,rebar_app_info:original_vsn(App) |
|
|
|
,rebar_utils:vcs_vsn(rebar_app_info:original_vsn(App), rebar_app_info:dir(App), Resources) |
|
|
|
,project} || App <- rebar_state:project_apps(State)], |
|
|
|
io:setopts([{encoding, unicode}]), |
|
|
|
case dict:find(root, D) of |
|
|
@ -80,6 +83,8 @@ print_children(Prefix, [{Name, Vsn, Source} | Rest], Dict, Verbose) -> |
|
|
|
|
|
|
|
type(project, _) -> |
|
|
|
"project app"; |
|
|
|
type(checkout, _) -> |
|
|
|
"checkout app"; |
|
|
|
type(Source, Verbose) when is_tuple(Source) -> |
|
|
|
case {element(1, Source), Verbose} of |
|
|
|
{pkg, _} -> |
|
|
|