You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/08/25 10:58:18 UTC

svn commit: r807526 - /maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java

Author: bentmann
Date: Tue Aug 25 08:58:18 2009
New Revision: 807526

URL: http://svn.apache.org/viewvc?rev=807526&view=rev
Log:
[MNG-4318] MavenProject.executionRoot is not set correctly

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java?rev=807526&r1=807525&r2=807526&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java Tue Aug 25 08:58:18 2009
@@ -293,7 +293,8 @@
 
         ReactorModelCache modelCache = new ReactorModelCache();
 
-        boolean errors = build( results, interimResults, pomFiles, recursive, config, reactorModelPool, modelCache );
+        boolean errors =
+            build( results, interimResults, pomFiles, true, recursive, config, reactorModelPool, modelCache );
 
         for ( InterimResult interimResult : interimResults )
         {
@@ -312,6 +313,7 @@
                     ModelBuildingResult result = modelBuilder.build( interimResult.request, interimResult.result );
 
                     MavenProject project = toProject( result, config, interimResult.listener );
+                    project.setExecutionRoot( interimResult.root );
 
                     results.add( new DefaultProjectBuildingResult( project, result.getProblems(), null ) );
                 }
@@ -338,7 +340,7 @@
     }
 
     private boolean build( List<ProjectBuildingResult> results, List<InterimResult> interimResults,
-                           List<File> pomFiles, boolean recursive, ProjectBuildingRequest config,
+                           List<File> pomFiles, boolean isRoot, boolean recursive, ProjectBuildingRequest config,
                            ReactorModelPool reactorModelPool, ReactorModelCache modelCache )
     {
         boolean errors = false;
@@ -360,7 +362,7 @@
 
                 Model model = result.getEffectiveModel();
 
-                interimResults.add( new InterimResult( pomFile, request, result, listener ) );
+                interimResults.add( new InterimResult( pomFile, request, result, listener, isRoot ) );
 
                 if ( recursive && !model.getModules().isEmpty() )
                 {
@@ -414,9 +416,11 @@
                         moduleFiles.add( moduleFile );
                     }
 
-                    errors =
-                        build( results, interimResults, moduleFiles, recursive, config, reactorModelPool, modelCache )
-                            || errors;
+                    if ( build( results, interimResults, moduleFiles, false, recursive, config, reactorModelPool,
+                                 modelCache ) )
+                    {
+                        errors = true;
+                    }
                 }
             }
             catch ( ModelBuildingException e )
@@ -441,13 +445,16 @@
 
         DefaultModelBuildingListener listener;
 
+        boolean root;
+
         InterimResult( File pomFile, ModelBuildingRequest request, ModelBuildingResult result,
-                       DefaultModelBuildingListener listener )
+                       DefaultModelBuildingListener listener, boolean root )
         {
             this.pomFile = pomFile;
             this.request = request;
             this.result = result;
             this.listener = listener;
+            this.root = root;
         }
 
     }