Missed Team ’24? Catch up on announcements here.

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

Clover doesn't generate single clover.db

Padmanabh Sahasrabudhe December 29, 2014

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 votes
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 29, 2014

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
TAGS
AUG Leaders

Atlassian Community Events