o get rid of dead MavenSession methods

git-svn-id: https://svn.apache.org/repos/asf/maven/components/branches/MNG-2766@759511 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2009-03-28 17:19:32 +00:00
parent 6bcb9de387
commit 9ed0e15d31
8 changed files with 58 additions and 72 deletions

View File

@ -341,7 +341,7 @@ public class DefaultMaven
protected MavenSession createSession( MavenExecutionRequest request, ReactorManager reactorManager, EventDispatcher dispatcher ) protected MavenSession createSession( MavenExecutionRequest request, ReactorManager reactorManager, EventDispatcher dispatcher )
{ {
MavenSession session = new MavenSession( container, request, reactorManager, dispatcher ); MavenSession session = new MavenSession( container, request );
return session; return session;
} }

View File

@ -91,21 +91,6 @@ public class MavenSession
this.eventDispatcher = new DefaultEventDispatcher( request.getEventMonitors() ); this.eventDispatcher = new DefaultEventDispatcher( request.getEventMonitors() );
} }
//TODO: get rid of this
public MavenSession( PlexusContainer container, MavenExecutionRequest request, ReactorManager reactorManager )
{
this.container = container;
this.request = request;
this.reactorManager = reactorManager;
}
//TODO: get rid of this
public MavenSession( PlexusContainer container, MavenExecutionRequest request, ReactorManager reactorManager, EventDispatcher eventdispatcher )
{
this( container, request, reactorManager );
this.eventDispatcher = eventdispatcher;
}
public Map<String,Object> getPluginContext( PluginDescriptor pluginDescriptor, MavenProject project ) public Map<String,Object> getPluginContext( PluginDescriptor pluginDescriptor, MavenProject project )
{ {
if ( reactorManager == null ) if ( reactorManager == null )

View File

@ -24,7 +24,6 @@ import java.util.Map;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import org.apache.maven.BuildFailureException; import org.apache.maven.BuildFailureException;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.execution.MavenSession; import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.ReactorManager; import org.apache.maven.execution.ReactorManager;
import org.apache.maven.lifecycle.mapping.LifecycleMapping; import org.apache.maven.lifecycle.mapping.LifecycleMapping;
@ -320,26 +319,12 @@ public class DefaultLifecycleExecutor
return lifecyclePlan; return lifecyclePlan;
} }
//TODO: which form is most useful. passing in string to parse is not really good.
MojoDescriptor getMojoDescriptor( Artifact pluginArtifact, String goal, MavenSession session, MavenProject project )
throws LifecycleExecutionException
{
return null;
}
MojoDescriptor getMojoDescriptor( String groupId, String artifactId, String version, String goal, MavenSession session, MavenProject project )
throws LifecycleExecutionException
{
return null;
}
// org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process // org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process
MojoDescriptor getMojoDescriptor( String task, MavenSession session, MavenProject project ) MojoDescriptor getMojoDescriptor( String task, MavenSession session, MavenProject project )
throws LifecycleExecutionException throws LifecycleExecutionException
{ {
String goal; String goal;
Plugin plugin; Plugin plugin;
StringTokenizer tok = new StringTokenizer( task, ":" ); StringTokenizer tok = new StringTokenizer( task, ":" );
@ -366,7 +351,16 @@ public class DefaultLifecycleExecutor
{ {
for ( Plugin buildPlugin : project.getBuildPlugins() ) for ( Plugin buildPlugin : project.getBuildPlugins() )
{ {
PluginDescriptor desc = loadPlugin( buildPlugin, project, session ); PluginDescriptor desc;
try
{
desc = pluginManager.loadPlugin( buildPlugin, project, session );
}
catch ( PluginLoaderException e )
{
throw new LifecycleExecutionException( "Error loading PluginDescriptor.", e );
}
if ( prefix.equals( desc.getGoalPrefix() ) ) if ( prefix.equals( desc.getGoalPrefix() ) )
{ {
@ -408,30 +402,24 @@ public class DefaultLifecycleExecutor
project.injectPluginManagementInfo( plugin ); project.injectPluginManagementInfo( plugin );
} }
PluginDescriptor pluginDescriptor = loadPlugin( plugin, project, session ); MojoDescriptor mojoDescriptor;
try
{
mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session );
}
catch ( PluginLoaderException e )
{
throw new LifecycleExecutionException( "Error loading MojoDescriptor.", e );
}
// this has been simplified from the old code that injected the plugin management stuff, since // this has been simplified from the old code that injected the plugin management stuff, since
// pluginManagement injection is now handled by the project method. // pluginManagement injection is now handled by the project method.
project.addPlugin( plugin ); project.addPlugin( plugin );
MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
return mojoDescriptor; return mojoDescriptor;
} }
private PluginDescriptor loadPlugin( Plugin plugin, MavenProject project, MavenSession session )
throws LifecycleExecutionException
{
try
{
return pluginManager.loadPlugin( plugin, project, session );
}
catch ( PluginLoaderException e )
{
throw new LifecycleExecutionException( e.getMessage(), e );
}
}
public void initialize() public void initialize()
throws InitializationException throws InitializationException
{ {

View File

@ -1814,4 +1814,10 @@ public class DefaultPluginManager
throw new PluginLoaderException( plugin, "Failed to load plugin. Reason: " + e.getMessage(), e ); throw new PluginLoaderException( plugin, "Failed to load plugin. Reason: " + e.getMessage(), e );
} }
} }
public MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, MavenSession session )
throws PluginLoaderException
{
return loadPlugin( plugin, session.getCurrentProject(), session ).getMojo( goal );
}
} }

