Add rebar_utils:delayed_halt/1

This commit is contained in:
Tuncer Ayaz 2012-01-13 20:03:13 +01:00
parent dd22eb4814
commit da122b3e57
4 changed files with 18 additions and 7 deletions

View file

@ -1,2 +1,2 @@
rebar_utils.erl:151: Call to missing or unexported function escript:foldl/3
rebar_utils.erl:152: Call to missing or unexported function escript:foldl/3

View file

@ -238,9 +238,7 @@ show_info_maybe_halt(O, Opts, F) ->
case proplists:get_bool(O, Opts) of
true ->
F(),
halt(0),
%% workaround to delay exit until all output is written
receive after infinity -> ok end;
rebar_utils:delayed_halt(0);
false ->
false
end.

View file

@ -45,7 +45,8 @@
deprecated/3, deprecated/4,
expand_env_variable/3,
vcs_vsn/2,
get_deprecated_global/3]).
get_deprecated_global/3,
delayed_halt/1]).
-include("rebar.hrl").
@ -137,7 +138,7 @@ ensure_dir(Path) ->
-spec abort(string(), [term()]) -> no_return().
abort(String, Args) ->
?ERROR(String, Args),
halt(1).
delayed_halt(1).
%% TODO: Rename emulate_escript_foldl to escript_foldl and remove
%% this function when the time is right. escript:foldl/3 was an
@ -270,6 +271,18 @@ deprecated(Old, New, When) ->
"'~p' will be removed ~s.~n~n">>,
[Old, Old, New, Old, When]).
-spec delayed_halt(integer()) -> no_return().
delayed_halt(Code) ->
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.
%% ====================================================================
%% Internal functions
%% ====================================================================

View file

@ -1,2 +1,2 @@
==> rebar (xref)
src/rebar_utils.erl:145: Warning escript_foldl/3 calls undefined function escript:foldl/3
src/rebar_utils.erl:146: Warning escript_foldl/3 calls undefined function escript:foldl/3