How to cloverise entire project and generate db files

Hi ,

I am new to clover and we have licensed version of clover. I have added a profile in my maven pom.xml file with the following line

<plugin>
  <groupId>com.atlassian.maven.plugins</groupId>
  <artifactId>maven-clover2-plugin</artifactId>
  <configuration>
    <jdk>1.7</jdk>
    <generateHistorical>true</generateHistorical>
    <generateHtml>true</generateHtml>
    <!-- <generatePdf>true</generatePdf> -->
    <license><![CDATA[  GIVEN PROPER LICENSE ]]></license>
    <excludes>
      <exclude>**/*-mock-impl/**/*.java</exclude>
    </excludes>
    <properties>
      <clover.cloverDatabase>C:\\Users\\sample\\</clover.cloverDatabase>
      <clover.singleCloverDatabase>true</clover.singleCloverDatabase>
    </properties>
    <contextFilters>property</contextFilters>
  </configuration>
</plugin>

then I have executed following maven commands :

1) mvn clean -U : this command worked fine and is a success

2) when I tried mvn clean clover2:setup install -Dmaven.test.skip=true -Dmaven.clover.singleCloverDatabase=false is not generating clover.db files for me

I want to get functional code coverage for my project, Am I missing something or any steps you want me to add ?

Thanks,

-K

2 answers

0 votes

It seems that the

'<clover.cloverDatabase>C:\\Users\\kyajamanyam\\</clover.cloverDatabase>'

points to a directory instead of a file. Could you try appending 'clover.db' to this path?

Hi Marek,

Thanks for the quick reply.

It didnt work for me :(

I have executed this command mvn clean clover2:setup install -Dmaven.test.skip=true

Regards,

Kiran Y

I have got clover.db files under each package/target/clover/clover.db file.

Creating war files with this intrumented code will give me clover war and non clover war files?

I have got soo many clover.db files and intrumented code , it will be very difficult to add these many files to classpath

Thansk,

Kiran Y

Could you put <cloverdatabase> and <singlecloverdatabase> directly under <configuration> ?

This didnt work.

1) My mistake, sorry. Please use the <singleCloverDatabase> only. Do not use <cloverDatabase>, as described in maven docs:

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

You will find a database in /target directory of the last compiled module.

2) You wrote that:

I have got soo many clover.db files and intrumented code , it will be very difficult to add these many files to classpath.

Please note that there is no need to add clover.db to a classpath. Instead of this, clover.db must be found by instrumented code (a path to clover.db is encoded in instrumented classes). It can be achieved by:

  • using an absolute path to clover.db or
  • using a relative path + copying clover.db to the same location relative to working directory or
  • providing -Dclover.initstring runtime property (in case when only one database is used) or
  • providing -Dclover.initstring.basedir runtime property (in case of multiple databases)

Hi Marek,

Thanks for the quick reply.

It didnt work for me :(

I have executed this command mvn clean clover2:setup install -Dmaven.test.skip=true

Regards,

Kiran Y

Suggest an answer

Log in or Sign up to answer
Community showcase
Published yesterday in Jira Ops

Jira Ops Early Access Program Update #1: Announcing our next feature and a new integration

Thanks for signing up for Jira Ops! I’m Matt Ryall, leader for the Jira Ops product team at Atlassian. Since this is a brand new product, we’ll be delivering improvements quickly and sharing updates...

256 views 0 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