|
|
@ -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) -> |
|
|
|