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 2009/06/07 14:16:47 UTC
svn commit: r782377 - in
/maven/components/trunk/maven-core/src/main/java/org/apache/maven:
lifecycle/DefaultLifecycleExecutor.java plugin/DefaultPluginManager.java
plugin/MojoExecution.java
Author: bentmann
Date: Sun Jun 7 12:16:46 2009
New Revision: 782377
URL: http://svn.apache.org/viewvc?rev=782377&view=rev
Log:
o Fixed propagation of project-level plugin dependencies by directly associating the mojo execution with the originating plugin instance. The key difference between a plugin instance and the g:a:v triplet are the dependencies in the plugin instance which can't be easily reconstructed from just the g:a:v but are crucial for construction of the plugin realm.
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=782377&r1=782376&r2=782377&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Sun Jun 7 12:16:46 2009
@@ -313,7 +313,11 @@
//TODO: remove hard coding
if ( phase.equals( "clean" ) )
{
- mojos.add( new MojoExecution( "org.apache.maven.plugins", "maven-clean-plugin", "2.3", "clean", "default-clean" ) );
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( "org.apache.maven.plugins" );
+ plugin.setArtifactId( "maven-clean-plugin" );
+ plugin.setVersion( "2.3" );
+ mojos.add( new MojoExecution( plugin, "clean", "default-clean" ) );
}
// This is just just laying out the initial structure of the mojos to run in each phase of the
@@ -347,7 +351,7 @@
phaseToMojoMapping.put( execution.getPhase(), new ArrayList<MojoExecution>() );
}
- MojoExecution mojoExecution = new MojoExecution( plugin.getGroupId(), plugin.getArtifactId(), plugin.getVersion(), goal, execution.getId() );
+ MojoExecution mojoExecution = new MojoExecution( plugin, goal, execution.getId() );
phaseToMojoMapping.get( execution.getPhase() ).add( mojoExecution );
}
}
@@ -360,7 +364,7 @@
if ( mojoDescriptor.getPhase() != null && phaseToMojoMapping.get( mojoDescriptor.getPhase() ) != null )
{
- MojoExecution mojoExecution = new MojoExecution( plugin.getGroupId(), plugin.getArtifactId(), plugin.getVersion(), goal, execution.getId() );
+ MojoExecution mojoExecution = new MojoExecution( plugin, goal, execution.getId() );
phaseToMojoMapping.get( mojoDescriptor.getPhase() ).add( mojoExecution );
}
}
@@ -395,7 +399,7 @@
// org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process
//
MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor(
- mojoExecution.getGroupId(), mojoExecution.getArtifactId(), mojoExecution.getVersion(), mojoExecution.getGoal(), session.getLocalRepository(), project.getPluginArtifactRepositories() );
+ mojoExecution.getPlugin(), mojoExecution.getGoal(), session.getLocalRepository(), project.getPluginArtifactRepositories() );
requiredDependencyResolutionScope = calculateRequiredDependencyResolutionScope( requiredDependencyResolutionScope, mojoDescriptor.isDependencyResolutionRequired() );
@@ -794,7 +798,7 @@
{
for( String goal : pluginExecution.getGoals() )
{
- Xpp3Dom dom = getDefaultPluginConfiguration( plugin.getGroupId(), plugin.getArtifactId(), plugin.getVersion(), goal, localRepository, remoteRepositories );
+ Xpp3Dom dom = getDefaultPluginConfiguration( plugin, goal, localRepository, remoteRepositories );
pluginExecution.setConfiguration( Xpp3Dom.mergeXpp3Dom( (Xpp3Dom) pluginExecution.getConfiguration(), dom, Boolean.TRUE ) );
}
}
@@ -809,14 +813,14 @@
}
}
- private Xpp3Dom getDefaultPluginConfiguration( String groupId, String artifactId, String version, String goal, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
+ private Xpp3Dom getDefaultPluginConfiguration( Plugin plugin, String goal, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
throws LifecycleExecutionException
{
MojoDescriptor mojoDescriptor;
try
{
- mojoDescriptor = pluginManager.getMojoDescriptor( groupId, artifactId, version, goal, localRepository, remoteRepositories );
+ mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, localRepository, remoteRepositories );
}
catch ( PluginNotFoundException e )
{
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=782377&r1=782376&r2=782377&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Sun Jun 7 12:16:46 2009
@@ -274,7 +274,7 @@
// defined dependencies and then the result is merged with the overrides. The overrides don't pass through the metadata source which is where the
// Artifact.setFile( file ) method is called. We should eventually take care of this in the resolver.
Artifact a = repositorySystem.createDependencyArtifact( dependencySpecifiedInProject );
- if ( a.getScope().equals( Artifact.SCOPE_SYSTEM ) )
+ if ( Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
{
a.setFile( new File( dependencySpecifiedInProject.getSystemPath() ) );
}
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java?rev=782377&r1=782376&r2=782377&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java Sun Jun 7 12:16:46 2009
@@ -19,16 +19,14 @@
* under the License.
*/
+import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.codehaus.plexus.util.xml.Xpp3Dom;
public class MojoExecution
{
- private String groupId;
-
- private String artifactId;
-
- private String version;
+
+ private Plugin plugin;
private String goal;
@@ -44,11 +42,9 @@
*/
private String lifecyclePhase;
- public MojoExecution( String groupId, String artifactId, String version, String goal, String executionId )
+ public MojoExecution( Plugin plugin, String goal, String executionId )
{
- this.groupId = groupId;
- this.artifactId = artifactId;
- this.version = version;
+ this.plugin = plugin;
this.goal = goal;
this.executionId = executionId;
}
@@ -79,6 +75,16 @@
return executionId;
}
+ public Plugin getPlugin()
+ {
+ if ( mojoDescriptor != null )
+ {
+ return mojoDescriptor.getPluginDescriptor().getPlugin();
+ }
+
+ return plugin;
+ }
+
public MojoDescriptor getMojoDescriptor()
{
return mojoDescriptor;
@@ -133,7 +139,7 @@
return mojoDescriptor.getPluginDescriptor().getGroupId();
}
- return groupId;
+ return plugin.getGroupId();
}
public String getArtifactId()
@@ -143,7 +149,7 @@
return mojoDescriptor.getPluginDescriptor().getArtifactId();
}
- return artifactId;
+ return plugin.getArtifactId();
}
public String getVersion()
@@ -153,7 +159,7 @@
return mojoDescriptor.getPluginDescriptor().getVersion();
}
- return version;
+ return plugin.getVersion();
}
public String getGoal()