浏览代码

Take 323 on cleaning package dirs from ebin

pull/3/head
Dave Smith 15 年前
父节点
当前提交
21f60bff74
共有 1 个文件被更改,包括 12 次插入4 次删除
  1. +12
    -4
      src/rebar_erlc_compiler.erl

+ 12
- 4
src/rebar_erlc_compiler.erl 查看文件

@ -53,10 +53,14 @@ clean(_Config, _AppFile) ->
%% directory structure in ebin with .beam files within. As such, we want %% directory structure in ebin with .beam files within. As such, we want
%% to scan whatever is left in the ebin/ directory for sub-dirs which %% to scan whatever is left in the ebin/ directory for sub-dirs which
%% satisfy our criteria. TODO: Is there a better way to do this? %% satisfy our criteria. TODO: Is there a better way to do this?
BeamFiles = filelib:fold_files("ebin", "^.*\\.beam\$", true,
fun(F, BeamFiles) -> BeamFiles ++ [F] end, []),
rebar_file_utils:delete_each(BeamFiles),
ok.
Dirs = ordsets:from_list([base_dir(F) ||
F <- rebar_utils:find_files("ebin", "^.*\\.beam\$")]),
case Dirs of
[] ->
ok;
_ ->
ok = rebar_file_utils:rm_rf(string:join(Dirs, " "))
end.
@ -159,3 +163,7 @@ compile_mib(Source, _Target, Config) ->
{error, compilation_failed} -> {error, compilation_failed} ->
?FAIL ?FAIL
end. end.
base_dir(Filename) ->
["ebin" | Rest] = filename:split(Filename),
filename:join("ebin", hd(Rest)).

正在加载...
取消
保存