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.
}
}