summaryrefslogtreecommitdiff
path: root/src/rebar_prv_update.erl
diff options
context:
space:
mode:
authorTristan Sloughter <t@crashfast.com>2014-09-26 08:22:24 -0500
committerTristan Sloughter <t@crashfast.com>2014-09-26 08:22:24 -0500
commite392bfaec3942e63a88bb86a676fe4755ba84ce3 (patch)
tree7ae53deaeaee6c58c7d85dfbea72d94053f64aa3 /src/rebar_prv_update.erl
parent6efdd8cbfea393e8b9c2a8b9029b53f25aa0cef4 (diff)
update src dep works except for removed transitive deps
Diffstat (limited to 'src/rebar_prv_update.erl')
-rw-r--r--src/rebar_prv_update.erl12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/rebar_prv_update.erl b/src/rebar_prv_update.erl
index b599266..5180d4a 100644
--- a/src/rebar_prv_update.erl
+++ b/src/rebar_prv_update.erl
@@ -11,7 +11,7 @@
-include("rebar.hrl").
-define(PROVIDER, update).
--define(DEPS, [install_deps]).
+-define(DEPS, [lock]).
%% ===================================================================
%% Public API
@@ -33,10 +33,12 @@ init(State) ->
do(State) ->
case rebar_state:command_args(State) of
[Name] ->
- ?ERROR("NOT IMPLEMENTED: Updating ~s~n", [Name]),
- AllDeps = rebar_state:get(State, all_deps, []),
- {ok, _App} = rebar_app_utils:find(list_to_binary(Name), AllDeps),
- rebar_prv_install_deps:handle_deps(State, [list_to_atom(Name)], true),
+ ?ERROR("Updating ~s~n", [Name]),
+ Locks = rebar_state:get(State, locks, []),
+ {_, _, _, Level} = lists:keyfind(ec_cnv:to_binary(Name), 1, Locks),
+ Deps = rebar_state:get(State, deps),
+ Dep = lists:keyfind(list_to_atom(Name), 1, Deps),
+ rebar_prv_install_deps:handle_deps(State, [Dep], {true, ec_cnv:to_binary(Name), Level}),
{ok, State};
[] ->
?INFO("Updating package index...~n", []),