소스 검색

Merge pull request #105 from tsloughter/master

do provider returns the error of the first provider to fail and stops
pull/109/head
Fred Hebert 10 년 전
부모
커밋
5528007751
1개의 변경된 파일15개의 추가작업 그리고 7개의 파일을 삭제
  1. +15
    -7
      src/rebar_prv_do.erl

+ 15
- 7
src/rebar_prv_do.erl 파일 보기

@ -33,13 +33,21 @@ init(State) ->
-spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
do(State) ->
Tasks = args_to_tasks(rebar_state:command_args(State)),
lists:foldl(fun(TaskArgs, {ok, StateAcc}) ->
[TaskStr | Args] = string:tokens(TaskArgs, " "),
Task = list_to_atom(TaskStr),
StateAcc1 = rebar_state:set(StateAcc, task, Task),
StateAcc2 = rebar_state:command_args(StateAcc1, Args),
rebar_core:process_command(StateAcc2, Task)
end, {ok, State}, Tasks).
do_tasks(Tasks, State).
do_tasks([], State) ->
{ok, State};
do_tasks([TaskArgs | Tail], State) ->
[TaskStr | Args] = string:tokens(TaskArgs, " "),
Task = list_to_atom(TaskStr),
State1 = rebar_state:set(State, task, Task),
State2 = rebar_state:command_args(State1, Args),
case rebar_core:process_command(State2, Task) of
{ok, State3} ->
do_tasks(Tail, State3);
Error ->
Error
end.
-spec format_error(any()) -> iolist().
format_error(Reason) ->

불러오는 중...
취소
저장