Historisation Support for Metric Data Extracted from different Maven Plugins

It's a huge improvement of a continous build process to deliver metric data to the development team, this is satified by Maven in a very nice and modular manner through the use of many plugins. This plugin is developed for Maven 1 and 2. The main focus of the development is for Maven 2. This plugin enables you to store the calculated metric snapshots from the Maven site process to a persistent store. By default this is a HSQLDB. When the data is in the DB, you are able to use tools like BIRT to generate your custom reports.

Different metric reports may be stored to the DB

  • Checkstyle (all, files, infos, warnings, errors)
  • PMD (violations, files)
  • FindBugs (violations, files)
  • Cobertura (branchcoverage, linecoverage, lines of code)
  • JavaNCSS (function count, package count, non commented source statements, funtions per package, code complexity > 15, class count, javadocs)

Architecture

This project has some subprojects, but as a user you have to just add the configuration to your pom.xml. As developer you have the possibility to add a new DB layer or to construct own extractors.

  • Historisation Base: Mostly not important for the users of the Historisation. Contains the base for the Maven 1 and Maven 2 Plugin
  • Maven 1 Plugin: All you need to store historisation data from a build using Maven 1.
  • Maven 2 Plugin: All you need to store historisation data from a build using Maven 2.
  • Persistency: Layer to persist the history data somewhere. Currently only a layer for HSQLDB is implemented.
  • Valueextractor: Layer to extract the important values from the intermediate XML-files of the different reports. May be used also outside this project, e.g. to generate a dashboard for Maven 2 like the one for Maven 1.