summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLee GiTack <snaiper80@gmail.com>2016-04-18 10:21:42 +0900
committerLee GiTack <snaiper80@gmail.com>2016-04-18 10:21:42 +0900
commitb9d43cd8cd1771bdbedac0875cda920c68ee1e7f (patch)
tree32a63a1ccd8736892baf82dde6df21e1364d7845 /src
parent8fe2d0c8a4601955665a8955906b70bbbb9767de (diff)
Fix compile error case when cover compilation
Dependent libs is required for some module when cover compiling. So all dependencies should be available on code path. This fixes #1148 issue.
Diffstat (limited to 'src')
-rw-r--r--src/rebar_prv_cover.erl5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rebar_prv_cover.erl b/src/rebar_prv_cover.erl
index c915141..87153e4 100644
--- a/src/rebar_prv_cover.erl
+++ b/src/rebar_prv_cover.erl
@@ -299,6 +299,7 @@ cover_compile(State, apps) ->
ExtraDirs = extra_src_dirs(State, Apps),
cover_compile(State, lists:filter(fun(D) -> ec_file:is_dir(D) end, AppDirs ++ ExtraDirs));
cover_compile(State, Dirs) ->
+ rebar_utils:update_code(rebar_state:code_paths(State, all_deps), [soft_purge]),
%% start the cover server if necessary
{ok, CoverPid} = start_cover(),
%% redirect cover output
@@ -316,7 +317,9 @@ cover_compile(State, Dirs) ->
%% print any warnings about modules that failed to cover compile
lists:foreach(fun print_cover_warnings/1, lists:flatten(Results))
end
- end, Dirs).
+ end, Dirs),
+ rebar_utils:cleanup_code_path(rebar_state:code_paths(State, default)),
+ ok.
app_dirs(Apps) ->
lists:foldl(fun app_ebin_dirs/2, [], Apps).