Selaa lähdekoodia

Manually format port_compiler errors with absolute path

pull/3/head
Tuncer Ayaz 13 vuotta sitten
vanhempi
commit
4e64e0c675
1 muutettua tiedostoa jossa 17 lisäystä ja 3 poistoa
  1. +17
    -3
      src/rebar_port_compiler.erl

+ 17
- 3
src/rebar_port_compiler.erl Näytä tiedosto

@ -214,16 +214,30 @@ compile_each([Source | Rest], Type, Env, NewBins) ->
Bin = replace_extension(Source, Ext, ".o"),
case needs_compile(Source, Bin) of
true ->
?CONSOLE("Compiling ~s\n", [Source]),
Template = select_compile_template(Type, compiler(Ext)),
rebar_utils:sh(expand_command(Template, Env, Source, Bin),
[{env, Env}]),
Cmd = expand_command(Template, Env, Source, Bin),
ShOpts = [{env, Env}, return_on_error, {use_stdout, false}],
exec_compiler(Source, Cmd, ShOpts),
compile_each(Rest, Type, Env, [Bin | NewBins]);
false ->
?INFO("Skipping ~s\n", [Source]),
compile_each(Rest, Type, Env, NewBins)
end.
exec_compiler(Source, Cmd, ShOpts) ->
case rebar_utils:sh(Cmd, ShOpts) of
{error, {_RC, RawError}} ->
AbsSource = filename:absname(Source),
?CONSOLE("Compiling ~s\n", [AbsSource]),
Error = re:replace(RawError, Source, AbsSource,
[{return, list}, global]),
?CONSOLE("~s", [Error]),
?ABORT;
{ok, Output} ->
?CONSOLE("Compiling ~s\n", [Source]),
?CONSOLE("~s", [Output])
end.
needs_compile(Source, Bin) ->
%% TODO: Generate depends using gcc -MM so we can also
%% check for include changes

Ladataan…
Peruuta
Tallenna