Author: jdcasey
Date: Thu Aug 28 14:17:35 2008
New Revision: 689990

URL: http://svn.apache.org/viewvc?rev=689990&view=rev
Log:
adding implementation warning comment.

Modified:
    
maven/components/branches/maven-2.1.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java

Modified: 
maven/components/branches/maven-2.1.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=689990&r1=689989&r2=689990&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.1.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
 (original)
+++ 
maven/components/branches/maven-2.1.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
 Thu Aug 28 14:17:35 2008
@@ -704,6 +704,20 @@
             {
                 throw new LifecycleExecutionException( e.getMessage(), e );
             }
+            
+            // NOTE: Ordinarily, we might be tempted to set all pertinent 
executionProjects
+            // to null here, to release some memory. HOWEVER, the problem is 
that
+            // the reactorProjects construct doesn't track successive levels of
+            // forked execution properly, so we MUST NOT SET THE 
executionProject
+            // INSTANCES TO NULL. If we do this inside a two-or-more-level-deep
+            // fork, it can result in passing a null project instance through
+            // to the plugin manager, since successive iterations of the n-1
+            // fork to execute fork n with each project in reactorProjects MUST
+            // HAVE ACCESS TO THE executionProject for every project.
+            //
+            // Just please don't set executionProjects == null here. Not until
+            // we have a mechanism for tracking (stack push/pull) successive
+            // forked lifecycles in the reactorProjects collection.
         }
     }
     


Reply via email to