From 2f5568284f63456367d7a70e88b2c81b67ad5dea Mon Sep 17 00:00:00 2001 From: Herve Boutemy Date: Sat, 12 Nov 2011 23:42:45 +0000 Subject: [PATCH] generate plugin descriptor for later comparison with expected content git-svn-id: https://svn.apache.org/repos/asf/maven/plugin-tools/trunk@1201353 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/JavaMojoDescriptorExtractorTest.java | 57 +++++++++++++++---- 1 file changed, 47 insertions(+), 10 deletions(-) diff --git a/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java b/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java index cf933da..d69f2c9 100644 --- a/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java +++ b/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java @@ -29,10 +29,20 @@ import org.apache.maven.tools.plugin.DefaultPluginToolsRequest; import org.apache.maven.tools.plugin.ExtendedMojoDescriptor; import org.apache.maven.tools.plugin.PluginToolsRequest; import org.apache.maven.tools.plugin.extractor.MojoDescriptorExtractor; +import org.apache.maven.tools.plugin.generator.Generator; +import org.apache.maven.tools.plugin.generator.PluginDescriptorGenerator; +import org.codehaus.plexus.component.repository.ComponentDependency; import org.codehaus.plexus.util.FileUtils; +import org.codehaus.plexus.util.IOUtil; +import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; +import org.codehaus.plexus.util.xml.XMLWriter; import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; import java.net.URL; +import java.util.ArrayList; import java.util.List; /** @@ -41,6 +51,13 @@ import java.util.List; public class JavaMojoDescriptorExtractorTest extends TestCase { + private File root; + + protected void setUp() + { + File sourceFile = fileOf( "dir-flag.txt" ); + root = sourceFile.getParentFile(); + } private File fileOf( String classpathResource ) { @@ -56,28 +73,48 @@ public class JavaMojoDescriptorExtractorTest return result; } - protected List extract( String directory ) - throws Exception + private PluginToolsRequest createRequest( String directory ) { - File sourceFile = fileOf( "dir-flag.txt" ); - File dir = sourceFile.getParentFile(); - Model model = new Model(); model.setArtifactId( "maven-unitTesting-plugin" ); MavenProject project = new MavenProject( model ); - project.setFile( new File( dir, "pom.xml" ) ); - project.addCompileSourceRoot( new File( dir, directory ).getPath() ); + project.setFile( new File( root, "pom.xml" ) ); + project.addCompileSourceRoot( new File( root, directory ).getPath() ); PluginDescriptor pluginDescriptor = new PluginDescriptor(); pluginDescriptor.setGoalPrefix( "test" ); + pluginDescriptor.setDependencies( new ArrayList() ); - PluginToolsRequest request = new DefaultPluginToolsRequest( project, pluginDescriptor ).setEncoding( "UTF-8" ); + return new DefaultPluginToolsRequest( project, pluginDescriptor ).setEncoding( "UTF-8" ); + } + protected PluginDescriptor generate( String directory ) + throws Exception + { MojoDescriptorExtractor extractor = new JavaMojoDescriptorExtractor(); + PluginToolsRequest request = createRequest( directory ); - return extractor.execute( request ); + List mojoDescriptors = extractor.execute( request ); + + for ( MojoDescriptor mojoDescriptor : mojoDescriptors ) + { + request.getPluginDescriptor().addMojo( mojoDescriptor ); + } + + Generator descriptorGenerator = new PluginDescriptorGenerator(); + + descriptorGenerator.execute( new File( root, directory ), request ); + + return request.getPluginDescriptor(); + } + + @SuppressWarnings( "unchecked" ) + protected List extract( String directory ) + throws Exception + { + return generate( directory ).getMojos(); } public void testShouldFindTwoMojoDescriptorsInTestSourceDirectory() @@ -137,7 +174,7 @@ public class JavaMojoDescriptorExtractorTest { List results = extract( "source3" ); - assertEquals( 0, results.size() ); + assertNull( results ); } /**