summaryrefslogtreecommitdiff
path: root/src/rebar_prv_install_deps.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rebar_prv_install_deps.erl')
-rw-r--r--src/rebar_prv_install_deps.erl15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/rebar_prv_install_deps.erl b/src/rebar_prv_install_deps.erl
index 0092eaa..26d1712 100644
--- a/src/rebar_prv_install_deps.erl
+++ b/src/rebar_prv_install_deps.erl
@@ -74,7 +74,7 @@ do(State) ->
handle_deps(State, Locks)
end,
- Source = ProjectApps ++ rebar_state:src_deps(State1),
+ Source = ProjectApps ++ rebar_state:src_apps(State1),
{ok, Sort} = rebar_topo:sort_apps(Source),
{ok, rebar_state:set(State1, deps_to_build, lists:dropwhile(fun is_valid/1, Sort -- ProjectApps))}.
@@ -191,16 +191,21 @@ update_src_deps(Level, State, Update) ->
,NewBinaryDeps++BinaryDepsAcc
,rebar_state:src_apps(StateAcc, AppInfo2)};
false ->
- AppInfo1 = rebar_app_info:dep_level(AppInfo, Level),
- {SrcDepsAcc, BinaryDepsAcc, rebar_state:src_apps(StateAcc, AppInfo1)}
+ {AppInfo1, NewSrcDeps, NewBinaryDeps} =
+ handle_dep(DepsDir, AppInfo),
+ AppInfo2 = rebar_app_info:dep_level(AppInfo1, Level),
+ {NewSrcDeps ++ SrcDepsAcc
+ ,NewBinaryDeps++BinaryDepsAcc
+ ,rebar_state:src_apps(StateAcc, AppInfo2)}
end
end
end, {[], rebar_state:binary_deps(State), State}, SrcDeps) of
{[], NewBinaryDeps, State1} ->
rebar_state:binary_deps(State1, NewBinaryDeps);
- {_NewSrcDeps, NewBinaryDeps, State1} ->
+ {NewSrcDeps, NewBinaryDeps, State1} ->
State2 = rebar_state:binary_deps(State1, NewBinaryDeps),
- update_src_deps(Level+1, State2, Update)
+ State3 = rebar_state:src_deps(State2, NewSrcDeps),
+ update_src_deps(Level+1, State3, Update)
end.
-spec handle_dep(file:filename_all(), rebar_app_info:t()) ->