Apache Maven Reporting API

Clone this repo:
  1. 16d0e02 [maven-release-plugin] prepare for next development iteration by Sylwester Lachiewicz · 6 days ago master
  2. f905288 [maven-release-plugin] prepare release maven-reporting-api-4.1.0 by Sylwester Lachiewicz · 6 days ago maven-reporting-api-4.1.0
  3. 1feb87b Fix the Javadoc wording and describe the site plugin's call sequence by Sylwester Lachiewicz · 6 days ago
  4. 1d3a6c3 Turn the README into a project page and add contributor, security and agent guides by Sylwester Lachiewicz · 6 days ago
  5. 7964c58 Make generate(Sink, Locale) abstract again by Sylwester Lachiewicz · 2 weeks ago

Apache Maven Reporting API

Apache License, Version 2.0, January 2004 Maven Central Reproducible Builds Verify

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.

What this is

The artifact holds four types and depends only on doxia-sink-api:

TypeRole
MavenReportThe report contract the site plugin calls
MavenReportRendererRenders one report page
MavenReportExceptionThe checked exception a report throws
MavenMultiPageReportDeprecated 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.

Build

mvn verify