summaryrefslogtreecommitdiff
path: root/src/rebar_prv_install_deps.erl
diff options
context:
space:
mode:
authorTristan Sloughter <t@crashfast.com>2014-09-27 14:12:11 -0500
committerTristan Sloughter <t@crashfast.com>2014-09-27 14:12:11 -0500
commite9a3396e56679a11ac1caa3b47f1f196f0307d72 (patch)
tree0fca145d934313ebfdc45565a78ed9d3ff99f948 /src/rebar_prv_install_deps.erl
parent1549b11b88dca340a1e471775d8387ca94e377e5 (diff)
return error messages from providers
Diffstat (limited to 'src/rebar_prv_install_deps.erl')
-rw-r--r--src/rebar_prv_install_deps.erl11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/rebar_prv_install_deps.erl b/src/rebar_prv_install_deps.erl
index 8071382..0092eaa 100644
--- a/src/rebar_prv_install_deps.erl
+++ b/src/rebar_prv_install_deps.erl
@@ -64,7 +64,7 @@ init(State) ->
opts = []}),
{ok, State1}.
--spec do(rebar_state:t()) -> {ok, rebar_state:t()}.
+-spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
do(State) ->
ProjectApps = rebar_state:project_apps(State),
{ok, State1} = case rebar_state:get(State, locks, []) of
@@ -123,9 +123,9 @@ handle_deps(State, Deps, Update) ->
end, S)
end,
- AllDeps = lists:keymerge(2, lists:keymerge(2
- ,rebar_state:src_apps(State2)
- ,Solved), SrcDeps),
+ AllDeps = lists:ukeymerge(2
+ ,lists:ukeysort(2, rebar_state:src_apps(State2))
+ ,lists:ukeysort(2, Solved)),
%% Sort all apps to build order
State3 = rebar_state:set(State2, all_deps, AllDeps),
@@ -191,7 +191,8 @@ update_src_deps(Level, State, Update) ->
,NewBinaryDeps++BinaryDepsAcc
,rebar_state:src_apps(StateAcc, AppInfo2)};
false ->
- {SrcDepsAcc, BinaryDepsAcc, State}
+ AppInfo1 = rebar_app_info:dep_level(AppInfo, Level),
+ {SrcDepsAcc, BinaryDepsAcc, rebar_state:src_apps(StateAcc, AppInfo1)}
end
end
end, {[], rebar_state:binary_deps(State), State}, SrcDeps) of