jvanzyl 2004/04/07 10:37:39
Modified: maven-plugins/maven-xdoc-plugin project.xml
maven-plugins/maven-xdoc-plugin/src/main/java/org/apache/maven/xdoc
XdocPlugin.java
maven-plugins/maven-xdoc-plugin/src/main/resources/META-INF/maven
plugin.xml
maven-plugins/maven-xdoc-plugin/src/test/java/org/apache/maven/xdoc/render
XdocPluginTest.java
Removed: maven-plugins/maven-xdoc-plugin/src/main/java/org/apache/maven/xdoc
Xdoc.java
Log:
o making the xdoc plugin and integrated plugin and starting to build a
plugin test harness that can be used by any integrated plugin. I will
push the test case back into the maven-core once I'm finished.
Revision Changes Path
1.2 +6 -0 maven-components/maven-plugins/maven-xdoc-plugin/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/maven-components/maven-plugins/maven-xdoc-plugin/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- project.xml 7 Apr 2004 01:36:01 -0000 1.1
+++ project.xml 7 Apr 2004 17:37:39 -0000 1.2
@@ -95,6 +95,12 @@
<version>1.1-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>ognl</groupId>
+ <artifactId>ognl</artifactId>
+ <version>2.5.1</version>
+ </dependency>
+
</dependencies>
<reports>
1.4 +3 -1
maven-components/maven-plugins/maven-xdoc-plugin/src/main/java/org/apache/maven/xdoc/XdocPlugin.java
Index: XdocPlugin.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-plugins/maven-xdoc-plugin/src/main/java/org/apache/maven/xdoc/XdocPlugin.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XdocPlugin.java 7 Apr 2004 15:09:32 -0000 1.3
+++ XdocPlugin.java 7 Apr 2004 17:37:39 -0000 1.4
@@ -4,6 +4,7 @@
import org.apache.maven.xdoc.render.DefaultXdocRenderer;
import org.apache.maven.plugin.PluginExecutionResponse;
import org.apache.maven.plugin.PluginExecutionRequest;
+import org.apache.maven.plugin.Plugin;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
@@ -21,6 +22,7 @@
* @version $Id$
*/
public class XdocPlugin
+ implements Plugin
{
private DefaultXdocRenderer renderer;
1.2 +1 -1
maven-components/maven-plugins/maven-xdoc-plugin/src/main/resources/META-INF/maven/plugin.xml
Index: plugin.xml
===================================================================
RCS file:
/home/cvs/maven-components/maven-plugins/maven-xdoc-plugin/src/main/resources/META-INF/maven/plugin.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- plugin.xml 7 Apr 2004 15:14:15 -0000 1.1
+++ plugin.xml 7 Apr 2004 17:37:39 -0000 1.2
@@ -13,7 +13,7 @@
</parameter>
<parameter>
<name>outputDirectory</name>
- <expression>#maven.build.dest</expression>
+ <expression>target/docs</expression>
</parameter>
<parameter>
<name>project</name>
1.2 +76 -9
maven-components/maven-plugins/maven-xdoc-plugin/src/test/java/org/apache/maven/xdoc/render/XdocPluginTest.java
Index: XdocPluginTest.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-plugins/maven-xdoc-plugin/src/test/java/org/apache/maven/xdoc/render/XdocPluginTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XdocPluginTest.java 7 Apr 2004 01:36:04 -0000 1.1
+++ XdocPluginTest.java 7 Apr 2004 17:37:39 -0000 1.2
@@ -3,20 +3,28 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.xdoc.XdocPlugin;
+import org.apache.maven.plugin.PluginExecutionRequest;
+import org.apache.maven.plugin.PluginExecutionResponse;
+import org.apache.maven.plugin.Plugin;
+import org.apache.maven.plugin.plexus.executor.IntegratedPluginExecutor;
+import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugin.descriptor.GoalDescriptor;
import org.codehaus.plexus.PlexusTestCase;
import java.io.File;
+import java.io.InputStreamReader;
+import java.util.Iterator;
/**
- *
- *
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
- *
* @version $Id$
*/
public class XdocPluginTest
extends PlexusTestCase
{
+ protected static String PLUGIN_DESCRIPTOR = "META-INF/maven/plugin.xml";
+
public XdocPluginTest( String s )
{
super( s );
@@ -29,16 +37,75 @@
MavenProjectBuilder builder = (MavenProjectBuilder) lookup(
MavenProjectBuilder.ROLE );
- MavenProject project = builder.build( new File( System.getProperty(
"basedir"), "project.xml" ) );
+ MavenProject project = builder.build( new File( System.getProperty(
"basedir" ), "project.xml" ) );
XdocPlugin plugin = new XdocPlugin();
- plugin.setXdocDirectory( new File( basedir, "xdocs" ).getPath() );
+ PluginExecutionResponse response = executePlugin( plugin, project );
+
+ if ( response.exceptionOccurred() )
+ {
+ throw new Exception( response.getException() );
+ }
+ }
+
+ protected PluginExecutionResponse executePlugin( Plugin plugin, MavenProject
project )
+ throws Exception
+ {
+ IntegratedPluginExecutor executor = new IntegratedPluginExecutor();
+
+ PluginExecutionRequest request = createPluginExecutionRequest( "xdoc",
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,
"xdoc" );
+
+ PluginExecutionRequest request = new PluginExecutionRequest(
pluginDescriptor, goalDescriptor, project );
+
+ 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();
- plugin.setProject( project );
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- plugin.setOutputDirectory( new File( basedir, "target/docs" ).getPath() );
+ PluginDescriptor pluginDescriptor =
+ builder.build( new InputStreamReader( classLoader.getResourceAsStream(
PLUGIN_DESCRIPTOR ) ) );
- plugin.execute();
+ return pluginDescriptor;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]