View File

@ -20,6 +20,7 @@ import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.execution.MavenSession; import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin; import org.apache.maven.model.Plugin;
import org.apache.maven.model.ReportPlugin; import org.apache.maven.model.ReportPlugin;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor; import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProject;
import org.apache.maven.project.artifact.InvalidDependencyVersionException; import org.apache.maven.project.artifact.InvalidDependencyVersionException;
@ -40,6 +41,10 @@ public interface PluginManager
PluginDescriptor loadPlugin( Plugin plugin, MavenProject project, MavenSession session ) PluginDescriptor loadPlugin( Plugin plugin, MavenProject project, MavenSession session )
throws PluginLoaderException; throws PluginLoaderException;
MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, MavenSession session )
throws PluginLoaderException;
//!!jvz The current project is contained in the session
void executeMojo( MavenProject project, MojoExecution execution, MavenSession session ) void executeMojo( MavenProject project, MojoExecution execution, MavenSession session )
throws MojoFailureException, PluginExecutionException, PluginConfigurationException; throws MojoFailureException, PluginExecutionException, PluginConfigurationException;

View File

@ -22,6 +22,7 @@ import org.apache.maven.wagon.Wagon;
import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.util.dag.CycleDetectedException; import org.codehaus.plexus.util.dag.CycleDetectedException;
//TODO: use the AbstractCoreMavenComponentTest
public class BuildExtensionListenerTest public class BuildExtensionListenerTest
extends PlexusTestCase extends PlexusTestCase
{ {
@ -70,7 +71,7 @@ public class BuildExtensionListenerTest
ReactorManager rm = new ReactorManager( Collections.singletonList( project ), ReactorManager.FAIL_FAST ); ReactorManager rm = new ReactorManager( Collections.singletonList( project ), ReactorManager.FAIL_FAST );
MavenExecutionRequest request = new DefaultMavenExecutionRequest(); MavenExecutionRequest request = new DefaultMavenExecutionRequest();
request.setLocalRepositoryPath( new File( System.getProperty( "user.home" ), ".m2/repository" ) ); request.setLocalRepositoryPath( new File( System.getProperty( "user.home" ), ".m2/repository" ) );
MavenSession session = new MavenSession( getContainer(), request, rm ); MavenSession session = new MavenSession( getContainer(), request );
return session; return session;
} }

View File

