Automatic Clover integration in Bamboo does not always work as expected for Maven

"Automatically integrate Clover into this build" switch in Bamboo is great, however it does not always work for Maven-based projects. There are few areas in which you can get stuck:

  1. deploying instrumented application to web server might result in NoClassDefFoundError during test execution
  2. simple unit tests can fail with NoClassDefFoundError if project has multiple Maven modules with inter-dependencies
  3. generation of historical report might fail with an error message like "basedir /home/bamboo/xml-data/build-dir/MY-JOB1/my-module/.cloverhistory is not a directory"

1 answer

1 accepted

0 vote

ad 1. This can happen when instrumented application is being executed in another JVM. For example, when you deploy code under test to the application server or run in-container tests using maven-cargo-plugin. Instrumented code needs clover.jar in classpath at runtime.

See NoClassDefFound com_cenqua_clover/CoverageRecorder KB article.

 

ad 2. This can happen when one module has a dependency to another one and your Maven task in Bamboo runs tests. For example if Maven task has "clean test" goals defined and the "ModuleA" depends on "ModuleB", then build with Clover will look like:

ModuleB clean
ModuleB test   # run tests without Clover
ModuleB clean
ModuleB clover2:setup
ModuleB verify # run tests with Clover
ModuleB jar    # package classes; instrumented classes are taken!
ModuleA clean
ModuleA test   # run tests without Clover, instrumented ModuleB.jar is taken; 
# test fails with NoClassDefFound error
...
ModuleB clean
ModuleB clover2:setup
ModuleB verify  # run tests with Clover

 

See NoClassDefFound com_cenqua_clover/CoverageRecorder KB article and https://jira.atlassian.com/browse/BAM-13208 improvement request for more details. This has been fixed in Clover 4.0.4 and Bamboo 5.9.

 

ad 3. See Multi-module Maven build on Bamboo with Clover history reports KB article. This has been fixed in Clover 3.1.12 and Bamboo 5.0.

Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Julia Dillon
Posted Tuesday in Jira

Tell us how your team runs on Jira!

Hey Atlassian Community! Today we are launching a bunch of customer stories about the amazing work teams, like Dropbox and Twilio, are doing with Jira. You can check out the stories here. The thi...

145 views 1 17
Join discussion

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