Separating out instrumented code and class files with Clover for Ant

Gareth Bowles November 20, 2011

Is it possible for Clover for Ant to generate instrumented source and class files into a separate directory from the uninstrumented files ? While searching the documentation I found references for enabling this with the IDE plugins, but not for the Ant targets.

I need to know whether this is possible in order to determine whether we can include Clover in our continuous integration builds, or whether we should create separate code coverage builds to generate the Clover data.

1 answer

1 accepted

0 votes
Answer accepted
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 24, 2012

Yes. You can use the clover-instr task for this purpose, for example:

<clover-instr srcdir="src" destdir="instr"/>

Gareth Bowles October 9, 2012

Thanks. We ended up giving up on Clover in favour of Cobertura, since Clover's method of instrumenting source as well as classes was too disruptive to our build system.

Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 10, 2012

Cobertura is quite good, although due to the bytecode instrumentation, it's less capable than Clover. Would you mind telling us what was "too disruptive" with Clover?

Gareth Bowles October 10, 2012

Sure - our Ant build system was set up to use EMMA for code coverage, which as you know only instruments byte code; it was pretty easy to separate out the instrumented classes for running tests while using non-instrumented classes for the distribution. With Clover, we had trouble filtering out instrumented classes from our distribution because it instruments the source as well, and so some of our compiled classes ended up with instrumentation in them. I'm sure we could have resolved this, but we felt it wasn't worth the effort since we get nearly all the features we need with Cobertura, for free. We've also been able to extend Cobertura for some custom requirements, since it's open source.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events