hudson.plugins.pmd.MavenPmdResultAction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pmd Show documentation
Show all versions of pmd Show documentation
This plug-in generates the trend report for PMD, an
open source static code analysis program.
package hudson.plugins.pmd;
import hudson.maven.AggregatableAction;
import hudson.maven.MavenAggregatedReport;
import hudson.maven.MavenBuild;
import hudson.maven.MavenModule;
import hudson.maven.MavenModuleSet;
import hudson.maven.MavenModuleSetBuild;
import hudson.model.Action;
import hudson.plugins.analysis.core.HealthDescriptor;
import java.util.List;
import java.util.Map;
/**
* A {@link PmdResultAction} for native maven jobs. This action
* additionally provides result aggregation for sub-modules and for the main
* project.
*
* @author Ulli Hafner
* @deprecated not used anymore
*/
@Deprecated
public class MavenPmdResultAction extends PmdResultAction implements AggregatableAction, MavenAggregatedReport {
/** The default encoding to be used when reading and parsing files. */
private final String defaultEncoding;
/**
* Creates a new instance of {@link MavenPmdResultAction}. This instance
* will have no result set in the beginning. The result will be set
* successively after each of the modules are build.
*
* @param owner
* the associated build of this action
* @param healthDescriptor
* health descriptor to use
* @param defaultEncoding
* the default encoding to be used when reading and parsing files
*/
public MavenPmdResultAction(final MavenModuleSetBuild owner, final HealthDescriptor healthDescriptor,
final String defaultEncoding) {
super(owner, healthDescriptor);
this.defaultEncoding = defaultEncoding;
}
/**
* Creates a new instance of {@link MavenPmdResultAction}.
*
* @param owner
* the associated build of this action
* @param healthDescriptor
* health descriptor to use
* @param defaultEncoding
* the default encoding to be used when reading and parsing files
* @param result
* the result in this build
*/
public MavenPmdResultAction(final MavenBuild owner, final HealthDescriptor healthDescriptor,
final String defaultEncoding, final PmdResult result) {
super(owner, healthDescriptor, result);
this.defaultEncoding = defaultEncoding;
}
/** {@inheritDoc} */
public MavenAggregatedReport createAggregatedAction(final MavenModuleSetBuild build, final Map> moduleBuilds) {
return new MavenPmdResultAction(build, getHealthDescriptor(), defaultEncoding);
}
/** {@inheritDoc} */
public Action getProjectAction(final MavenModuleSet moduleSet) {
return new PmdProjectAction(moduleSet);
}
/** {@inheritDoc} */
public Class extends AggregatableAction> getIndividualActionType() {
return getClass();
}
/**
* Called whenever a new module build is completed, to update the aggregated
* report. When multiple builds complete simultaneously, Jenkins serializes
* the execution of this method, so this method needs not be
* concurrency-safe.
*
* @param moduleBuilds
* Same as MavenModuleSet.getModuleBuilds() but provided
* for convenience and efficiency.
* @param newBuild
* Newly completed build.
*/
public void update(final Map> moduleBuilds, final MavenBuild newBuild) {
// not used anymore
}
/** Backward compatibility. @deprecated */
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UUF")
@SuppressWarnings("unused")
@Deprecated
private transient String height;
}