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 2010/08/25 19:00:20 UTC
svn commit: r989222 - in /maven/maven-3/trunk/maven-core/src:
main/java/org/apache/maven/lifecycle/internal/
test/java/org/apache/maven/lifecycle/internal/
Author: bentmann
Date: Wed Aug 25 17:00:20 2010
New Revision: 989222
URL: http://svn.apache.org/viewvc?rev=989222&view=rev
Log:
[MNG-4776] NPE during build from parent but not from child
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java?rev=989222&r1=989221&r2=989222&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java Wed Aug 25 17:00:20 2010
@@ -483,11 +483,9 @@ public class DefaultLifecycleExecutionPl
PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
{
- calculateForkedExecutions( mojoExecution, session, session.getCurrentProject(), new HashSet<MojoDescriptor>() );
-
+ calculateForkedExecutions( mojoExecution, session, session.getCurrentProject(), new HashSet<MojoDescriptor>() );
}
-
private void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session, MavenProject project,
Collection<MojoDescriptor> alreadyForkedExecutions )
throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
@@ -511,6 +509,11 @@ public class DefaultLifecycleExecutionPl
for ( MavenProject forkedProject : forkedProjects )
{
+ if ( forkedProject != project )
+ {
+ lifecyclePluginResolver.resolveMissingPluginVersions( forkedProject, session );
+ }
+
List<MojoExecution> forkedExecutions;
if ( StringUtils.isNotEmpty( mojoDescriptor.getExecutePhase() ) )
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java?rev=989222&r1=989221&r2=989222&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java Wed Aug 25 17:00:20 2010
@@ -60,7 +60,7 @@ public class LifecyclePluginResolver
public void resolveMissingPluginVersions( MavenProject project, MavenSession session )
throws PluginVersionResolutionException
{
- Map<String, String> versions = new HashMap<String, String>();
+ Map<String, String> versions = new HashMap<String, String>( 64 );
for ( Plugin plugin : project.getBuildPlugins() )
{
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java?rev=989222&r1=989221&r2=989222&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java Wed Aug 25 17:00:20 2010
@@ -42,6 +42,7 @@ import org.apache.maven.project.MavenPro
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import java.util.ArrayList;
@@ -63,6 +64,10 @@ import java.util.StringTokenizer;
@Component( role = MojoDescriptorCreator.class )
public class MojoDescriptorCreator
{
+
+ @Requirement
+ private Logger logger;
+
@Requirement
private PluginVersionResolver pluginVersionResolver;
@@ -72,17 +77,22 @@ public class MojoDescriptorCreator
@Requirement
private PluginPrefixResolver pluginPrefixResolver;
+ @Requirement
+ private LifecyclePluginResolver lifecyclePluginResolver;
+
@SuppressWarnings( { "UnusedDeclaration" } )
public MojoDescriptorCreator()
{
}
public MojoDescriptorCreator( PluginVersionResolver pluginVersionResolver, BuildPluginManager pluginManager,
- PluginPrefixResolver pluginPrefixResolver )
+ PluginPrefixResolver pluginPrefixResolver,
+ LifecyclePluginResolver lifecyclePluginResolver )
{
this.pluginVersionResolver = pluginVersionResolver;
this.pluginManager = pluginManager;
this.pluginPrefixResolver = pluginPrefixResolver;
+ this.lifecyclePluginResolver = lifecyclePluginResolver;
}
private Plugin findPlugin( String groupId, String artifactId, Collection<Plugin> plugins )
@@ -221,6 +231,19 @@ public class MojoDescriptorCreator
{
// [prefix]:[goal]
+ if ( session.getCurrentProject() != null )
+ {
+ try
+ {
+ lifecyclePluginResolver.resolveMissingPluginVersions( session.getCurrentProject(), session );
+ }
+ catch ( PluginVersionResolutionException e )
+ {
+ // not critical here
+ logger.debug( e.getMessage(), e );
+ }
+ }
+
PluginPrefixRequest prefixRequest = new DefaultPluginPrefixRequest( prefix, session );
PluginPrefixResult prefixResult = pluginPrefixResolver.resolve( prefixRequest );
Modified: maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java?rev=989222&r1=989221&r2=989222&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java (original)
+++ maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java Wed Aug 25 17:00:20 2010
@@ -73,6 +73,7 @@ public class LifecycleExecutionPlanCalcu
public static MojoDescriptorCreator createMojoDescriptorCreator()
{
return new MojoDescriptorCreator( new PluginVersionResolverStub(), new BuildPluginManagerStub(),
- new PluginPrefixResolverStub() );
+ new PluginPrefixResolverStub(),
+ new LifecyclePluginResolver( new PluginVersionResolverStub() ) );
}
}