Clover doesn't generate single clover.db

I have following configuration in my pom.xml, I am still seeing that a multiple clover.db files are getting generated in each modules target folder. Am I missing something?

 

 

<profile>
  <id>clover</id>
  <activation>
    <property>
      <name>clover_property</name>
      <value>true</value>
    </property>
  </activation>
  <build>
    <plugins>
      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>maven-clover2-plugin</artifactId>
        <version>3.1.3</version>
        <configuration>
          <licenseLocation>C:\clover\clover.license</licenseLocation>
          <generateHtml>true</generateHtml>
          <generateXml>true</generateXml>
          <numThreads>0</numThreads>
          <coverageCacheSize>128m</coverageCacheSize>      
          <singleCloverDatabase>true</singleCloverDatabase>
          <cloverDatabase>C:\clover\clover.db</cloverDatabase>                               
        </configuration>
      </plugin>               
    </plugins>
  </build>
</profile>

 

 

1 answer

0 vote

As per https://docs.atlassian.com/maven-clover2-plugin/latest/setup-mojo.html#singleCloverDatabase

If true, then a single cloverDatabase will be used for the entire project. This flag will be ignored if a custom cloverDatabase location is specified.

 

You have the following options:

1) Keep the <singleCloverDatabase>true</singleCloverDatabase> and remove the <cloverDatabase> tag. Database will be written to the /target/clover folder inside the last Maven module compiled.

 

2) Remove the <singleCloverDatabase> tag and keep the <cloverDatabase> tag with an absolute path declared in it. When instrumenting subsequent modules, Clover will update the same database file as the path is absolute. However, this may have a performance impact if you have have many modules (like few hundreds) and a lot of unit tests (like one thousand or more). This is because a number of coverage recording files created on disk will be roughly equal to: number of clover.db updates * number of tests.


3) Remove the <singleCloverDatabase> and the <cloverDatabase> tags. Instead of this, declare the <mergedCloverDatabase> and call clover2:aggregate at the end of the build (typically after a testing phase), but before report generation. For instance:

mvn clean clover2:setup test clover2:aggregate clover2:clover

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published yesterday in Hipchat

Moving from Hipchat to Stride? Here’s what you’ll love

Heya, Hipchat friends! We’re so happy you’re checking out   Stride. Whether you know it or not, you have been instrumental in making Stride come to life. Every feature, design, and functionality...

59 views 2 6
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you