瀏覽代碼

Share format_errors/format_warnings functions

pull/3/head
Tuncer Ayaz 13 年之前
父節點
當前提交
dff60918cb
共有 2 個檔案被更改,包括 22 行新增19 行删除
  1. +16
    -1
      src/rebar_base_compiler.erl
  2. +6
    -18
      src/rebar_erlc_compiler.erl

+ 16
- 1
src/rebar_base_compiler.erl 查看文件

@ -28,7 +28,8 @@
-include("rebar.hrl").
-export([run/4, run/7, run/8]).
-export([run/4, run/7, run/8,
format_errors/2, format_warnings/2]).
%% ===================================================================
@ -79,6 +80,11 @@ run(Config, FirstFiles, SourceDir, SourceExt, TargetDir, TargetExt,
simple_compile_wrapper(S, Target, Compile3Fn, C, CheckLastMod)
end).
format_errors(Source, Errors) ->
format_errors(Source, "", Errors).
format_warnings(Source, Warnings) ->
format_errors(Source, "Warning: ", Warnings).
%% ===================================================================
%% Internal functions
@ -215,3 +221,12 @@ maybe_report(_) ->
report(Messages) ->
lists:foreach(fun(Msg) -> io:format("~s~n", [Msg]) end, Messages).
format_errors(Source, Extra, Errors) ->
AbsSource = filename:absname(Source),
[lists:append([format_error(AbsSource, Extra, Desc) || Desc <- Descs])
|| {_, Descs} <- Errors].
format_error(AbsSource, Extra, {Line, Mod, Desc}) ->
ErrorDesc = Mod:format_error(Desc),
?FMT("~s:~b: ~s~s", [AbsSource, Line, Extra, ErrorDesc]).

+ 6
- 18
src/rebar_erlc_compiler.erl 查看文件

@ -262,27 +262,15 @@ internal_erl_compile(Source, Config, Outdir, ErlOpts) ->
{ok, _Mod} ->
ok;
{ok, _Mod, Ws} ->
{ok, format_errors(Source, "Warning: ", Ws)};
{ok, rebar_base_compiler:format_warnings(Source, Ws)};
{error, Es, Ws} ->
{error, format_errors(Source, Es),
format_errors(Source, "Warning: ", Ws)}
{error, rebar_base_compiler:format_errors(Source, Es),
rebar_base_compiler:format_warnings(Source, Ws)}
end;
false ->
skipped
end.
format_errors(Source, Errors) ->
format_errors(Source, "", Errors).
format_errors(Source, Extra, Errors) ->
AbsSource = filename:absname(Source),
[lists:append([format_error(AbsSource, Extra, Desc) || Desc <- Descs])
|| {_, Descs} <- Errors].
format_error(AbsSource, Extra, {Line, Mod, Desc}) ->
ErrorDesc = Mod:format_error(Desc),
?FMT("~s:~b: ~s~s", [AbsSource, Line, Extra, ErrorDesc]).
-spec compile_mib(Source::file:filename(), Target::file:filename(),
Config::rebar_config:config()) -> 'ok'.
compile_mib(Source, Target, Config) ->
@ -322,10 +310,10 @@ compile_xrl_yrl(Source, Target, Opts, Mod) ->
{ok, _} ->
ok;
{ok, _Mod, Ws} ->
{ok, format_errors(Source, "Warning: ", Ws)};
{ok, rebar_base_compiler:format_warnings(Source, Ws)};
{error, Es, Ws} ->
{error, format_errors(Source, Es),
format_errors(Source, "Warning: ", Ws)}
{error, rebar_base_compiler:format_errors(Source, Es),
rebar_base_compiler:format_warnings(Source, Ws)}
end;
false ->
skipped

Loading…
取消
儲存