The contract between the Maven Site Plugin and every report plugin. A report implements MavenReport to declare its name, category and output path, and to render itself into a Doxia Sink; the site plugin calls it and decorates the result with the site skin.
Report plugins usually extend AbstractMavenReport from Maven Reporting Implementation instead of implementing this API directly.
The artifact holds four types and depends only on doxia-sink-api:
| Type | Role |
|---|---|
MavenReport | The report contract the site plugin calls |
MavenReportRenderer | Renders one report page |
MavenReportException | The checked exception a report throws |
MavenMultiPageReport | Deprecated since 4.1.0; use MavenReport.generate(Sink, SinkFactory, Locale) |
Where it sits:
doxia-sink-api └─ maven-reporting-api (this repository) ├─ maven-reporting-impl AbstractMavenReport, which report plugins extend ├─ maven-reporting-exec finds and configures report plugins for the site └─ maven-site-plugin calls MavenReport and renders the pages
Every report plugin implements this API, so a new method must be a default method, never abstract. Releases follow Doxia and come before Maven Reporting Exec, Maven Reporting Implementation and the Maven Site Plugin.
mvn verify