You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/04/29 05:45:44 UTC
svn commit: r769637 - in /maven/components/branches/MNG-2766:
maven-core/src/main/java/org/apache/maven/lifecycle/
maven-core/src/main/java/org/apache/maven/plugin/
maven-core/src/test/java/org/apache/maven/lifecycle/
maven-core/src/test/java/org/apach...
Author: jvanzyl
Date: Wed Apr 29 03:45:42 2009
New Revision: 769637
URL: http://svn.apache.org/viewvc?rev=769637&view=rev
Log:
o giving shane a handle on how to grab default plugin information as i've removed all the diddling in the plugin manager itself
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=769637&r1=769636&r2=769637&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Wed Apr 29 03:45:42 2009
@@ -25,6 +25,7 @@
import java.util.Set;
import java.util.StringTokenizer;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.ReactorManager;
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
@@ -40,10 +41,13 @@
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
//TODO: The configuration for the lifecycle needs to be externalized so that I can use the annotations
// properly for the wiring and reference and external source for the lifecycle configuration.
@@ -334,7 +338,7 @@
for( String goal : execution.getGoals() )
{
String s = plugin.getGroupId() + ":" + plugin.getArtifactId() + ":" + plugin.getVersion() + ":" + goal;
- MojoDescriptor md = getMojoDescriptor( s, session, project );
+ MojoDescriptor md = getMojoDescriptor( s, session.getCurrentProject(), session.getLocalRepository() );
// need to know if this plugin belongs to a phase in the lifecycle that's running
if ( md.getPhase() != null && lifecycle.getPhases().contains( md.getPhase() ) )
@@ -357,7 +361,7 @@
//
// org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process
//
- lifecyclePlan.add( getMojoDescriptor( mojo, session, project ) );
+ lifecyclePlan.add( getMojoDescriptor( mojo, project, session.getLocalRepository() ) );
}
}
@@ -365,7 +369,8 @@
}
// org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process
- MojoDescriptor getMojoDescriptor( String task, MavenSession session, MavenProject project )
+ MojoDescriptor getMojoDescriptor( String task, MavenProject project, ArtifactRepository localRepository )
+ //MojoDescriptor getMojoDescriptor( String groupId, String artifactId, String version, String goal, MavenProject project, ArtifactRepository localRepository )
throws LifecycleExecutionException
{
String goal;
@@ -389,7 +394,7 @@
// Maven plugin deployment we will find the right PluginDescriptor from the remote
// repository.
- plugin = pluginManager.findPluginForPrefix( prefix, project, session );
+ plugin = pluginManager.findPluginForPrefix( prefix, project );
// Search plugin in the current POM
if ( plugin == null )
@@ -400,7 +405,7 @@
try
{
- desc = pluginManager.loadPlugin( buildPlugin, project, session );
+ desc = pluginManager.loadPlugin( buildPlugin, project, localRepository );
}
catch ( PluginLoaderException e )
{
@@ -449,7 +454,7 @@
try
{
- mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session );
+ mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, project, localRepository );
}
catch ( PluginLoaderException e )
{
@@ -495,5 +500,34 @@
}
return null;
- }
+ }
+
+ public Xpp3Dom getDefaultPluginConfiguration( String groupId, String artifactId, String version, String goal, MavenProject project, ArtifactRepository localRepository )
+ throws LifecycleExecutionException
+ {
+ return convert( getMojoDescriptor( groupId+":"+artifactId+":"+version+":"+goal, project, localRepository ).getMojoConfiguration() );
+ }
+
+ public Xpp3Dom getMojoConfiguration( MojoDescriptor mojoDescriptor )
+ {
+ PlexusConfiguration configuration = mojoDescriptor.getConfiguration();
+
+ return convert( configuration );
+ }
+
+ public Xpp3Dom convert( PlexusConfiguration c )
+ {
+ Xpp3Dom dom = new Xpp3Dom( "configuration" );
+
+ PlexusConfiguration[] ces = c.getChildren();
+
+ for( PlexusConfiguration ce : ces )
+ {
+ Xpp3Dom e = new Xpp3Dom( ce.getName() );
+ e.setValue( ce.getValue( ce.getAttribute( "default-value", null ) ) );
+ dom.addChild( e );
+ }
+
+ return dom;
+ }
}
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=769637&r1=769636&r2=769637&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Wed Apr 29 03:45:42 2009
@@ -47,7 +47,6 @@
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.RuntimeInformation;
-import org.apache.maven.lifecycle.LifecycleExecutionException;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.PluginExecution;
@@ -136,7 +135,7 @@
}
// This should be template method code for allowing subclasses to assist in contributing search/hint information
- public Plugin findPluginForPrefix( String prefix, MavenProject project, MavenSession session )
+ public Plugin findPluginForPrefix( String prefix, MavenProject project )
{
//Use the plugin managers capabilities to get information to augement the request
@@ -144,7 +143,7 @@
//return getByPrefix( prefix, session.getPluginGroups(), project.getRemoteArtifactRepositories(), session.getLocalRepository() );
}
- public PluginDescriptor loadPlugin( Plugin plugin, MavenProject project, MavenSession session )
+ public PluginDescriptor loadPlugin( Plugin plugin, MavenProject project, ArtifactRepository localRepository )
throws PluginLoaderException
{
PluginDescriptor pluginDescriptor = getPluginDescriptor( plugin );
@@ -158,7 +157,7 @@
try
{
- return addPlugin( plugin, project, session );
+ return addPlugin( plugin, project, localRepository );
}
catch ( ArtifactResolutionException e )
{
@@ -191,13 +190,11 @@
return plugin.getGroupId() + ":" + plugin.getArtifactId() + ":" + plugin.getVersion();
}
- protected PluginDescriptor addPlugin( Plugin plugin, MavenProject project, MavenSession session )
+ protected PluginDescriptor addPlugin( Plugin plugin, MavenProject project, ArtifactRepository localRepository )
throws ArtifactNotFoundException, ArtifactResolutionException, InvalidPluginException, PluginVersionResolutionException, PluginContainerException, PluginVersionNotFoundException
{
- resolvePluginVersion( plugin, project, session );
+ resolvePluginVersion( plugin, project );
- ArtifactRepository localRepository = session.getLocalRepository();
-
MavenProject pluginProject = buildPluginProject( plugin, localRepository, new ArrayList( project.getRemoteArtifactRepositories() ) );
Artifact pluginArtifact = repositorySystem.createPluginArtifact( plugin );
@@ -214,7 +211,7 @@
ClassRealm pluginRealm = container.createChildRealm( pluginKey( plugin ) );
- Set<Artifact> pluginArtifacts = getPluginArtifacts( pluginArtifact, plugin, project, session.getLocalRepository() );
+ Set<Artifact> pluginArtifacts = getPluginArtifacts( pluginArtifact, plugin, project, localRepository );
for ( Artifact a : pluginArtifacts )
{
@@ -571,7 +568,7 @@
// override in the POM.
validatePomConfiguration( mojoDescriptor, pomConfiguration );
- ExpressionEvaluator expressionEvaluator = new PluginParameterExpressionEvaluator( session, mojoExecution );
+ ExpressionEvaluator expressionEvaluator = new PluginParameterExpressionEvaluator( session );
checkDeprecatedParameters( mojoDescriptor, pomConfiguration );
@@ -929,7 +926,7 @@
}
}
- public void resolvePluginVersion( Plugin plugin, MavenProject project, MavenSession session )
+ public void resolvePluginVersion( Plugin plugin, MavenProject project )
throws PluginVersionNotFoundException
{
String version = plugin.getVersion();
@@ -1022,7 +1019,7 @@
}
}
- public MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, MavenSession session )
+ public MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, MavenProject project, ArtifactRepository localRepository )
throws PluginLoaderException
{
if ( plugin.getVersion() == null )
@@ -1030,7 +1027,7 @@
throw new IllegalArgumentException("plugin.version: null");
}
- PluginDescriptor pluginDescriptor = loadPlugin( plugin, session.getCurrentProject(), session );
+ PluginDescriptor pluginDescriptor = loadPlugin( plugin, project, localRepository );
MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java?rev=769637&r1=769636&r2=769637&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java Wed Apr 29 03:45:42 2009
@@ -15,6 +15,7 @@
* the License.
*/
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
@@ -34,12 +35,12 @@
// - configure the plugin [extension point]
// - execute the plugin
- Plugin findPluginForPrefix( String prefix, MavenProject project, MavenSession session );
+ Plugin findPluginForPrefix( String prefix, MavenProject project );
- PluginDescriptor loadPlugin( Plugin plugin, MavenProject project, MavenSession session )
+ PluginDescriptor loadPlugin( Plugin plugin, MavenProject project, ArtifactRepository localRepository )
throws PluginLoaderException;
- MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, MavenSession session )
+ MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, MavenProject project, ArtifactRepository localRepository )
throws PluginLoaderException;
void executeMojo( MavenSession session, MojoExecution execution )
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java?rev=769637&r1=769636&r2=769637&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java Wed Apr 29 03:45:42 2009
@@ -45,9 +45,15 @@
private String basedir;
private Properties properties;
-
+
+ @Deprecated
public PluginParameterExpressionEvaluator( MavenSession session, MojoExecution mojoExecution )
{
+ this( session );
+ }
+
+ public PluginParameterExpressionEvaluator( MavenSession session )
+ {
this.session = session;
this.mojoExecution = mojoExecution;
this.properties = session.getExecutionProperties();
Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java?rev=769637&r1=769636&r2=769637&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java Wed Apr 29 03:45:42 2009
@@ -13,6 +13,7 @@
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
public class LifecycleExecutorTest
extends AbstractCoreMavenComponentTestCase
@@ -95,4 +96,15 @@
assertEquals( 8, plugins.size() );
}
+
+ public void testPluginConfigurationCreation()
+ throws Exception
+ {
+ File pom = getProject( "project-with-additional-lifecycle-elements" );
+ MavenSession session = createMavenSession( pom );
+ MojoDescriptor mojoDescriptor = lifecycleExecutor.getMojoDescriptor( "org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process", session.getCurrentProject(), session.getLocalRepository() );
+ Xpp3Dom dom = lifecycleExecutor.convert( mojoDescriptor.getMojoConfiguration() );
+ System.out.println( dom );
+ }
+
}
Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java?rev=769637&r1=769636&r2=769637&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java Wed Apr 29 03:45:42 2009
@@ -35,7 +35,7 @@
plugin.setGroupId( "org.codehaus.plexus" );
plugin.setArtifactId( "plexus-component-metadata" );
plugin.setVersion( plexusVersion );
- PluginDescriptor pluginDescriptor = pluginManager.loadPlugin( plugin, session.getCurrentProject(), session );
+ PluginDescriptor pluginDescriptor = pluginManager.loadPlugin( plugin, session.getCurrentProject(), session.getLocalRepository() );
assertNotNull( pluginDescriptor );
assertNotNull( pluginDescriptor.getClassRealm() );
}
@@ -50,7 +50,7 @@
plugin.setArtifactId( "plexus-component-metadata" );
plugin.setVersion( plexusVersion );
- MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session );
+ MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session.getCurrentProject(), session.getLocalRepository() );
assertNotNull( mojoDescriptor );
assertEquals( "generate-metadata", mojoDescriptor.getGoal() );
assertNotNull( mojoDescriptor.getRealm() );
@@ -86,24 +86,24 @@
plugin.setArtifactId( "maven-remote-resources-plugin" );
plugin.setVersion( "1.0-beta-2" );
- MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session );
+ MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session.getCurrentProject(), session.getLocalRepository() );
assertPluginDescriptor( mojoDescriptor, "org.apache.maven.plugins", "maven-remote-resources-plugin", "1.1" );
MojoExecution mojoExecution = new MojoExecution( mojoDescriptor );
pluginManager.executeMojo( session, mojoExecution );
}
-
+
public void testSurefirePlugin()
throws Exception
{
- MavenSession session = createMavenSession( getProject( "project-with-inheritance" ) );
+ MavenSession session = createMavenSession( getProject( "project-with-inheritance" ) );
String goal = "test";
Plugin plugin = new Plugin();
plugin.setGroupId( "org.apache.maven.plugins" );
plugin.setArtifactId( "maven-surefire-plugin" );
plugin.setVersion( "2.4.2" );
-
- MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session );
+
+ MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session.getCurrentProject(), session.getLocalRepository() );
assertPluginDescriptor( mojoDescriptor, "org.apache.maven.plugins", "maven-surefire-plugin", "2.4.2" );
MojoExecution mojoExecution = new MojoExecution( mojoDescriptor );
pluginManager.executeMojo( session, mojoExecution );
Modified: maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=769637&r1=769636&r2=769637&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original)
+++ maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Wed Apr 29 03:45:42 2009
@@ -274,13 +274,13 @@
* mkleint: protected so that IDE integrations can selectively allow downloading artifacts
* from remote repositories (if they prohibit by default on project loading)
* @throws PluginLoaderException
- */
protected void verifyPlugin( Plugin plugin, MavenProject project )
throws ComponentLookupException, PluginLoaderException
{
MavenSession session = new MavenSession( request );
pluginManager.loadPlugin( plugin, project, session );
}
+ */
// ----------------------------------------------------------------------
// Project