This is an automated email from the ASF dual-hosted git repository. adangel pushed a commit to branch MPMD-266 in repository https://gitbox.apache.org/repos/asf/maven-pmd-plugin.git
commit 38c60fd50f23fe82c8feb47d4dd9a38ea6bc1b7c Author: Andreas Dangel <adan...@apache.org> AuthorDate: Sat Jun 23 18:45:29 2018 +0200 [MPMD-266] - Aggregate report in multi-module projects doesn't use correct auxclasspath Refactoring type resolution configuration into own method --- .../org/apache/maven/plugins/pmd/PmdReport.java | 61 +++++++++++----------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java index bcfb242..0b39c06 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java @@ -675,37 +675,9 @@ public class PmdReport configuration.setDefaultLanguageVersion( languageVersion ); } - if ( typeResolution && !aggregate ) + if ( typeResolution ) { - try - { - List<String> classpath = - includeTests ? project.getTestClasspathElements() : project.getCompileClasspathElements(); - getLog().debug( "Using aux classpath: " + classpath ); - configuration.prependClasspath( StringUtils.join( classpath.iterator(), File.pathSeparator ) ); - } - catch ( Exception e ) - { - throw new MavenReportException( e.getMessage(), e ); - } - } - else if ( typeResolution && aggregate ) - { - List<String> classpath = new ArrayList<>(); - try - { - for ( MavenProject localProject : reactorProjects ) - { - classpath.addAll( includeTests ? localProject.getTestClasspathElements() - : localProject.getCompileClasspathElements() ); - } - getLog().debug( "Using aggregated aux classpath: " + classpath ); - configuration.prependClasspath( StringUtils.join( classpath.iterator(), File.pathSeparator ) ); - } - catch ( Exception e ) - { - throw new MavenReportException( e.getMessage(), e ); - } + configureTypeResolution( configuration ); } if ( null != suppressMarker ) @@ -728,6 +700,35 @@ public class PmdReport return configuration; } + private void configureTypeResolution( PMDConfiguration configuration ) throws MavenReportException + { + try + { + List<String> classpath = new ArrayList<>(); + if ( aggregate ) + { + for ( MavenProject localProject : reactorProjects ) + { + classpath.addAll( includeTests ? localProject.getTestClasspathElements() + : localProject.getCompileClasspathElements() ); + } + getLog().debug( "Using aggregated aux classpath: " + classpath ); + } + else + { + classpath.addAll( includeTests ? project.getTestClasspathElements() + : project.getCompileClasspathElements() ); + getLog().debug( "Using aux classpath: " + classpath ); + } + String path = StringUtils.join( classpath.iterator(), File.pathSeparator ); + configuration.prependClasspath( path ); + } + catch ( Exception e ) + { + throw new MavenReportException( e.getMessage(), e ); + } + } + /** * {@inheritDoc} */