瀏覽代碼

Low hanging fruits for speedups

pull/2282/head
Fred Hebert 5 年之前
父節點
當前提交
9a2898a6ee
共有 1 個文件被更改,包括 7 次插入6 次删除
  1. +7
    -6
      src/rebar_compiler_erl.erl

+ 7
- 6
src/rebar_compiler_erl.erl 查看文件

@ -217,17 +217,18 @@ filename_to_atom(F) -> list_to_atom(filename:rootname(filename:basename(F))).
%% Get subset of SourceFiles which need to be recompiled, respecting
%% dependencies induced by given graph G.
needed_files(Graph, ErlOpts, RebarOpts, Dir, OutDir, SourceFiles) ->
PrivIncludes = [{i, filename:join(Dir, Src)}
|| Src <- rebar_dir:all_src_dirs(RebarOpts, ["src"], [])],
SharedOpts = [{i, filename:join(Dir, "include")},
{i, Dir}] ++ PrivIncludes ++ ErlOpts,
CompilerOptsSet = erl_compiler_opts_set(),
lists:filter(fun(Source) ->
TargetBase = target_base(OutDir, Source),
Target = TargetBase ++ ".beam",
PrivIncludes = [{i, filename:join(Dir, Src)}
|| Src <- rebar_dir:all_src_dirs(RebarOpts, ["src"], [])],
AllOpts = [{outdir, filename:dirname(Target)}
,{i, filename:join(Dir, "include")}
,{i, Dir}] ++ PrivIncludes ++ ErlOpts,
AllOpts = [{outdir, filename:dirname(Target)} | SharedOpts],
digraph:vertex(Graph, Source) > {Source, filelib:last_modified(Target)}
orelse opts_changed(Graph, AllOpts, Target, TargetBase)
orelse erl_compiler_opts_set()
orelse CompilerOptsSet
end, SourceFiles).
target_base(OutDir, Source) ->

Loading…
取消
儲存