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


Reply via email to