diff options
Diffstat (limited to 'src/rebar_prv_unlock.erl')
-rw-r--r-- | src/rebar_prv_unlock.erl | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/rebar_prv_unlock.erl b/src/rebar_prv_unlock.erl index 51c57ab..8480991 100644 --- a/src/rebar_prv_unlock.erl +++ b/src/rebar_prv_unlock.erl @@ -49,8 +49,8 @@ do(State) -> {ok, _} -> Locks = rebar_config:consult_lock_file(LockFile), case handle_unlocks(State, Locks, LockFile) of - ok -> - {ok, State}; + {ok, NewLocks} -> + {ok, rebar_state:set(State, {locks, default}, NewLocks)}; {error, Reason} -> ?PRV_ERROR({file,Reason}) end @@ -69,11 +69,14 @@ handle_unlocks(State, Locks, LockFile) -> Names = parse_names(rebar_utils:to_binary(proplists:get_value(package, Args, <<"">>))), case [Lock || Lock = {Name, _, _} <- Locks, not lists:member(Name, Names)] of [] -> - file:delete(LockFile); + file:delete(LockFile), + {ok, []}; _ when Names =:= [] -> % implicitly all locks - file:delete(LockFile); + file:delete(LockFile), + {ok, []}; NewLocks -> - rebar_config:write_lock_file(LockFile, NewLocks) + rebar_config:write_lock_file(LockFile, NewLocks), + {ok, NewLocks} end. parse_names(Bin) -> |