Author: jdcasey
Date: Thu Aug 28 14:17:10 2008
New Revision: 689989
URL: http://svn.apache.org/viewvc?rev=689989&view=rev
Log:
adding description to javadoc.
Modified:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3729MultiForkAggregatorsTest.java
Modified:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3729MultiForkAggregatorsTest.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3729MultiForkAggregatorsTest.java?rev=689989&r1=689988&r2=689989&view=diff
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3729MultiForkAggregatorsTest.java
(original)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3729MultiForkAggregatorsTest.java
Thu Aug 28 14:17:10 2008
@@ -27,12 +27,26 @@
/**
* This is a test set for <a
href="http://jira.codehaus.org/browse/MNG-3729">MNG-3729</a>.
- *
- * @todo Fill in a better description of what this test verifies!
+ * <br/><br/>
+ * Complicated use case, but say
+ * you have an aggregator plugin that forks a lifecycle, and this aggregator
is bound to the main lifecycle in a
+ * multimodule build. Further, say you call another plugin directly from the
command line for this multimodule build,
+ * which forks a new lifecycle (like assembly:assembly).
+ * <br/><br/>
+ * When the directly invoked aggregator forks, it will force the
+ * forked lifecycle phase to be run for each project in the reactor,
regardless of whether this causes the bound
+ * aggregator mojo to run multiple times. When the bound aggregator executes
for the first project (this will be in an
+ * inner fork, two levels removed from the main lifecycle execution) it will
set the executionProject to null for the
+ * current project (which is one of the reactorProjects member instances). On
the second pass, as it tries to execute
+ * the inner aggregator's forked lifecycle for the second project in the
reactor, one of the reactorProjects'
+ * project.getExecutionProject() results will be null. If any of the mojos in
this inner lifecycle fork requires
+ * dependency resolution, it will cause a NullPointerException in the
DefaultPluginManager when it tries to resolve the
+ * dependencies for the current project. This happened in 2.0.10-RC11 (which
was the predecessor to 2.1.0-RC12, since
+ * the version was renamed while the release process was in mid-execution). It
did not happen in 2.0.9, and was fixed in
+ * 2.1.0-RC12.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Brian Fox</a>
* @author jdcasey
- *
*/
public class MavenITmng3729MultiForkAggregatorsTest
extends AbstractMavenIntegrationTestCase