Apache Maven Reporting Implementation
Abstract classes to manage report generation, which can be run both:
- as part of a site generation, as a maven-reporting-api's
MavenReport
, - or as a direct standalone goal invocation, as a maven-plugin-api's
Mojo
.
The two APIs implementations are provided by AbstractMavenReport, that delegates to extender's <<<executeReport( Locale )
reporting method implementation.
Usage
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
.
History
Doxia runtime
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
.
Doxia dependency
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
:
- avoid
doxia-sink-api
version 1.0 that can be imported bymaven-reporting-api
3.0: this would lead to"java.lang.ClassNotFoundException: org.apache.maven.doxia.sink.SinkEventAttributes"
when used as direct standalone goal. - avoid
doxia-sink-api
after 1.4 since RenderingContext was moved in Doxia 1.5 from core to Site Renderer (see DOXIA-499).
maven-reporting-impl 2.4.x
use Doxia 1.6.
Upgrading to maven-reporting-impl 2.3+
When upgrading a reporting plugin from an old version of maven-reporting-impl
to version 2.3 or more, a lot of copy/pasted code can be removed by upgrading the plugin to plugin-tools with Java 5 annotations: see MSHARED-347 for more details.