com.atlassian.maven.plugin.clover
Class CloverReportMojo

java.lang.Object
  extended by org.apache.maven.plugin.AbstractMojo
      extended by org.apache.maven.reporting.AbstractMavenReport
          extended by com.atlassian.maven.plugin.clover.CloverReportMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.apache.maven.reporting.MavenReport

public class CloverReportMojo
extends org.apache.maven.reporting.AbstractMavenReport

Generate a Clover report from existing Clover databases. The generated report is an external report generated by Clover itself. If the project generating the report is a top level project and if the aggregate configuration element is set to true then an aggregated report will also be created.

Note: This report mojo should be an @aggregator and the clover:aggregate mojo shouldn't exist. This is a limitation of the site plugin which doesn't support @aggregator reports...

Version:
$Id: CloverReportMojo.java 555822 2007-07-13 00:03:28Z vsiveton $

Field Summary
protected  org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
          The component used for creating artifact instances.
protected  org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver
          The component that is used to resolve additional artifacts required.
protected  org.apache.maven.artifact.repository.ArtifactRepository localRepository
          The local repository.
protected  java.util.List repositories
          Remote repositories used for the project.
 
Fields inherited from interface org.apache.maven.reporting.MavenReport
CATEGORY_PROJECT_INFORMATION, CATEGORY_PROJECT_REPORTS, ROLE
 
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
 
Constructor Summary
CloverReportMojo()
           
 
Method Summary
 boolean canGenerateReport()
          Generate reports if a Clover module database or a Clover merged database exist.
 void executeReport(java.util.Locale locale)
           
 java.lang.String getDescription(java.util.Locale locale)
           
 java.lang.String getName(java.util.Locale locale)
           
protected  java.lang.String getOutputDirectory()
           
 java.lang.String getOutputName()
           
protected  org.apache.maven.project.MavenProject getProject()
           
protected  org.apache.maven.doxia.siterenderer.Renderer getSiteRenderer()
           
 boolean isExternalReport()
          Always return true as we're using the report generated by Clover rather than creating our own report.
protected  java.io.File resolveCloverDescriptor()
          The logic here is taken from AbstractSiteRenderingMojo#resolveSiteDescriptor in the maven-site-plugin.
 void setReportOutputDirectory(java.io.File reportOutputDirectory)
           
 
Methods inherited from class org.apache.maven.reporting.AbstractMavenReport
closeReport, execute, generate, getCategoryName, getReportOutputDirectory, getSink
 
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

artifactResolver

protected org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver
The component that is used to resolve additional artifacts required.


repositories

protected java.util.List repositories
Remote repositories used for the project.


artifactFactory

protected org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
The component used for creating artifact instances.


localRepository

protected org.apache.maven.artifact.repository.ArtifactRepository localRepository
The local repository.

Constructor Detail

CloverReportMojo

public CloverReportMojo()
Method Detail

executeReport

public void executeReport(java.util.Locale locale)
                   throws org.apache.maven.reporting.MavenReportException
Specified by:
executeReport in class org.apache.maven.reporting.AbstractMavenReport
Throws:
org.apache.maven.reporting.MavenReportException
See Also:
AbstractMavenReport.executeReport(java.util.Locale)

getOutputName

public java.lang.String getOutputName()
See Also:
MavenReport.getOutputName()

getDescription

public java.lang.String getDescription(java.util.Locale locale)
See Also:
MavenReport.getDescription(java.util.Locale)

getOutputDirectory

protected java.lang.String getOutputDirectory()
Specified by:
getOutputDirectory in class org.apache.maven.reporting.AbstractMavenReport
See Also:
AbstractMavenReport.getOutputDirectory()

getSiteRenderer

protected org.apache.maven.doxia.siterenderer.Renderer getSiteRenderer()
Specified by:
getSiteRenderer in class org.apache.maven.reporting.AbstractMavenReport
See Also:
AbstractMavenReport.getSiteRenderer()

getProject

protected org.apache.maven.project.MavenProject getProject()
Specified by:
getProject in class org.apache.maven.reporting.AbstractMavenReport
See Also:
AbstractMavenReport.getProject()

getName

public java.lang.String getName(java.util.Locale locale)
See Also:
MavenReport.getName(java.util.Locale)

isExternalReport

public boolean isExternalReport()
Always return true as we're using the report generated by Clover rather than creating our own report.

Specified by:
isExternalReport in interface org.apache.maven.reporting.MavenReport
Overrides:
isExternalReport in class org.apache.maven.reporting.AbstractMavenReport
Returns:
true

canGenerateReport

public boolean canGenerateReport()
Generate reports if a Clover module database or a Clover merged database exist.

Specified by:
canGenerateReport in interface org.apache.maven.reporting.MavenReport
Overrides:
canGenerateReport in class org.apache.maven.reporting.AbstractMavenReport
Returns:
true if a project should be generated
See Also:
AbstractMavenReport.canGenerateReport()

setReportOutputDirectory

public void setReportOutputDirectory(java.io.File reportOutputDirectory)
Specified by:
setReportOutputDirectory in interface org.apache.maven.reporting.MavenReport
Overrides:
setReportOutputDirectory in class org.apache.maven.reporting.AbstractMavenReport
See Also:
AbstractMavenReport.setReportOutputDirectory(java.io.File)

resolveCloverDescriptor

protected java.io.File resolveCloverDescriptor()
                                        throws org.apache.maven.reporting.MavenReportException
The logic here is taken from AbstractSiteRenderingMojo#resolveSiteDescriptor in the maven-site-plugin. See also: http://docs.codehaus.org/display/MAVENUSER/Mojo+Developer+Cookbook

Returns:
the clover report configuration file to use
Throws:
org.apache.maven.reporting.MavenReportException - if at least the default file can't be resolved


Copyright © 2008 Atlassian Pty Ltd. All Rights Reserved.