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.
Yes. You can use the clover-instr task for this purpose, for example:
<clover-instr srcdir="src" destdir="instr"/>
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.