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.
- Documentation: https://maven.apache.org/shared/maven-reporting-api/
- Issues: https://github.com/apache/maven-reporting-api/issues
- Security reports: see SECURITY.md; never a public issue
- Contributing: see CONTRIBUTING.md
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