You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2009/04/24 05:18:52 UTC

svn commit: r768140 - in /maven/components/trunk/maven-mercury/src: main/java/org/apache/maven/mercury/MavenDependencyProcessor.java test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java

Author: sisbell
Date: Fri Apr 24 03:18:51 2009
New Revision: 768140

URL: http://svn.apache.org/viewvc?rev=768140&view=rev
Log:
Fixed interpolation in maven-mercury.

Modified:
    maven/components/trunk/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java
    maven/components/trunk/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java

Modified: maven/components/trunk/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java?rev=768140&r1=768139&r2=768140&view=diff
==============================================================================
--- maven/components/trunk/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java (original)
+++ maven/components/trunk/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java Fri Apr 24 03:18:51 2009
@@ -21,6 +21,7 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -30,6 +31,7 @@
 import org.apache.maven.mercury.builder.api.MetadataReader;
 import org.apache.maven.mercury.builder.api.MetadataReaderException;
 import org.apache.maven.model.DomainModel;
+import org.apache.maven.model.PomClassicDomainModel;
 import org.apache.maven.model.ProcessorContext;
 import org.apache.maven.model.interpolator.DefaultInterpolator;
 import org.apache.maven.model.interpolator.InterpolatorProperty;
@@ -68,7 +70,7 @@
 
         List<InterpolatorProperty> interpolatorProperties = createInterpolatorProperties(system, user);
 
-        List<DomainModel> domainModels = new ArrayList<DomainModel>();
+        List<PomClassicDomainModel> domainModels = new ArrayList<PomClassicDomainModel>();
         try
         {
             // MavenDomainModel superPom =
@@ -93,7 +95,7 @@
                 domainModels.add( new MavenDomainModel( transformProfiles( mc.getProperties() ) ) );
             }
 */
-            List<DomainModel> parentModels = getParentsOfDomainModel( domainModel, mdReader );
+            List<PomClassicDomainModel> parentModels = getParentsOfDomainModel( domainModel, mdReader );
 
             if ( parentModels == null )
             {
@@ -107,11 +109,19 @@
             throw new MetadataReaderException( "Failed to create domain model. Message = " + e.getMessage(), e );
         }
 
+        List<DomainModel> iModels = new ArrayList<DomainModel>();
+
+        
         try {
-			return new MavenDomainModel(new DefaultInterpolator().interpolateDomainModel(ProcessorContext.build(domainModels, null), 
-					interpolatorProperties)).getDependencyMetadata();
+            for(PomClassicDomainModel m : domainModels)
+            {
+            	iModels.add(new DefaultInterpolator().interpolateDomainModel(m, interpolatorProperties));
+            }
+            iModels.get(0).setMostSpecialized(true);
+                	
+			return new MavenDomainModel(ProcessorContext.build(iModels, null)).getDependencyMetadata();
 		} catch (IOException e) {
-			throw new DependencyProcessorException();
+			throw new DependencyProcessorException(e);
 		}
 
     }
@@ -135,10 +145,10 @@
         return interpolatorProperties;
     }
 
