Make sure to add ebin/ to current path when compiling doterl files; found by @sj_mackenzie

This commit is contained in:
Dave Smith 2010-02-16 15:16:19 -07:00
parent 6714d47efb
commit b0dfd233ae

View file

@ -56,7 +56,7 @@ clean(_Config, _AppFile) ->
%% 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
%% satisfy our criteria.
BeamFiles = rebar_utils:find_files("ebin", "^.*\\.beam$"),
BeamFiles = rebar_utils:find_files("ebin", "^.*\\.beam\$"),
rebar_file_utils:delete_each(BeamFiles),
lists:foreach(fun(Dir) -> delete_dir(Dir, dirs(Dir)) end, dirs("ebin")),
ok.
@ -79,8 +79,14 @@ doterl_compile(Config, OutDir, MoreSources) ->
SrcDirs = src_dirs(proplists:append_values(src_dirs, ErlOpts)),
RestErls = [Source || Source <- gather_src(SrcDirs, []) ++ MoreSources,
lists:member(Source, FirstErls) == false],
%% Make sure that ebin/ is on the path
CurrPath = code:get_path(),
code:add_path("ebin"),
rebar_base_compiler:run(Config, FirstErls, RestErls,
fun(S, C) -> internal_erl_compile(S, C, OutDir) end).
fun(S, C) -> internal_erl_compile(S, C, OutDir) end),
code:set_path(CurrPath),
ok.
%% ===================================================================