fixed comparison reprodicibility problems against plugin-expected.xml by sorting mojos and parameters lists

git-svn-id: https://svn.apache.org/repos/asf/maven/plugin-tools/trunk@1212910 13f79535-47bb-0310-9956-ffa450edef68
master
Herve Boutemy 2011-12-10 22:40:00 +00:00
parent f1d00798bf
commit d39092e447
2 changed files with 33 additions and 27 deletions

View File

@ -31,6 +31,7 @@ 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.Generator;
import org.apache.maven.tools.plugin.generator.PluginDescriptorGenerator; import org.apache.maven.tools.plugin.generator.PluginDescriptorGenerator;
import org.apache.maven.tools.plugin.util.PluginUtils;
import org.codehaus.plexus.component.repository.ComponentDependency; import org.codehaus.plexus.component.repository.ComponentDependency;
import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.FileUtils;
import org.custommonkey.xmlunit.Diff; import org.custommonkey.xmlunit.Diff;
@ -98,8 +99,14 @@ public class JavaMojoDescriptorExtractorTest
List<MojoDescriptor> mojoDescriptors = extractor.execute( request ); List<MojoDescriptor> mojoDescriptors = extractor.execute( request );
// to ensure order against plugin-expected.xml
PluginUtils.sortMojos( mojoDescriptors );
for ( MojoDescriptor mojoDescriptor : mojoDescriptors ) for ( MojoDescriptor mojoDescriptor : mojoDescriptors )
{ {
// to ensure order against plugin-expected.xml
PluginUtils.sortMojoParameters( mojoDescriptor.getParameters() );
request.getPluginDescriptor().addMojo( mojoDescriptor ); request.getPluginDescriptor().addMojo( mojoDescriptor );
} }
@ -130,8 +137,7 @@ public class JavaMojoDescriptorExtractorTest
if ( !diff.identical() ) if ( !diff.identical() )
{ {
// elements order is not the same on every machine, cause problems with lists... fail( "generated plugin.xml is not identical as plugin-expected.xml for " + directory + ": " + diff );
//fail( "generated plugin.xml is not identital as plugin-expected.xml for " + directory + ": " + diff );
} }
} }

View File

@ -29,31 +29,6 @@
<isolatedRealm>false</isolatedRealm> <isolatedRealm>false</isolatedRealm>
<inheritedByDefault>true</inheritedByDefault> <inheritedByDefault>true</inheritedByDefault>
<mojos> <mojos>
<mojo>
<goal>ideaTwo</goal>
<description>Create an IDEA project file from a Maven project.</description>
<requiresDependencyResolution>compile</requiresDependencyResolution>
<requiresDirectInvocation>false</requiresDirectInvocation>
<requiresProject>true</requiresProject>
<requiresReports>false</requiresReports>
<aggregator>false</aggregator>
<requiresOnline>false</requiresOnline>
<inheritedByDefault>true</inheritedByDefault>
<implementation>source.JavaExtractorTestTwo</implementation>
<language>java</language>
<instantiationStrategy>per-lookup</instantiationStrategy>
<executionStrategy>once-per-session</executionStrategy>
<threadSafe>false</threadSafe>
<parameters>
<parameter>
<name>project</name>
<type>java.lang.String[]</type>
<required>true</required>
<editable>true</editable>
<description>Maven project used to generate IDEA project files.</description>
</parameter>
</parameters>
</mojo>
<mojo> <mojo>
<goal>ideaOne</goal> <goal>ideaOne</goal>
<description>Create an IDEA project file from a Maven project.</description> <description>Create an IDEA project file from a Maven project.</description>
@ -79,6 +54,31 @@
</parameter> </parameter>
</parameters> </parameters>
</mojo> </mojo>
<mojo>
<goal>ideaTwo</goal>
<description>Create an IDEA project file from a Maven project.</description>
<requiresDependencyResolution>compile</requiresDependencyResolution>
<requiresDirectInvocation>false</requiresDirectInvocation>
<requiresProject>true</requiresProject>
<requiresReports>false</requiresReports>
<aggregator>false</aggregator>
<requiresOnline>false</requiresOnline>
<inheritedByDefault>true</inheritedByDefault>
<implementation>source.JavaExtractorTestTwo</implementation>
<language>java</language>
<instantiationStrategy>per-lookup</instantiationStrategy>
<executionStrategy>once-per-session</executionStrategy>
<threadSafe>false</threadSafe>
<parameters>
<parameter>
<name>project</name>
<type>java.lang.String[]</type>
<required>true</required>
<editable>true</editable>
<description>Maven project used to generate IDEA project files.</description>
</parameter>
</parameters>
</mojo>
</mojos> </mojos>
<dependencies/> <dependencies/>
</plugin> </plugin>