-    protected final List<DomainModel> getParentsOfDomainModel( MavenDomainModel domainModel, MetadataReader mdReader )
+    protected final List<PomClassicDomainModel> getParentsOfDomainModel( MavenDomainModel domainModel, MetadataReader mdReader )
         throws IOException, MetadataReaderException, DependencyProcessorException
     {
-        List<DomainModel> domainModels = new ArrayList<DomainModel>();
+        List<PomClassicDomainModel> domainModels = new ArrayList<PomClassicDomainModel>();
         if ( domainModel.hasParent() )
         {
             byte[] b = mdReader.readMetadata( domainModel.getParentMetadata() );

Modified: maven/components/trunk/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java?rev=768140&r1=768139&r2=768140&view=diff
==============================================================================
--- maven/components/trunk/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java (original)
+++ maven/components/trunk/maven-mercury/src/test/java/org/apache/maven/mercury/MavenDependencyProcessorTest.java Fri Apr 24 03:18:51 2009
@@ -1,15 +1,16 @@
 package org.apache.maven.mercury;
-
+ 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
+ 
 import java.io.File;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
-
+ 
 import org.apache.maven.mercury.artifact.ArtifactMetadata;
 import org.apache.maven.mercury.metadata.DependencyBuilder;
 import org.apache.maven.mercury.metadata.DependencyBuilderFactory;
@@ -23,7 +24,7 @@
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-
+ 
 /**
  *
  *
@@ -34,25 +35,25 @@
 public class MavenDependencyProcessorTest
 {
     LocalRepositoryM2 _localRepo;
-    
+ 
     RemoteRepositoryM2 _remoteRepo;
-    
+ 
     File _localRepoFile;
-
+ 
     static final String _remoteRepoDir = "./target/test-classes/repo";
-
+ 
     File _remoteRepoFile;
-
-    static final String _remoteRepoUrlPrefix = "http://localhost:";
-
-    static final String _remoteRepoUrlSufix = "/maven2";
-
+ 
+    static  String _remoteRepoUrlPrefix = "http://localhost:";
+ 
+    static  String _remoteRepoUrlSufix = "/maven2";
+ 
 //    HttpTestServer _jetty;
-
+ 
     int _port;
-    
+ 
     DependencyBuilder _depBuilder; 
-
+ 
     /**
      * @throws java.lang.Exception
      */
@@ -61,30 +62,35 @@
     throws Exception
     {
         MavenDependencyProcessor dp = new MavenDependencyProcessor();
-        
+ 
         _localRepoFile = File.createTempFile( "maven-mercury-", "-test-repo" );
         FileUtil.delete( _localRepoFile );
         _localRepoFile.mkdirs();
         _localRepoFile.deleteOnExit();
         _localRepo = new LocalRepositoryM2( "localRepo", _localRepoFile, dp );
-
+ 
         _remoteRepoFile = new File( _remoteRepoDir );
 //        _jetty = new HttpTestServer( _remoteRepoFile, _remoteRepoUrlSufix );
 // FIXME 2009-02-12 Oleg: disabling not to mess with jetty server. Will move to Mercury ITs             
 //        _jetty.start();
 //        _port = _jetty.getPort();
-        
+ 
+//        Server server = new Server( "testRemote", new URL(_remoteRepoUrlPrefix + _port + _remoteRepoUrlSufix) );
+ 
+        _remoteRepoUrlPrefix = "http://repo2.maven.org:";
+        _port = 80;
+        _remoteRepoUrlSufix = "/maven2";
         Server server = new Server( "testRemote", new URL(_remoteRepoUrlPrefix + _port + _remoteRepoUrlSufix) );
         _remoteRepo = new RemoteRepositoryM2( server, dp );
-        
+ 
         ArrayList<Repository> repos = new ArrayList<Repository>(2);
-        
+ 
         repos.add( _localRepo );
         repos.add( _remoteRepo );
-        
+ 
         _depBuilder = DependencyBuilderFactory.create( DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, repos, null, null, null );
     }
-
+ 
     /**
      * @throws java.lang.Exception
      */
@@ -101,47 +107,45 @@
 //            System.out.println( "Jetty on :" + _port + " destroyed\n<========\n\n" );
 //        }
     }
-    
+ 
     @Test
     public void testDummy()
     throws Exception
     {
-        
+ 
     }
-
+ 
     /**
      * Test method for {@link org.apache.maven.mercury.MavenDependencyProcessor#getDependencies(org.apache.maven.mercury.artifact.ArtifactMetadata, org.apache.maven.mercury.builder.api.MetadataReader, java.util.Map, java.util.Map)}.
      */
+    @Test
     public void testMavenVersion()
     throws Exception
     {
         RepositoryReader rr = _remoteRepo.getReader();
-        
-        String gav = "org.apache.maven.plugins:maven-dependency-plugin:2.0";
-        
+ 
+//        String gav = "org.apache.maven.plugins:maven-dependency-plugin:2.0";
+        String gav = "asm:asm-xml:3.0";
+ 
         ArtifactMetadata bmd = new ArtifactMetadata( gav );
         ArrayList<ArtifactMetadata> query = new ArrayList<ArtifactMetadata>(1);
         query.add( bmd );
-        
+ 
         MetadataResults res = rr.readDependencies( query );
-        
+ 
         assertNotNull( res );
-        
+ 
         assertFalse( res.hasExceptions() );
-        
+ 
         assertTrue( res.hasResults() );
-        
+ 
         List<ArtifactMetadata> deps = res.getResult( bmd );
-        
+ 
         assertNotNull( deps );
-        
+ 
         assertFalse( deps.isEmpty() );
-        
+        assertEquals("3.0", deps.get(0).getVersion());
         System.out.println(deps);
-        
-        for( ArtifactMetadata md : deps )
-            if( "${maven.version}".equals( md.getVersion() ) )
-                fail( "dependency has unresolved variable: "+md.toString() );
     }
-
-}
+ 
+}
\ No newline at end of file