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;