Class AbstractReportMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.jacoco.maven.AbstractReportMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.apache.maven.reporting.MavenMultiPageReport, org.apache.maven.reporting.MavenReport
Direct Known Subclasses:
ReportAggregateMojo, ReportITMojo, ReportMojo

public abstract class AbstractReportMojo extends org.apache.maven.plugin.AbstractMojo implements org.apache.maven.reporting.MavenMultiPageReport
Base class for creating a code coverage report for tests of a single project in multiple formats (HTML, XML, and CSV).
  • Field Details

    • outputEncoding

      @Parameter(property="project.reporting.outputEncoding", defaultValue="UTF-8") String outputEncoding
      Encoding of the generated reports.
    • formats

      @Parameter(defaultValue="HTML,XML,CSV") List<ReportFormat> formats
      A list of report formats to generate. Supported formats are HTML, XML and CSV. Defaults to all formats if no values are given.
      Since:
      0.8.7
    • title

      @Parameter(defaultValue="${project.name}") String title
      Name of the root node HTML report pages.
      Since:
      0.7.7
    • sourceEncoding

      @Parameter(property="project.build.sourceEncoding", defaultValue="UTF-8") String sourceEncoding
      Encoding of the source files.
    • includes

      @Parameter List<String> includes
      A list of class files to include in the report. May use wildcard characters (* and ?). When not specified everything will be included.
    • excludes

      @Parameter List<String> excludes
      A list of class files to exclude from the report. May use wildcard characters (* and ?). When not specified nothing will be excluded.
    • skip

      @Parameter(property="jacoco.skip", defaultValue="false") boolean skip
      Flag used to suppress execution.
    • project

      @Parameter(property="project", readonly=true) org.apache.maven.project.MavenProject project
      Maven project.
  • Constructor Details

    • AbstractReportMojo

      public AbstractReportMojo()
  • Method Details

    • getDescription

      public String getDescription(Locale locale)
      Specified by:
      getDescription in interface org.apache.maven.reporting.MavenReport
    • isExternalReport

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

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

      List<String> getIncludes()
      Returns the list of class files to include in the report.
      Returns:
      class files to include, may contain wildcard characters
    • getExcludes

      List<String> getExcludes()
      Returns the list of class files to exclude from the report.
      Returns:
      class files to exclude, may contain wildcard characters
    • canGenerateReport

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

      abstract boolean canGenerateReportRegardingDataFiles()
    • canGenerateReportRegardingClassesDirectory

      abstract boolean canGenerateReportRegardingClassesDirectory()
    • getOutputDirectory

      abstract File getOutputDirectory()
    • generate

      public void generate(org.apache.maven.doxia.sink.Sink sink, Locale locale) throws org.apache.maven.reporting.MavenReportException
      Specified by:
      generate in interface org.apache.maven.reporting.MavenReport
      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
      Specified by:
      generate in interface org.apache.maven.reporting.MavenMultiPageReport
      Throws:
      org.apache.maven.reporting.MavenReportException
    • 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
    • executeReport

      private void executeReport(Locale locale) throws org.apache.maven.reporting.MavenReportException
      Throws:
      org.apache.maven.reporting.MavenReportException
    • addFormatters

      private void addFormatters(ReportSupport support, Locale locale) throws IOException
      Throws:
      IOException
    • loadExecutionData

      abstract void loadExecutionData(ReportSupport support) throws IOException
      Throws:
      IOException
    • createReport

      abstract void createReport(IReportGroupVisitor visitor, ReportSupport support) throws IOException
      Throws:
      IOException