How to have clover2 coverage and deploy non-instrumented jars

Adelino Rocha December 10, 2015

Hi,

I'm not able to have code coverage and deploy un-instrumented jars on same maven build

By what says here:

https://confluence.atlassian.com/display/CLOVERKB/Maven+is+deploying+instrumented+jars

I should able to achieve that by using clover2:intstrument and / or clover2:instrument-test but it does not provides much more details.

If I execute something like this:

mvn -e -U -Pcoverage clean compile clover2:instrument-test test clover2:clover package

maven only produces instarumented jars in a specific location but no un-instrumented jars are produced (so packaging fails)

How can I have instrumented classes for clover to provide coverage but package un-instrumented classes in the default location ?

 

1 answer

0 votes
Grzegorz Lewandowski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 13, 2015
  1. instrument-test goal forks the lifecycle and runs only to test phase because of which it's not present during package phase, in order to generate jar with cloverized source code you shall use instrument goal
  2. In general when you call compile goal before instrument may cause calling this phase multiple times which is not necessary, because instrument forks the build lifecycle.

If that won't help, here's couple of additional questions to help determining what's going wrong in your env:

  1. What did you specified in the coverage profile ? Could you pass a snippet here ? 
  2. You're saying that packaging fails, with what error ?  Instrument mojo forks a lifecycle so it should not affect your normal build. 
  3. Is Clover reporting any errors ?

 

Note:

If you want to use newest Clover (currently 4.1.1) you have to redefine all references to clover-maven-plugin and call Clover goals by clover name, e.g clover:instrument, more info accessible here

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events