This is an automated email from the ASF dual-hosted git repository. adangel pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-pmd-plugin.git
commit 89687854bc1c965f26adbc78410f75e631f66088 Author: Andreas Dangel <adan...@apache.org> AuthorDate: Thu Jan 18 10:43:40 2018 +0100 [MPMD-251] Invalid report XML is generated with includeXmlInSite=true Use the renderer's flush method --- src/main/java/org/apache/maven/plugins/pmd/PmdReport.java | 14 ++++++++++---- .../java/org/apache/maven/plugins/pmd/PmdReportTest.java | 2 +- 2 files changed, 11 insertions(+), 5 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 fe39380..2a8a897 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java @@ -233,9 +233,16 @@ public class PmdReport return getBundle( locale ).getString( "report.pmd.description" ); } - public void setRulesets( String[] rules ) + /** + * Configures the PMD rulesets to be used directly. + * Note: Usually the rulesets are configured via the property. + * + * @param rulesets the PMD rulesets to be used. + * @see #rulesets + */ + public void setRulesets( String[] rulesets ) { - rulesets = rules; + this.rulesets = Arrays.copyOf( rulesets, rulesets.length ); } /** @@ -596,7 +603,7 @@ public class PmdReport r.start(); r.renderFileReport( report ); r.end(); - writer.flush(); + r.flush(); if ( includeXmlInSite ) { @@ -650,7 +657,6 @@ public class PmdReport { try { - @SuppressWarnings( "unchecked" ) List<String> classpath = includeTests ? project.getTestClasspathElements() : project.getCompileClasspathElements(); getLog().debug( "Using aux classpath: " + classpath ); diff --git a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java index e108f96..72afd01 100644 --- a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java +++ b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java @@ -370,7 +370,7 @@ public class PmdReportTest assertTrue( pmdXmlTarget.contains( "</pmd>" ) ); // check that pmd.xml file has the closing element - String pmdXml = readFile( new File( getBasedir(), "target/test/unit/default-configuration/target/site/pmd.xml" ) ); + String pmdXml = readFile( generatedXmlFile ); assertTrue( pmdXml.contains( "</pmd>" ) ); } -- To stop receiving notification emails like this one, please contact "commits@maven.apache.org" <commits@maven.apache.org>.