Author: brett Date: Wed Jun 22 01:25:34 2005 New Revision: 191783 URL: http://svn.apache.org/viewcvs?rev=191783&view=rev Log: use managed versions for project
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathArtifactResolver.java Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?rev=191783&r1=191782&r2=191783&view=diff ============================================================================== --- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java (original) +++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java Wed Jun 22 01:25:34 2005 @@ -102,6 +102,7 @@ pom.getVersion(), null, pom.getPackaging() ); List remoteArtifactRepositories = createRemoteArtifactRepositories( getRemoteRepositories() ); + // TODO: managed dependencies result = resolver.resolveTransitively( artifacts, pomArtifact, remoteArtifactRepositories, localRepo, metadataSource ); } Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=191783&r1=191782&r2=191783&view=diff ============================================================================== --- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original) +++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Wed Jun 22 01:25:34 2005 @@ -31,8 +31,10 @@ import org.codehaus.plexus.logging.Logger; import java.io.File; +import java.util.Collections; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Set; public class DefaultArtifactResolver @@ -130,14 +132,35 @@ } public ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, - List remoteRepositories, ArtifactRepository localRepository, + ArtifactRepository localRepository, List remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter ) throws ArtifactResolutionException { + return resolveTransitively( artifacts, originatingArtifact, Collections.EMPTY_MAP, localRepository, + remoteRepositories, source, filter ); + + } + + public ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, + Map managedVersions, ArtifactRepository localRepository, + List remoteRepositories, ArtifactMetadataSource source ) + throws ArtifactResolutionException + { + return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository, + remoteRepositories, source, null ); + } + + public ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, + Map managedVersions, ArtifactRepository localRepository, + List remoteRepositories, ArtifactMetadataSource source, + ArtifactFilter filter ) + throws ArtifactResolutionException + { ArtifactResolutionResult artifactResolutionResult; - artifactResolutionResult = artifactCollector.collect( artifacts, originatingArtifact, localRepository, - remoteRepositories, source, filter, artifactFactory ); + artifactResolutionResult = artifactCollector.collect( artifacts, originatingArtifact, managedVersions, + localRepository, remoteRepositories, source, filter, + artifactFactory ); for ( Iterator i = artifactResolutionResult.getArtifacts().iterator(); i.hasNext(); ) { @@ -153,7 +176,7 @@ ArtifactMetadataSource source ) throws ArtifactResolutionException { - return resolveTransitively( artifacts, originatingArtifact, remoteRepositories, localRepository, source, null ); + return resolveTransitively( artifacts, originatingArtifact, localRepository, remoteRepositories, source, null ); } } Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java?rev=191783&r1=191782&r2=191783&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java (original) +++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java Wed Jun 22 01:25:34 2005 @@ -22,6 +22,7 @@ import org.apache.maven.artifact.resolver.filter.ArtifactFilter; import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -43,8 +44,18 @@ ArtifactRepository localRepository, ArtifactMetadataSource source ) throws ArtifactResolutionException; - ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, List remoteRepositories, - ArtifactRepository localRepository, ArtifactMetadataSource source, - ArtifactFilter filter ) + ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, + ArtifactRepository localRepository, List remoteRepositories, + ArtifactMetadataSource source, ArtifactFilter filter ) + throws ArtifactResolutionException; + + ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, Map managedVersions, + ArtifactRepository localRepository, List remoteRepositories, + ArtifactMetadataSource source ) + throws ArtifactResolutionException; + + ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, Map managedVersions, + ArtifactRepository localRepository, List remoteRepositories, + ArtifactMetadataSource source, ArtifactFilter filter ) throws ArtifactResolutionException; } Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=191783&r1=191782&r2=191783&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original) +++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Wed Jun 22 01:25:34 2005 @@ -92,7 +92,12 @@ Object key = node.getKey(); if ( managedVersions.containsKey( key ) ) { - node.getArtifact().setVersion( (String) managedVersions.get( key ) ); + Artifact artifact = (Artifact) managedVersions.get( key ); + // TODO: apply scope. assign whole artifact, except that the missing bits must be filled in + if ( artifact.getVersion() != null ) + { + node.getArtifact().setVersion( artifact.getVersion() ); + } } ResolutionNode previous = (ResolutionNode) resolvedArtifacts.get( key ); Modified: maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java?rev=191783&r1=191782&r2=191783&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java (original) +++ maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java Wed Jun 22 01:25:34 2005 @@ -284,8 +284,7 @@ private ArtifactResolutionResult collect( ArtifactSpec a, Artifact managedVersion ) throws ArtifactResolutionException { - Map managedVersions = Collections.singletonMap( managedVersion.getDependencyConflictId(), - managedVersion.getVersion() ); + Map managedVersions = Collections.singletonMap( managedVersion.getDependencyConflictId(), managedVersion ); return artifactCollector.collect( Collections.singleton( a.artifact ), projectArtifact.artifact, managedVersions, null, null, source, null, artifactFactory ); } Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=191783&r1=191782&r2=191783&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Wed Jun 22 01:25:34 2005 @@ -561,8 +561,9 @@ remoteArtifactRepositories ); ArtifactResolutionResult result = artifactResolver.resolveTransitively( dependencies, pluginArtifact, + localRepository, remoteArtifactRepositories, - localRepository, metadataSource, + metadataSource, artifactFilter ); Set resolved = result.getArtifacts(); @@ -586,7 +587,7 @@ ArtifactFilter distroProvidedFilter = new InversionArtifactFilter( artifactFilter ); ArtifactResolutionResult distroProvidedResult = artifactResolver - .resolveTransitively( dependencies, pluginArtifact, remoteArtifactRepositories, localRepository, + .resolveTransitively( dependencies, pluginArtifact, localRepository, remoteArtifactRepositories, metadataSource, distroProvidedFilter ); Set distroProvided = distroProvidedResult.getArtifacts(); @@ -1023,9 +1024,8 @@ // TODO: we don't need to resolve over and over again, as long as we are sure that the parameters are the same // check this with yourkit as a hot spot. ArtifactResolutionResult result = artifactResolver.resolveTransitively( project.getDependencyArtifacts(), - artifact, + artifact, context.getLocalRepository(), project.getRemoteArtifactRepositories(), - context.getLocalRepository(), sourceReader, filter ); project.setArtifacts( result.getArtifacts() ); Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=191783&r1=191782&r2=191783&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Wed Jun 22 01:25:34 2005 @@ -25,6 +25,8 @@ import org.apache.maven.artifact.resolver.ArtifactResolutionResult; import org.apache.maven.artifact.resolver.ArtifactResolver; import org.apache.maven.model.Build; +import org.apache.maven.model.Dependency; +import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DistributionManagement; import org.apache.maven.model.Model; import org.apache.maven.model.Parent; @@ -141,17 +143,33 @@ // ---------------------------------------------------------------------- // TODO: such a call in MavenMetadataSource too - packaging not really the intention of type - Artifact artifact = artifactFactory.createArtifact( project.getGroupId(), project.getArtifactId(), - project.getVersion(), null, project.getPackaging() ); + Artifact projectArtifact = artifactFactory.createArtifact( project.getGroupId(), project.getArtifactId(), + project.getVersion(), null, project.getPackaging() ); + Map managedVersions = createManagedVersionMap( project.getDependencyManagement() ); ArtifactResolutionResult result = artifactResolver.resolveTransitively( project.getDependencyArtifacts(), - artifact, - project.getRemoteArtifactRepositories(), + projectArtifact, managedVersions, localRepository, + project.getRemoteArtifactRepositories(), artifactMetadataSource ); project.setArtifacts( result.getArtifacts() ); return project; + } + + private Map createManagedVersionMap( DependencyManagement dependencyManagement ) + { + Map map = new HashMap(); + for ( Iterator i = dependencyManagement.getDependencies().iterator(); i.hasNext(); ) + { + Dependency d = (Dependency) i.next(); + + Artifact artifact = artifactFactory.createArtifact( d.getGroupId(), d.getArtifactId(), d.getVersion(), + d.getScope(), d.getType(), null ); + + map.put( d.getManagementKey(), artifact ); + } + return map; } public MavenProject build( File projectDescriptor, ArtifactRepository localRepository, List externalProfiles ) Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathArtifactResolver.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathArtifactResolver.java?rev=191783&r1=191782&r2=191783&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathArtifactResolver.java (original) +++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/ProjectClasspathArtifactResolver.java Wed Jun 22 01:25:34 2005 @@ -107,11 +107,11 @@ } public ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, - List remoteRepositories, ArtifactRepository localRepository, + ArtifactRepository localRepository, List remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter ) throws ArtifactResolutionException { - return super.resolveTransitively( artifacts, originatingArtifact, remoteRepositories, localRepository, + return super.resolveTransitively( artifacts, originatingArtifact, localRepository, remoteRepositories, new Source( artifactFactory ), filter ); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]