hudson.plugins.pmd
Class PmdReporter

java.lang.Object
  extended by hudson.maven.MavenReporter
      extended by hudson.plugins.pmd.util.HealthAwareMavenReporter
          extended by hudson.plugins.pmd.PmdReporter
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.model.Describable<hudson.maven.MavenReporter>, HealthDescriptor, java.io.Serializable

public class PmdReporter
extends HealthAwareMavenReporter

Publishes the results of the PMD analysis (maven 2 project type).

Author:
Ulli Hafner
See Also:
Serialized Form

Field Summary
static PmdReporterDescriptor PMD_SCANNER_DESCRIPTOR
          Descriptor of this publisher.
 
Constructor Summary
PmdReporter(java.lang.String threshold, java.lang.String healthy, java.lang.String unHealthy, java.lang.String height, java.lang.String thresholdLimit)
          Creates a new instance of PmdReporter.
 
Method Summary
protected  boolean acceptGoal(java.lang.String goal)
          Determines whether this plug-in will accept the specified goal.
 hudson.maven.MavenReporterDescriptor getDescriptor()
          
 hudson.model.Action getProjectAction(hudson.maven.MavenModule module)
          
protected  java.lang.Class<? extends hudson.model.Action> getResultActionClass()
          Returns the type of the result action.
 ParserResult perform(hudson.maven.MavenBuildProxy build, org.apache.maven.project.MavenProject pom, hudson.maven.MojoInfo mojo, java.io.PrintStream logger)
          Performs the publishing of the results of this plug-in.
protected  void persistResult(ParserResult project, hudson.maven.MavenBuild build)
          Persists the result in the build (on the master).
 
Methods inherited from class hudson.plugins.pmd.util.HealthAwareMavenReporter
getDefaultEncoding, getHealthy, getHealthyAnnotations, getHeight, getMinimumAnnotations, getMinimumPriority, getTargetPath, getThreshold, getThresholdLimit, getTrendHeight, getUnHealthy, getUnHealthyAnnotations, isHealthyReportEnabled, isThresholdEnabled, log, postExecute
 
Methods inherited from class hudson.maven.MavenReporter
end, enterModule, getAggregatedProjectAction, leaveModule, postBuild, preBuild, preExecute, reportGenerated
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PMD_SCANNER_DESCRIPTOR

public static final PmdReporterDescriptor PMD_SCANNER_DESCRIPTOR
Descriptor of this publisher.

Constructor Detail

PmdReporter

@DataBoundConstructor
public PmdReporter(java.lang.String threshold,
                                        java.lang.String healthy,
                                        java.lang.String unHealthy,
                                        java.lang.String height,
                                        java.lang.String thresholdLimit)
Creates a new instance of PmdReporter.

Parameters:
threshold - Bug threshold to be reached if a build should be considered as unstable.
healthy - Report health as 100% when the number of warnings is less than this value
unHealthy - Report health as 0% when the number of warnings is greater than this value
height - the height of the trend graph
thresholdLimit - determines which warning priorities should be considered when evaluating the build stability and health
Method Detail

acceptGoal

protected boolean acceptGoal(java.lang.String goal)
Determines whether this plug-in will accept the specified goal. The HealthAwareMavenReporter.postExecute(MavenBuildProxy, MavenProject, MojoInfo, BuildListener, Throwable) will only by invoked if the plug-in returns true.

Specified by:
acceptGoal in class HealthAwareMavenReporter
Parameters:
goal - the maven goal
Returns:
true if the plug-in accepts this goal

perform

public ParserResult perform(hudson.maven.MavenBuildProxy build,
                            org.apache.maven.project.MavenProject pom,
                            hudson.maven.MojoInfo mojo,
                            java.io.PrintStream logger)
                     throws java.lang.InterruptedException,
                            java.io.IOException
Performs the publishing of the results of this plug-in.

Specified by:
perform in class HealthAwareMavenReporter
Parameters:
build - the build proxy (on the slave)
pom - the pom of the module
mojo - the executed mojo
logger - the logger to report the progress to
Returns:
the java project containing the found annotations
Throws:
java.lang.InterruptedException - If the build is interrupted by the user (in an attempt to abort the build.) Normally the BuildStep implementations may simply forward the exception it got from its lower-level functions.
java.io.IOException - If the implementation wants to abort the processing when an IOException happens, it can simply propagate the exception to the caller. This will cause the build to fail, with the default error message. Implementations are encouraged to catch IOException on its own to provide a better error message, if it can do so, so that users have better understanding on why it failed.

persistResult

protected void persistResult(ParserResult project,
                             hudson.maven.MavenBuild build)
Persists the result in the build (on the master).

Specified by:
persistResult in class HealthAwareMavenReporter
Parameters:
project - the created project
build - the build (on the master)

getProjectAction

public hudson.model.Action getProjectAction(hudson.maven.MavenModule module)

Overrides:
getProjectAction in class hudson.maven.MavenReporter

getResultActionClass

protected java.lang.Class<? extends hudson.model.Action> getResultActionClass()
Returns the type of the result action.

Specified by:
getResultActionClass in class HealthAwareMavenReporter
Returns:
the type of the result action

getDescriptor

public hudson.maven.MavenReporterDescriptor getDescriptor()

Specified by:
getDescriptor in interface hudson.model.Describable<hudson.maven.MavenReporter>
Overrides:
getDescriptor in class hudson.maven.MavenReporter


Copyright © 2009. All Rights Reserved.