Class AbstractMavenReport

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.reporting.AbstractMavenReport
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.apache.maven.reporting.MavenMultiPageReport, org.apache.maven.reporting.MavenReport

public abstract class AbstractMavenReport extends org.apache.maven.plugin.AbstractMojo implements org.apache.maven.reporting.MavenMultiPageReport
The basis for a Maven report which can be generated both as part of a site generation or as a direct standalone goal invocation. Both invocations are delegated to abstract executeReport( Locale ) from:
  • Mojo's execute() method, see maven-plugin-api
  • MavenMultiPageReport's generate( Sink, SinkFactory, Locale ), see maven-reporting-api
Since:
2.0
Author:
Emmanuel Venisse
See Also:
  • Field Details

    • outputDirectory

      @Parameter(defaultValue="${project.reporting.outputDirectory}", readonly=true, required=true) protected File outputDirectory
      The output directory for the report. Note that this parameter is only evaluated if the goal is run directly from the command line. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.
    • project

      @Parameter(defaultValue="${project}", readonly=true, required=true) protected org.apache.maven.project.MavenProject project
      The Maven Project.
    • localRepository

      @Parameter(defaultValue="${localRepository}", readonly=true, required=true) protected org.apache.maven.artifact.repository.ArtifactRepository localRepository
      The local repository.
    • remoteRepositories

      @Parameter(defaultValue="${project.remoteArtifactRepositories}", readonly=true, required=true) protected List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories
      Remote repositories used for the project.
    • siteTool

      @Component protected org.apache.maven.doxia.tools.SiteTool siteTool
      SiteTool.
    • siteRenderer

      @Component protected org.apache.maven.doxia.siterenderer.Renderer siteRenderer
      Doxia Site Renderer component.
  • Constructor Details

    • AbstractMavenReport

      public AbstractMavenReport()
  • Method Details

    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException
      This method is called when the report generation is invoked directly as a standalone Mojo.
      Specified by:
      execute in interface org.apache.maven.plugin.Mojo
      Throws:
      org.apache.maven.plugin.MojoExecutionException - if an error occurs when generating the report
      See Also:
      • Mojo.execute()
    • generate

      @Deprecated public void generate(org.codehaus.doxia.sink.Sink sink, Locale locale) throws org.apache.maven.reporting.MavenReportException
      Deprecated.
      Generate a report.
      Specified by:
      generate in interface org.apache.maven.reporting.MavenReport
      Parameters:
      sink - the sink to use for the generation.
      locale - the wanted locale to generate the report, could be null.
      Throws:
      org.apache.maven.reporting.MavenReportException - if any
    • generate

      @Deprecated public void generate(org.apache.maven.doxia.sink.Sink sink, Locale locale) throws org.apache.maven.reporting.MavenReportException
      Deprecated.
      Generate a report.
      Parameters:
      sink -
      locale -
      Throws:
      org.apache.maven.reporting.MavenReportException
    • generate

      public void generate(org.apache.maven.doxia.sink.Sink sink, org.apache.maven.doxia.sink.SinkFactory sinkFactory, Locale locale) throws org.apache.maven.reporting.MavenReportException
      This method is called when the report generation is invoked by maven-site-plugin.
      Specified by:
      generate in interface org.apache.maven.reporting.MavenMultiPageReport
      Parameters:
      sink -
      sinkFactory -
      locale -
      Throws:
      org.apache.maven.reporting.MavenReportException
    • getCategoryName

      public String getCategoryName()
      Specified by:
      getCategoryName in interface org.apache.maven.reporting.MavenReport
      Returns:
      CATEGORY_PROJECT_REPORTS
    • getReportOutputDirectory

      public File getReportOutputDirectory()
      Specified by:
      getReportOutputDirectory in interface org.apache.maven.reporting.MavenReport
    • setReportOutputDirectory

      public void setReportOutputDirectory(File reportOutputDirectory)
      Specified by:
      setReportOutputDirectory in interface org.apache.maven.reporting.MavenReport
    • getOutputDirectory

      protected String getOutputDirectory()
    • getProject

      protected org.apache.maven.project.MavenProject getProject()
    • getSiteRenderer

      protected org.apache.maven.doxia.siterenderer.Renderer getSiteRenderer()
    • getInputEncoding

      protected String getInputEncoding()
      Gets the input files encoding.
      Returns:
      The input files encoding, never null.
    • getOutputEncoding

      protected String getOutputEncoding()
      Gets the effective reporting output files encoding.
      Returns:
      The effective reporting output file encoding, never null.
    • closeReport

      protected void closeReport()
      Actions when closing the report.
    • getSink

      public org.apache.maven.doxia.sink.Sink getSink()
      Returns:
      the sink used
    • getSinkFactory

      public org.apache.maven.doxia.sink.SinkFactory getSinkFactory()
      Returns:
      the sink factory used
    • isExternalReport

      public boolean isExternalReport()
      Specified by:
      isExternalReport in interface org.apache.maven.reporting.MavenReport
      Returns:
      false by default.
      See Also:
      • MavenReport.isExternalReport()
    • canGenerateReport

      public boolean canGenerateReport()
      Specified by:
      canGenerateReport in interface org.apache.maven.reporting.MavenReport
    • executeReport

      protected abstract void executeReport(Locale locale) throws org.apache.maven.reporting.MavenReportException
      Execute the generation of the report.
      Parameters:
      locale - the wanted locale to return the report's description, could be null.
      Throws:
      org.apache.maven.reporting.MavenReportException - if any