Skip to content
This repository has been archived by the owner on Feb 26, 2020. It is now read-only.

Commit

Permalink
[JENKINS-9090] Added project configuration option to activate
Browse files Browse the repository at this point in the history
scanning of workspace for build.xml and pom.xml files to detect
the module names of warnings.
  • Loading branch information
uhafner committed Apr 7, 2011
1 parent 9789ec1 commit 25c44c7
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions src/main/java/hudson/plugins/pmd/PmdPublisher.java
Expand Up @@ -85,6 +85,8 @@ public class PmdPublisher extends HealthAwarePublisher {
* annotation threshold
* @param canRunOnFailed
* determines whether the plug-in can run for failed builds, too
* @param shouldDetectModules
* determines whether module names should be derived from Maven POM or Ant build files
* @param pattern
* Ant file-set pattern to scan for PMD files
*/
Expand All @@ -97,14 +99,14 @@ public PmdPublisher(final String healthy, final String unHealthy, final String t
final String unstableNewAll, final String unstableNewHigh, final String unstableNewNormal, final String unstableNewLow,
final String failedTotalAll, final String failedTotalHigh, final String failedTotalNormal, final String failedTotalLow,
final String failedNewAll, final String failedNewHigh, final String failedNewNormal, final String failedNewLow,
final boolean canRunOnFailed,
final boolean canRunOnFailed, final boolean shouldDetectModules,
final String pattern) {
super(healthy, unHealthy, thresholdLimit, defaultEncoding, useDeltaValues,
unstableTotalAll, unstableTotalHigh, unstableTotalNormal, unstableTotalLow,
unstableNewAll, unstableNewHigh, unstableNewNormal, unstableNewLow,
failedTotalAll, failedTotalHigh, failedTotalNormal, failedTotalLow,
failedNewAll, failedNewHigh, failedNewNormal, failedNewLow,
canRunOnFailed, "PMD");
canRunOnFailed, shouldDetectModules, "PMD");
this.pattern = pattern;
}
// CHECKSTYLE:ON
Expand All @@ -128,9 +130,16 @@ public Action getProjectAction(final AbstractProject<?, ?> project) {
@Override
public BuildResult perform(final AbstractBuild<?, ?> build, final PluginLogger logger) throws InterruptedException, IOException {
logger.log("Collecting PMD analysis files...");
FilesParser pmdCollector = new FilesParser(logger, StringUtils.defaultIfEmpty(getPattern(), DEFAULT_PATTERN), new PmdParser(getDefaultEncoding()),
isMavenBuild(build), isAntBuild(build));

FilesParser pmdCollector;
if (shouldDetectModules()) {
pmdCollector = new FilesParser(logger, StringUtils.defaultIfEmpty(getPattern(),
DEFAULT_PATTERN), new PmdParser(getDefaultEncoding()),
isMavenBuild(build), isAntBuild(build));
}
else {
pmdCollector = new FilesParser(logger, StringUtils.defaultIfEmpty(getPattern(),
DEFAULT_PATTERN), new PmdParser(getDefaultEncoding()));
}
ParserResult project = build.getWorkspace().act(pmdCollector);
PmdResult result = new PmdResult(build, getDefaultEncoding(), project);
build.getActions().add(new PmdResultAction(build, this, result));
Expand Down

0 comments on commit 25c44c7

Please sign in to comment.