Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

clover for several jar libraries connect to the application

alex z November 7, 2012

I have an application that calls several jar libraries that are provided with instruments clover, how do I get a report of all classes in all these libraries together? I need to somehow merge files clover.db, that generated for each jar libraries?

3 answers

1 accepted

1 vote
Answer accepted
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 8, 2012

Hi Alex,

I assume that you have instrumented every library separately so that you have several clover.db files.

If yes, then first you have to make all of them accessible at runtime. So either:

  • set absolute paths in initstring for each library during build and use the same paths during application execution (run application on the same machine where was compiled, for instance) or
  • set relative paths in initstring for each library during build and provide clover.initstring.basedir parameter at runtime (databases will be located in "clover.initstring.basedir/initstring")

Next, you have to merge databases and coverage after tests. The CloverMerge command line tool, <clover-merge> Ant task or clover2:merge Maven goal can do this.

Next, you have to generate report using the merged database.

Alternatively, you could instrument all libraries and the application together, producing a single Clover database, which you could next use at runtime and for reporting. For example, if you're using Maven and have one master pom.xml (multi-module project), set the <singleCloverDatabase>true</singleCloverDatabase> for clover2:setup.

See also:

Regards
Marek

0 votes
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 8, 2012

See clover2:setup goal, the cloverDatabase attribute.

0 votes
alex z November 8, 2012

set absolute paths in initstring for each library during build and use the same paths during application execution (run application on the same machine where was compiled, for instance) or

set relative paths in initstring for each library during build and provide clover.initstring.basedir parameter at runtime (databases will be located in "clover.initstring.basedir/initstring")

How I can do it? (In pom.xml on webserver or anywhere else?)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events