jvanzyl 2004/05/07 18:28:51 Modified: maven-core project.xml Added: maven-core/src/main/java/org/apache/maven/plugin IntegratedPluginGoalTestCase.java Log: o moving the integrated plugin test case to the core so it can be used in all the core plugins. Revision Changes Path 1.10 +6 -0 maven-components/maven-core/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/maven-components/maven-core/project.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- project.xml 19 Apr 2004 13:34:04 -0000 1.9 +++ project.xml 8 May 2004 01:28:51 -0000 1.10 @@ -81,5 +81,11 @@ <artifactId>wagon-http</artifactId> <version>0.9-SNAPSHOT</version> </dependency> + <!-- For the abstract integrated plugin test case --> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + </dependency> </dependencies> </project> 1.1 maven-components/maven-core/src/main/java/org/apache/maven/plugin/IntegratedPluginGoalTestCase.java Index: IntegratedPluginGoalTestCase.java =================================================================== package org.apache.maven.plugin; import org.apache.maven.plugin.descriptor.GoalDescriptor; import org.apache.maven.plugin.descriptor.PluginDescriptor; import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder; import org.apache.maven.plugin.manager.DefaultPluginManagerManager; import org.apache.maven.plugin.manager.executor.IntegratedPluginExecutor; import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProjectBuilder; import org.codehaus.plexus.PlexusTestCase; import java.io.File; import java.io.InputStreamReader; import java.util.Iterator; import java.util.Map; /** * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a> * @version $Id: IntegratedPluginGoalTestCase.java,v 1.1 2004/05/08 01:28:51 jvanzyl Exp $ */ public abstract class IntegratedPluginGoalTestCase extends PlexusTestCase { protected static String PLUGIN_DESCRIPTOR = "META-INF/maven/plugin.xml"; public IntegratedPluginGoalTestCase( String s ) { super( s ); } public abstract String getPluginId(); public abstract String getGoal(); protected void setUp() throws Exception { super.setUp(); PluginDescriptor pluginDescriptor = findPluginDescriptor(); getContainer().addComponentDescriptor( pluginDescriptor ); } public void testIntegratedPlugin() throws Exception { MavenProjectBuilder builder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE ); MavenProject project = builder.build( new File( basedir, "project.xml" ) ); Plugin plugin = (Plugin) lookup( Plugin.ROLE, getPluginId() ); PluginExecutionResponse response = executePlugin( plugin, getGoal(), project ); if ( response.exceptionOccurred() ) { throw new Exception( response.getException() ); } } protected PluginExecutionResponse executePlugin( Plugin plugin, String goal, MavenProject project ) throws Exception { IntegratedPluginExecutor executor = new IntegratedPluginExecutor(); PluginExecutionRequest request = createPluginExecutionRequest( goal, project ); request.setPlugin( plugin ); PluginExecutionResponse response = new PluginExecutionResponse(); executor.execute( request, response ); return response; } protected PluginExecutionRequest createPluginExecutionRequest( String goal, MavenProject project ) throws Exception { PluginDescriptor pluginDescriptor = findPluginDescriptor(); GoalDescriptor goalDescriptor = findGoalDescriptor( pluginDescriptor, goal ); Map parameters = DefaultPluginManagerManager.createParameters( goalDescriptor, project ); PluginExecutionRequest request = new PluginExecutionRequest( parameters ); return request; } protected GoalDescriptor findGoalDescriptor( PluginDescriptor pluginDescriptor, String goal ) { GoalDescriptor goalDescriptor = null; for ( Iterator iterator = pluginDescriptor.getGoals().iterator(); iterator.hasNext(); ) { GoalDescriptor gd = (GoalDescriptor) iterator.next(); if ( gd.getName().equals( goal ) ) { goalDescriptor = gd; break; } } return goalDescriptor; } protected PluginDescriptor findPluginDescriptor() throws Exception { PluginDescriptorBuilder builder = new PluginDescriptorBuilder(); ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); PluginDescriptor pluginDescriptor = builder.build( new InputStreamReader( classLoader.getResourceAsStream( PLUGIN_DESCRIPTOR ) ) ); return pluginDescriptor; } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]