It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

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

Marek Parfianowicz Atlassian Team May 08, 2013

"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 votes
Answer accepted
Marek Parfianowicz Atlassian Team May 08, 2013

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
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Published in Next-gen

Introducing subtasks for breaking down work in next-gen projects

Teams break work down in order to help simplify complex tasks. This is often done iteratively, with tasks being broken down into smaller tasks and so on until the work is accurately captured in well-...

6,223 views 22 30
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you