Abstract classes to manage report generation, which can be run both:
A full working sample is included in maven-reporting-impl ITs, which are part of the component source tree: see src/it/setup-reporting-plugin.
Until Maven 2.0.4, maven-reporting-impl was included in Maven 2 core distribution: version used was completely driven by Maven version used.
The module was removed from Maven core starting with Maven 2.0.5 and moved to shared components to improve fexibility: starting with Maven 2.0.5, each plugin can choose its maven-reporting-impl version independently from Maven.
When used as a direct standalone goal invocation, Doxia implementation used is the version used during plugin compilation.
When used as report during site generation, maven-site-plugin provides Doxia API implementation to the plugin, overriding normal plugin dependency: see DefaultMavenReportExecutor in maven-reporting-exec.
maven-reporting-impl 2.0.x use Doxia 1.0, then is used for reporting plugins wanting Maven 2.0.x compatibility.
From maven-reporting-impl 2.1 to maven-reporting-impl 2.3, Doxia version used ranges from 1.1 to 1.4. When creating a reporting plugin using one of these maven-reporting-impl versions, take care to use corresponding doxia-sink-api:
maven-reporting-impl 2.4.x use Doxia 1.6.