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