diff options
-rw-r--r-- | THANKS | 1 | ||||
-rw-r--r-- | src/rebar_erlc_compiler.erl | 21 |
2 files changed, 12 insertions, 10 deletions
@@ -125,4 +125,3 @@ YeJun Su Yuki Ito alisdair sullivan Alexander Verbitsky -Pierre Fenoll diff --git a/src/rebar_erlc_compiler.erl b/src/rebar_erlc_compiler.erl index 16a7a35..5f541d9 100644 --- a/src/rebar_erlc_compiler.erl +++ b/src/rebar_erlc_compiler.erl @@ -119,7 +119,8 @@ clean(Config, _AppFile) -> YrlFiles = rebar_utils:find_files("src", "^.*\\.[x|y]rl\$"), rebar_file_utils:delete_each( - [re:replace(F, "\\.[xy]rl$", ".erl", [{return,list}]) || F <- YrlFiles]), + [ binary_to_list(iolist_to_binary(re:replace(F, "\\.[x|y]rl$", ".erl"))) + || F <- YrlFiles ]), %% Delete the build graph, if any rebar_file_utils:rm_rf(erlcinfo_file(Config)), @@ -148,9 +149,11 @@ test_compile(Config, Cmd, OutDir) -> %% in src but in a subdirectory of src. Cover only looks in cwd and ../src %% for source files. Also copy files from src_dirs. SrcDirs = rebar_utils:src_dirs(proplists:append_values(src_dirs, ErlOpts1)), - SrcErls = lists:flatmap( - fun (Dir) -> rebar_utils:find_files(Dir, ".*\\.erl$") end, - SrcDirs), + SrcErls = lists:foldl( + fun(Dir, Acc) -> + Files = rebar_utils:find_files(Dir, ".*\\.erl\$"), + lists:append(Acc, Files) + end, [], SrcDirs), %% If it is not the first time rebar eunit or rebar qc is executed, %% there will be source files already present in OutDir. Since some @@ -161,17 +164,17 @@ test_compile(Config, Cmd, OutDir) -> %% rebar_file_utils:cp_r. %% Get the full path to a file that was previously copied in OutDir - ToCleanUp = fun(F) -> + ToCleanUp = fun(F, Acc) -> F2 = filename:basename(F), F3 = filename:join([OutDir, F2]), case filelib:is_regular(F3) of - true -> F3; - false -> [] + true -> [F3|Acc]; + false -> Acc end end, - ok = rebar_file_utils:delete_each(lists:flatmap(ToCleanUp, TestErls)), - ok = rebar_file_utils:delete_each(lists:flatmap(ToCleanUp, SrcErls)), + ok = rebar_file_utils:delete_each(lists:foldl(ToCleanUp, [], TestErls)), + ok = rebar_file_utils:delete_each(lists:foldl(ToCleanUp, [], SrcErls)), ok = rebar_file_utils:cp_r(SrcErls ++ TestErls, OutDir), |