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