You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2015/11/19 07:50:29 UTC
svn commit: r1715109 - in /maven/plugins/trunk/maven-pmd-plugin/src:
main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java
test/java/org/apache/maven/plugin/pmd/stubs/DefaultConfigurationMavenProjectStub.java
Author: krosenvold
Date: Thu Nov 19 06:50:28 2015
New Revision: 1715109
URL: http://svn.apache.org/viewvc?rev=1715109&view=rev
Log:
Fixed file handle leak
Modified:
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java
maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/stubs/DefaultConfigurationMavenProjectStub.java
Modified: maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java?rev=1715109&r1=1715108&r2=1715109&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java (original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdViolationCheckMojo.java Thu Nov 19 06:50:28 2015
@@ -19,19 +19,6 @@ package org.apache.maven.plugin.pmd;
* under the License.
*/
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.Set;
-
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugin.pmd.model.PmdErrorDetail;
@@ -46,6 +33,19 @@ import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
/**
* Fail the build if there were any PMD violations in the source code.
*
@@ -112,8 +112,11 @@ public class PmdViolationCheckMojo
for ( final Entry<Object, Object> propEntry : props.entrySet() )
{
final Set<String> excludedRuleSet = new HashSet<String>();
- final String className = propEntry.getKey().toString();
- final String[] excludedRules = propEntry.getValue().toString().split( "," );
+ final String className = propEntry.getKey()
+ .toString();
+ final String[] excludedRules = propEntry.getValue()
+ .toString()
+ .split( "," );
for ( final String excludedRule : excludedRules )
{
excludedRuleSet.add( excludedRule.trim() );
@@ -141,7 +144,8 @@ public class PmdViolationCheckMojo
{
final String fileName = errorDetail.getFileName();
final int javaIdx = fileName.indexOf( "\\java\\" );
- return fileName.substring( javaIdx >= 0 ? javaIdx + 6 : 0, fileName.length() - 5 ).replace( '\\', '.' );
+ return fileName.substring( javaIdx >= 0 ? javaIdx + 6 : 0, fileName.length() - 5 )
+ .replace( '\\', '.' );
}
}
@@ -152,7 +156,9 @@ public class PmdViolationCheckMojo
{
StringBuilder buff = new StringBuilder( 100 );
- buff.append( "PMD " ).append( severity ).append( ": " );
+ buff.append( "PMD " )
+ .append( severity )
+ .append( ": " );
if ( item.getViolationClass() != null )
{
if ( item.getViolationPackage() != null )
@@ -168,32 +174,45 @@ public class PmdViolationCheckMojo
}
buff.append( ":" );
buff.append( item.getBeginline() );
- buff.append( " Rule:" ).append( item.getRule() );
- buff.append( " Priority:" ).append( item.getPriority() );
- buff.append( " " ).append( item.getText() ).append( "." );
+ buff.append( " Rule:" )
+ .append( item.getRule() );
+ buff.append( " Priority:" )
+ .append( item.getPriority() );
+ buff.append( " " )
+ .append( item.getText() )
+ .append( "." );
- this.getLog().info( buff.toString() );
+ this.getLog()
+ .info( buff.toString() );
}
@Override
protected List<Violation> getErrorDetails( File pmdFile )
throws XmlPullParserException, IOException
{
- PmdXpp3Reader reader = new PmdXpp3Reader();
- PmdErrorDetail details = reader.read( new FileReader( pmdFile ), false );
-
- List<Violation> violations = new ArrayList<Violation>();
- for ( PmdFile file : details.getFiles() )
+ final FileReader reader1 = new FileReader( pmdFile );
+ try
{
- String fullPath = file.getName();
+ PmdXpp3Reader reader = new PmdXpp3Reader();
+ PmdErrorDetail details = reader.read( reader1, false );
- for ( Violation violation : file.getViolations() )
+ List<Violation> violations = new ArrayList<Violation>();
+ for ( PmdFile file : details.getFiles() )
{
- violation.setFileName( getFilename( fullPath, violation.getViolationPackage() ) );
- violations.add( violation );
+ String fullPath = file.getName();
+
+ for ( Violation violation : file.getViolations() )
+ {
+ violation.setFileName( getFilename( fullPath, violation.getViolationPackage() ) );
+ violations.add( violation );
+ }
}
+ return violations;
+ }
+ finally
+ {
+ reader1.close();
}
- return violations;
}
@Override
@@ -214,7 +233,8 @@ public class PmdViolationCheckMojo
while ( StringUtils.isNotEmpty( pkg ) )
{
- index = fullpath.substring( 0, index ).lastIndexOf( File.separatorChar );
+ index = fullpath.substring( 0, index )
+ .lastIndexOf( File.separatorChar );
int dot = pkg.indexOf( '.' );
Modified: maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/stubs/DefaultConfigurationMavenProjectStub.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/stubs/DefaultConfigurationMavenProjectStub.java?rev=1715109&r1=1715108&r2=1715109&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/stubs/DefaultConfigurationMavenProjectStub.java (original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/stubs/DefaultConfigurationMavenProjectStub.java Thu Nov 19 06:50:28 2015
@@ -31,6 +31,7 @@ import org.apache.maven.model.ReportPlug
import org.apache.maven.model.Scm;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+import org.codehaus.plexus.util.IOUtil;
/**
* @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
@@ -48,17 +49,21 @@ public class DefaultConfigurationMavenPr
MavenXpp3Reader pomReader = new MavenXpp3Reader();
Model model = null;
+ FileReader reader = null;
try
{
- model =
- pomReader.read( new FileReader( new File( getBasedir()
- + "/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml" ) ) );
+ reader = new FileReader( new File( getBasedir() + "/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml" ) );
+ model = pomReader.read( reader );
setModel( model );
}
catch ( Exception e )
{
}
+ finally
+ {
+ IOUtil.close( reader );
+ }
setGroupId( model.getGroupId() );
setArtifactId( model.getArtifactId() );
@@ -72,12 +77,14 @@ public class DefaultConfigurationMavenPr
setScm( scm );
Build build = new Build();
- build.setFinalName( model.getBuild().getFinalName() );
+ build.setFinalName( model.getBuild()
+ .getFinalName() );
build.setDirectory( getBasedir() + "/target/test/unit/default-configuration/target" );
build.setSourceDirectory( getBasedir() + "/src/test/resources/unit/default-configuration" );
setBuild( build );
- setReportPlugins( model.getReporting().getPlugins() );
+ setReportPlugins( model.getReporting()
+ .getPlugins() );
String basedir = getBasedir().getAbsolutePath();
List<String> compileSourceRoots = new ArrayList<String>();