hudson.plugins.pmd
Class PmdPublisher

java.lang.Object
  extended by hudson.tasks.BuildStepCompatibilityLayer
      extended by hudson.tasks.Publisher
          extended by hudson.plugins.pmd.util.HealthAwarePublisher
              extended by hudson.plugins.pmd.PmdPublisher
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.model.Describable<hudson.tasks.Publisher>, HealthDescriptor, hudson.tasks.BuildStep, java.io.Serializable

public class PmdPublisher
extends HealthAwarePublisher

Publishes the results of the PMD analysis (freestyle project type).

Author:
Ulli Hafner
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface hudson.tasks.BuildStep
hudson.tasks.BuildStep.PublisherList
 
Field Summary
static PmdDescriptor PMD_DESCRIPTOR
          Descriptor of this publisher.
 
Fields inherited from interface hudson.tasks.BuildStep
BUILDERS, PUBLISHERS
 
Constructor Summary
PmdPublisher(java.lang.String pattern, java.lang.String threshold, java.lang.String healthy, java.lang.String unHealthy, java.lang.String height, java.lang.String thresholdLimit, java.lang.String defaultEncoding)
          Creates a new instance of PmdPublisher.
 
Method Summary
 hudson.model.Descriptor<hudson.tasks.Publisher> getDescriptor()
          
 java.lang.String getPattern()
          Returns the Ant file-set pattern of files to work with.
 hudson.model.Action getProjectAction(hudson.model.AbstractProject<?,?> project)
          
 ParserResult perform(hudson.model.AbstractBuild<?,?> build, java.io.PrintStream logger)
          Performs the publishing of the results of this plug-in.
 
Methods inherited from class hudson.plugins.pmd.util.HealthAwarePublisher
canContinue, getDefaultEncoding, getHealthy, getHealthyAnnotations, getHeight, getMinimumAnnotations, getMinimumPriority, getThreshold, getThresholdLimit, getTrendHeight, getUnHealthy, getUnHealthyAnnotations, isAntBuild, isHealthyReportEnabled, isMavenBuild, isThresholdEnabled, log, perform, readResolve
 
Methods inherited from class hudson.tasks.Publisher
getProjectAction, needsToRunAfterFinalized, prebuild
 
Methods inherited from class hudson.tasks.BuildStepCompatibilityLayer
perform, prebuild
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface hudson.tasks.BuildStep
prebuild
 

Field Detail

PMD_DESCRIPTOR

public static final PmdDescriptor PMD_DESCRIPTOR
Descriptor of this publisher.

Constructor Detail

PmdPublisher

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

Parameters:
pattern - Ant file-set pattern to scan for PMD files
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
defaultEncoding - the default encoding to be used when reading and parsing files
Method Detail

getPattern

public java.lang.String getPattern()
Returns the Ant file-set pattern of files to work with.

Returns:
Ant file-set pattern of files to work with

getProjectAction

public hudson.model.Action getProjectAction(hudson.model.AbstractProject<?,?> project)

Specified by:
getProjectAction in interface hudson.tasks.BuildStep
Overrides:
getProjectAction in class hudson.tasks.BuildStepCompatibilityLayer

perform

public ParserResult perform(hudson.model.AbstractBuild<?,?> build,
                            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 HealthAwarePublisher
Parameters:
build - the build
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.

getDescriptor

public hudson.model.Descriptor<hudson.tasks.Publisher> getDescriptor()



Copyright © 2008. All Rights Reserved.