@ -54,9 +54,6 @@
- define ( DEFAULT_OUTDIR , " ebin " ) .
- define ( RE_PREFIX , " ^[^._] " ) .
- type compiler_source_format ( ) : : absolute | relative | build .
- define ( DEFAULT_COMPILER_SOURCE_FORMAT , build ) .
% % == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == =
% % Public API
% % == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == =
@ -511,43 +508,20 @@ internal_erl_compile(Opts, Dir, Module, OutDir, ErlOpts) ->
{ ok , _ Mod } - >
ok ;
{ ok , _ Mod , Ws } - >
rebar_base_compiler : ok_tuple ( Module , Ws ) ;
FormattedWs = format_error_sources ( Ws , Opts ) ,
rebar_base_compiler : ok_tuple ( Module , FormattedWs ) ;
{ error , Es , Ws } - >
error_tuple ( Module , Es , Ws , AllOpts , source_format ( Opts ) )
error_tuple ( Module , Es , Ws , AllOpts , Opts )
end .
- spec source_format ( rebar_dict ( ) ) - > compiler_source_format ( ) .
source_format ( Opts ) - >
case rebar_opts : get ( Opts , compiler_source_format ,
? DEFAULT_COMPILER_SOURCE_FORMAT ) of
V when V == absolute ;
V == relative ;
V == build - > V ;
Other - >
? WARN ( " Invalid argument ~p for compiler_source_format - "
" assuming ~s ~n " , [ Other , ? DEFAULT_COMPILER_SOURCE_FORMAT ] ) ,
? DEFAULT_COMPILER_SOURCE_FORMAT
end .
error_tuple ( Module , Es , Ws , AllOpts , Opts ) - >
FormattedEs = format_error_sources ( Es , Opts ) ,
FormattedWs = format_error_sources ( Ws , Opts ) ,
rebar_base_compiler : error_tuple ( Module , FormattedEs , FormattedWs , AllOpts ) .
error_tuple ( Module , Es , Ws , Opts , SourceFormat ) - >
Cwd = rebar_dir : get_cwd ( ) ,
FormattedEs = format_error_sources ( Es , SourceFormat , Cwd ) ,
FormattedWs = format_error_sources ( Ws , SourceFormat , Cwd ) ,
rebar_base_compiler : error_tuple ( Module , FormattedEs , FormattedWs , Opts ) .
format_error_sources ( Es , Format , Cwd ) - >
[ { format_error_source ( Src , Format , Cwd ) , Desc } | | { Src , Desc } < - Es ] .
format_error_source ( Src , absolute , _ Cwd ) - >
resolve_linked_source ( Src ) ;
format_error_source ( Src , relative , Cwd ) - >
rebar_dir : make_relative_path ( resolve_linked_source ( Src ) , Cwd ) ;
format_error_source ( Src , build , _ Cwd ) - >
Src .
resolve_linked_source ( Src ) - >
{ Dir , Base } = rebar_file_utils : split_dirname ( Src ) ,
filename : join ( rebar_file_utils : resolve_link ( Dir ) , Base ) .
format_error_sources ( Es , Opts ) - >
[ { rebar_base_compiler : format_error_source ( Src , Opts ) , Desc }
| | { Src , Desc } < - Es ] .
target_base ( OutDir , Source ) - >
filename : join ( OutDir , filename : basename ( Source , " .erl " ) ) .