Selaa lähdekoodia

print error message for failed fetch

pull/42/head
Tristan Sloughter 10 vuotta sitten
vanhempi
commit
91860340bb
3 muutettua tiedostoa jossa 12 lisäystä ja 29 poistoa
  1. +5
    -5
      src/rebar3.erl
  2. +7
    -2
      src/rebar_fetch.erl
  3. +0
    -22
      src/rebar_utils.erl

+ 5
- 5
src/rebar3.erl Näytä tiedosto

@ -47,9 +47,9 @@ main(Args) ->
{ok, _State} ->
ok;
rebar_abort ->
rebar_utils:delayed_halt(1);
erlang:halt(1);
{error, rebar_abort} ->
rebar_utils:delayed_halt(1);
erlang:halt(1);
{error, {Module, Reason}} ->
case code:which(Module) of
non_existing ->
@ -58,16 +58,16 @@ main(Args) ->
_ ->
?ERROR(Module:format_error(Reason), [])
end,
rebar_utils:delayed_halt(1);
erlang:halt(1);
{error, Error} when is_list(Error) ->
?ERROR(Error, []),
rebar_utils:delayed_halt(1);
erlang:halt(1);
Error ->
%% Nothing should percolate up from rebar_core;
%% Dump this error to console
?ERROR("Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace", []),
?DEBUG("Uncaught error: ~p", [Error]),
rebar_utils:delayed_halt(1)
erlang:halt(1)
end.
%% Erlang-API entry point

+ 7
- 2
src/rebar_fetch.erl Näytä tiedosto

@ -11,6 +11,8 @@
download_source/2,
needs_update/2]).
-export([format_error/1]).
-include("rebar.hrl").
%% map short versions of resources to module names
@ -47,8 +49,8 @@ download_source(AppDir, Source) ->
true
end
catch
_:E ->
{error, E}
_:_ ->
{error, {rebar_fetch, {fetch_fail, Source}}}
end.
-spec needs_update(file:filename_all(), rebar_resource:resource()) -> boolean() | {error, string()}.
@ -61,6 +63,9 @@ needs_update(AppDir, Source) ->
true
end.
format_error({fetch_fail, Source}) ->
io_lib:format("Failed to fetch and copy dep: ~p", [Source]).
get_resource_type({Type, Location}) ->
find_resource_module(Type, Location);
get_resource_type({Type, Location, _}) ->

+ 0
- 22
src/rebar_utils.erl Näytä tiedosto

@ -45,7 +45,6 @@
vcs_vsn/3,
deprecated/3,
deprecated/4,
delayed_halt/1,
erl_opts/1,
indent/1,
cleanup_code_path/1]).
@ -205,27 +204,6 @@ deprecated(Old, New, When) ->
"'~p' will be removed ~s.~n">>,
[Old, Old, New, Old, When]).
-spec delayed_halt(integer()) -> no_return().
delayed_halt(Code) ->
%% Work around buffer flushing issue in erlang:halt if OTP older
%% than R15B01.
%% TODO: remove workaround once we require R15B01 or newer
%% R15B01 introduced erlang:halt/2
case erlang:is_builtin(erlang, halt, 2) of
true ->
halt(Code);
false ->
case os:type() of
{win32, nt} ->
timer:sleep(100),
halt(Code);
_ ->
halt(Code),
%% workaround to delay exit until all output is written
receive after infinity -> ok end
end
end.
%% @doc Return list of erl_opts
-spec erl_opts(rebar_state:t()) -> list().
erl_opts(Config) ->

Ladataan…
Peruuta
Tallenna