summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rebar3.erl10
-rw-r--r--src/rebar_fetch.erl9
-rw-r--r--src/rebar_utils.erl22
3 files changed, 12 insertions, 29 deletions
diff --git a/src/rebar3.erl b/src/rebar3.erl
index 24d9ad3..9d419d1 100644
--- a/src/rebar3.erl
+++ b/src/rebar3.erl
@@ -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
diff --git a/src/rebar_fetch.erl b/src/rebar_fetch.erl
index a1b3476..eac2d02 100644
--- a/src/rebar_fetch.erl
+++ b/src/rebar_fetch.erl
@@ -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, _}) ->
diff --git a/src/rebar_utils.erl b/src/rebar_utils.erl
index 21629a4..d899dc5 100644
--- a/src/rebar_utils.erl
+++ b/src/rebar_utils.erl
@@ -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) ->