@ -1,12 +1,8 @@
package org.apache.maven.plugin; package org.apache.maven.plugin;
import java.io.File;
import java.util.List;
import org.apache.maven.AbstractCoreMavenComponentTest; import org.apache.maven.AbstractCoreMavenComponentTest;
import org.apache.maven.execution.MavenSession; import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.MojoExecution; import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.PluginManager;
import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor; import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.component.annotations.Requirement;
@ -26,7 +22,7 @@ public class PluginManagerTest
protected String getProjectsDirectory() protected String getProjectsDirectory()
{ {
return "src/test/projects/plugin-manager"; return "src/test/projects/lifecycle-executor";
} }
// ----------------------------------------------------------------------------------------------- // -----------------------------------------------------------------------------------------------
@ -44,9 +40,14 @@ public class PluginManagerTest
throws Exception throws Exception
{ {
MavenSession session = createMavenSession( getProject( "project-with-inheritance" ) ); MavenSession session = createMavenSession( getProject( "project-with-inheritance" ) );
String pluginArtifactId = "remote-resources";
String goal = "process"; String goal = "process";
MojoDescriptor mojoDescriptor = lifecycleExecutor.getMojoDescriptor( pluginArtifactId + ":" + goal, session, session.getCurrentProject() );
Plugin plugin = new Plugin();
plugin.setGroupId( "org.apache.maven.plugins" );
plugin.setArtifactId( "maven-remote-resources-plugin" );
plugin.setVersion( "1.0" );
MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session );
assertPluginDescriptor( mojoDescriptor, "org.apache.maven.plugins", "maven-remote-resources-plugin", "1.0" ); assertPluginDescriptor( mojoDescriptor, "org.apache.maven.plugins", "maven-remote-resources-plugin", "1.0" );
MojoExecution mojoExecution = new MojoExecution( mojoDescriptor ); MojoExecution mojoExecution = new MojoExecution( mojoDescriptor );
pluginManager.executeMojo( session.getCurrentProject(), mojoExecution, session ); pluginManager.executeMojo( session.getCurrentProject(), mojoExecution, session );
@ -56,9 +57,14 @@ public class PluginManagerTest
throws Exception throws Exception
{ {
MavenSession session = createMavenSession( getProject( "project-with-inheritance" ) ); MavenSession session = createMavenSession( getProject( "project-with-inheritance" ) );
String pluginArtifactId = "surefire";
String goal = "test"; String goal = "test";
MojoDescriptor mojoDescriptor = lifecycleExecutor.getMojoDescriptor( pluginArtifactId + ":" + goal, session, session.getCurrentProject() );
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 );
assertPluginDescriptor( mojoDescriptor, "org.apache.maven.plugins", "maven-surefire-plugin", "2.4.2" ); assertPluginDescriptor( mojoDescriptor, "org.apache.maven.plugins", "maven-surefire-plugin", "2.4.2" );
MojoExecution mojoExecution = new MojoExecution( mojoDescriptor ); MojoExecution mojoExecution = new MojoExecution( mojoDescriptor );
pluginManager.executeMojo( session.getCurrentProject(), mojoExecution, session ); pluginManager.executeMojo( session.getCurrentProject(), mojoExecution, session );

View File

@ -42,7 +42,6 @@ import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.ReactorManager; import org.apache.maven.execution.ReactorManager;
import org.apache.maven.model.Build; import org.apache.maven.model.Build;
import org.apache.maven.model.Model; import org.apache.maven.model.Model;
import org.apache.maven.monitor.event.DefaultEventDispatcher;
import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor; import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProject;
@ -341,8 +340,7 @@ public class PluginParameterExpressionEvaluatorTest
assertEquals( "value", value ); assertEquals( "value", value );
} }
private static MavenSession createSession( PlexusContainer container, private static MavenSession createSession( PlexusContainer container, ArtifactRepository repo )
ArtifactRepository repo )
throws CycleDetectedException, DuplicateProjectException throws CycleDetectedException, DuplicateProjectException
{ {
MavenExecutionRequest request = new DefaultMavenExecutionRequest() MavenExecutionRequest request = new DefaultMavenExecutionRequest()
@ -352,7 +350,7 @@ public class PluginParameterExpressionEvaluatorTest
.setBaseDirectory( new File( "" ) ) .setBaseDirectory( new File( "" ) )
.setLocalRepository( repo ); .setLocalRepository( repo );
return new MavenSession( container, request, (List)null ); return new MavenSession( container, request );
} }
public void testLocalRepositoryExtraction() public void testLocalRepositoryExtraction()
@ -412,9 +410,7 @@ public class PluginParameterExpressionEvaluatorTest
return new MavenProject( new Model() ); return new MavenProject( new Model() );
} }
private ExpressionEvaluator createExpressionEvaluator( MavenProject project, private ExpressionEvaluator createExpressionEvaluator( MavenProject project, PluginDescriptor pluginDescriptor, Properties executionProperties )
PluginDescriptor pluginDescriptor,
Properties executionProperties )
throws Exception throws Exception
{ {
ArtifactRepositoryLayout repoLayout = lookup( ArtifactRepositoryLayout.class, "legacy" ); ArtifactRepositoryLayout repoLayout = lookup( ArtifactRepositoryLayout.class, "legacy" );
@ -430,8 +426,7 @@ public class PluginParameterExpressionEvaluatorTest
MojoExecution mojoExecution = new MojoExecution( mojo ); MojoExecution mojoExecution = new MojoExecution( mojo );
return new PluginParameterExpressionEvaluator( session, mojoExecution, null, container.getLogger(), project, return new PluginParameterExpressionEvaluator( session, mojoExecution, null, container.getLogger(), project, executionProperties );
executionProperties );
} }
protected Artifact createArtifact( String groupId, protected Artifact createArtifact( String groupId,
@ -472,7 +467,7 @@ public class PluginParameterExpressionEvaluatorTest
ReactorManager rm = new ReactorManager( Collections.singletonList( project ), ReactorManager.FAIL_FAST ); ReactorManager rm = new ReactorManager( Collections.singletonList( project ), ReactorManager.FAIL_FAST );
MockControl mockMavenExecutionRequest = MockControl.createControl( MavenExecutionRequest.class ); MockControl mockMavenExecutionRequest = MockControl.createControl( MavenExecutionRequest.class );
MavenExecutionRequest req = (MavenExecutionRequest) mockMavenExecutionRequest.getMock(); MavenExecutionRequest req = (MavenExecutionRequest) mockMavenExecutionRequest.getMock();
MavenSession session = new MavenSession( getContainer(), req, rm ); MavenSession session = new MavenSession( getContainer(), req );
return session; return session;
} }