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-ffa450edef68master
parent
9f2696c98a
commit
2f5568284f
|
|
@ -29,10 +29,20 @@ import org.apache.maven.tools.plugin.DefaultPluginToolsRequest;
|
||||||
import org.apache.maven.tools.plugin.ExtendedMojoDescriptor;
|
import org.apache.maven.tools.plugin.ExtendedMojoDescriptor;
|
||||||
import org.apache.maven.tools.plugin.PluginToolsRequest;
|
import org.apache.maven.tools.plugin.PluginToolsRequest;
|
||||||
import org.apache.maven.tools.plugin.extractor.MojoDescriptorExtractor;
|
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.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.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.io.Writer;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -41,6 +51,13 @@ import java.util.List;
|
||||||
public class JavaMojoDescriptorExtractorTest
|
public class JavaMojoDescriptorExtractorTest
|
||||||
extends TestCase
|
extends TestCase
|
||||||
{
|
{
|
||||||
|
private File root;
|
||||||
|
|
||||||
|
protected void setUp()
|
||||||
|
{
|
||||||
|
File sourceFile = fileOf( "dir-flag.txt" );
|
||||||
|
root = sourceFile.getParentFile();
|
||||||
|
}
|
||||||
|
|
||||||
private File fileOf( String classpathResource )
|
private File fileOf( String classpathResource )
|
||||||
{
|
{
|
||||||
|
|
@ -56,28 +73,48 @@ public class JavaMojoDescriptorExtractorTest
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected List<MojoDescriptor> extract( String directory )
|
private PluginToolsRequest createRequest( String directory )
|
||||||
throws Exception
|
|
||||||
{
|
{
|
||||||
File sourceFile = fileOf( "dir-flag.txt" );
|
|
||||||
File dir = sourceFile.getParentFile();
|
|
||||||
|
|
||||||
Model model = new Model();
|
Model model = new Model();
|
||||||
model.setArtifactId( "maven-unitTesting-plugin" );
|
model.setArtifactId( "maven-unitTesting-plugin" );
|
||||||
|
|
||||||
MavenProject project = new MavenProject( model );
|
MavenProject project = new MavenProject( model );
|
||||||
|
|
||||||
project.setFile( new File( dir, "pom.xml" ) );
|
project.setFile( new File( root, "pom.xml" ) );
|
||||||
project.addCompileSourceRoot( new File( dir, directory ).getPath() );
|
project.addCompileSourceRoot( new File( root, directory ).getPath() );
|
||||||
|
|
||||||
PluginDescriptor pluginDescriptor = new PluginDescriptor();
|
PluginDescriptor pluginDescriptor = new PluginDescriptor();
|
||||||
pluginDescriptor.setGoalPrefix( "test" );
|
pluginDescriptor.setGoalPrefix( "test" );
|
||||||
|
pluginDescriptor.setDependencies( new ArrayList<ComponentDependency>() );
|
||||||
|
|
||||||
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();
|
MojoDescriptorExtractor extractor = new JavaMojoDescriptorExtractor();
|
||||||
|
PluginToolsRequest request = createRequest( directory );
|
||||||
|
|
||||||
return extractor.execute( request );
|
List<MojoDescriptor> 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<MojoDescriptor> extract( String directory )
|
||||||
|
throws Exception
|
||||||
|
{
|
||||||
|
return generate( directory ).getMojos();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testShouldFindTwoMojoDescriptorsInTestSourceDirectory()
|
public void testShouldFindTwoMojoDescriptorsInTestSourceDirectory()
|
||||||
|
|
@ -137,7 +174,7 @@ public class JavaMojoDescriptorExtractorTest
|
||||||
{
|
{
|
||||||
List<MojoDescriptor> results = extract( "source3" );
|
List<MojoDescriptor> results = extract( "source3" );
|
||||||
|
|
||||||
assertEquals( 0, results.size() );
|
assertNull( results );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue