Author: hboutemy
Date: Sun Feb 3 03:28:18 2008
New Revision: 617974
URL: http://svn.apache.org/viewvc?rev=617974&view=rev
Log:
[MNG-1412] check that dependencies order in classpath matches pom.xml
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng1412DependenciesOrderTest.java
(with props)
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/pom.xml
(with props)
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/ITmng1412DependenciesOrderTest.java
(with props)
Modified:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
Modified:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java?rev=617974&r1=617973&r2=617974&view=diff
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
(original)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
Sun Feb 3 03:28:18 2008
@@ -141,7 +141,7 @@
suite.addTestSuite( MavenIT0087Test.class );
suite.addTestSuite( MavenIT0088Test.class );
suite.addTestSuite( MavenIT0089Test.class );
- suite.addTestSuite( MavenIT0090Test.class);
+ suite.addTestSuite( MavenIT0090Test.class );
suite.addTestSuite( MavenIT0092Test.class );
suite.addTestSuite( MavenIT0094Test.class );
suite.addTestSuite( MavenIT0095Test.class );
@@ -159,10 +159,11 @@
suite.addTestSuite(
MavenIT0113ServerAuthzAvailableToWagonMgrInPlugin.class );
suite.addTestSuite( MavenIT0114ExtensionThatProvidesResources.class );
suite.addTestSuite( MavenIT0118AttachedArtifactsInReactor.class );
- suite.addTestSuite( MavenITmng2254PomEncodingTest.class);
+ suite.addTestSuite( MavenITmng2254PomEncodingTest.class );
suite.addTestSuite(
MavenIT0129ResourceProvidedToAPluginAsAPluginDependency.class );
- suite.addTestSuite(
MavenITmng2045testJarDependenciesBrokenInReactorTest.class);
- suite.addTestSuite(
MavenITmng2277AggregatorAndResolutionPluginsTest.class);
+ suite.addTestSuite(
MavenITmng2045testJarDependenciesBrokenInReactorTest.class );
+ suite.addTestSuite(
MavenITmng2277AggregatorAndResolutionPluginsTest.class );
+ suite.addTestSuite( MavenITmng1412DependenciesOrderTest.class );
//
----------------------------------------------------------------------------------------------------
// Tests that need to be fixed.
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng1412DependenciesOrderTest.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng1412DependenciesOrderTest.java?rev=617974&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng1412DependenciesOrderTest.java
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng1412DependenciesOrderTest.java
Sun Feb 3 03:28:18 2008
@@ -0,0 +1,43 @@
+package org.apache.maven.integrationtests;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.integrationtests.AbstractMavenIntegrationTestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+/**
+ * Test that dependencies order in classpath matches pom.xml.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Herve Boutemy</a>
+ *
+ */
+public class MavenITmng1412DependenciesOrderTest
+ extends AbstractMavenIntegrationTestCase
+{
+ public MavenITmng1412DependenciesOrderTest()
+ throws InvalidVersionSpecificationException
+ {
+ super( "(2.0.8,)" ); // 2.0.9+
+ }
+
+ public void testitMNG1412()
+ throws Exception
+ {
+ // The testdir is computed from the location of this file.
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(),
"/mng-1412-DependenciesOrder" );
+
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-N" );
+ verifier.executeGoal( "test" );
+
+ verifier.verifyErrorFreeLog();
+
+ verifier.resetStreams();
+ }
+}
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng1412DependenciesOrderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/pom.xml
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/pom.xml?rev=617974&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/pom.xml
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/pom.xml
Sun Feb 3 03:28:18 2008
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>maven-it-MNG1412-DependenciesOrder</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <description>Check that dependencies are available in classpath in same
order as declared in POM</description>
+ <dependencies>
+ <dependency>
+ <groupId>commons-net</groupId>
+ <artifactId>commons-net</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/ITmng1412DependenciesOrderTest.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/ITmng1412DependenciesOrderTest.java?rev=617974&view=auto
==============================================================================
---
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/ITmng1412DependenciesOrderTest.java
(added)
+++
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/ITmng1412DependenciesOrderTest.java
Sun Feb 3 03:28:18 2008
@@ -0,0 +1,55 @@
+package org.apache.maven.its.itmng1412;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+
+import org.apache.commons.lang.StringUtils;
+
+import junit.framework.TestCase;
+
+/**
+ * Test that dependencies order in classpath matches pom.xml.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Herve Boutemy</a>
+ *
+ */
+public class ITmng1412DependenciesOrderTest
+extends TestCase
+{
+ private final static String[] EXTENSIONS = {
+ // same order as in pom.xml
+ "commons-net",
+ "commons-collections",
+ "commons-lang",
+ "commons-io",
+ };
+
+ public void testOrder() throws IOException
+ {
+ String expected = StringUtils.join( EXTENSIONS, ',' );
+ StringBuffer found = new StringBuffer();
+
+ Enumeration resources = this.getClass().getClassLoader().getResources(
"META-INF/MANIFEST.MF" );
+ while ( resources.hasMoreElements() )
+ {
+ URL url = (URL) resources.nextElement();
+
+ Manifest manifest = new Manifest( url.openStream() );
+ Attributes attributes = manifest.getMainAttributes();
+ String extensionName = attributes.getValue( "Extension-Name" );
+
+ if ( ( extensionName != null ) && extensionName.startsWith(
"commons" ) )
+ {
+ if ( found.length() > 0 )
+ {
+ found.append( ',' );
+ }
+ found.append( extensionName );
+ }
+ }
+ assertEquals( "dependencies order in classpath should match pom.xml",
expected, found.toString() );
+ }
+}
Propchange:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/ITmng1412DependenciesOrderTest.java
------------------------------------------------------------------------------
svn:eol-style = native