Create MavenXpp3Reader only once per methodcall
Close FileReader at end
git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1483087 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java b/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
index b937853..4e2c304 100644
--- a/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
+++ b/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
@@ -15,6 +15,7 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.MavenProjectHelper;
+import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
/*
@@ -113,6 +114,8 @@
return false;
}
+ MavenXpp3Reader reader = new MavenXpp3Reader();
+
for ( String module : modules )
{
File moduleFile = new File( project.getBasedir(), module );
@@ -122,11 +125,13 @@
moduleFile = new File( moduleFile, "pom.xml" );
}
- MavenXpp3Reader reader = new MavenXpp3Reader();
+ FileReader moduleReader = null;
try
{
- Model model = reader.read( new FileReader( moduleFile ) );
+ moduleReader = new FileReader( moduleFile );
+
+ Model model = reader.read( moduleReader );
if ( model.getParent() != null && model.getParent().getId().equals( project.getId() ) )
{
@@ -148,6 +153,10 @@
// TODO Auto-generated catch block
e.printStackTrace();
}
+ finally
+ {
+ IOUtil.close( moduleReader );
+ }
}
return true;