diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rebar_prv_cover.erl | 17 | 
1 files changed, 13 insertions, 4 deletions
| diff --git a/src/rebar_prv_cover.erl b/src/rebar_prv_cover.erl index 968a632..b62a796 100644 --- a/src/rebar_prv_cover.erl +++ b/src/rebar_prv_cover.erl @@ -15,7 +15,7 @@  -include("rebar.hrl").  -define(PROVIDER, cover). --define(DEPS, [compile]). +-define(DEPS, [lock]).  %% ===================================================================  %% Public API @@ -84,11 +84,20 @@ reset(State) ->      {ok, State}.  analyze(State) -> -    %% modules have to be cover compiled in order for -    %% cover data to be reloaded +    %% modules have to be compiled and then cover compiled +    %% in order for cover data to be reloaded      %% this maybe breaks if modules have been deleted      %% since code coverage was collected? -    ok = cover_compile(State, apps), +    case rebar_prv_compile:do(State) of +        %% successfully compiled apps +        {ok, S} -> +            ok = cover_compile(S, apps), +            do_analyze(State); +        %% this should look like a compiler error, not a cover error +        Error   -> Error +    end. + +do_analyze(State) ->      ?INFO("Performing cover analysis...", []),      %% figure out what coverdata we have      CoverDir = cover_dir(State), | 
