org.apache.maven.plugin.assembly.artifact
Class DefaultDependencyResolver

java.lang.Object
  extended by org.codehaus.plexus.logging.AbstractLogEnabled
      extended by org.apache.maven.plugin.assembly.artifact.DefaultDependencyResolver
All Implemented Interfaces:
DependencyResolver, org.codehaus.plexus.logging.LogEnabled

public class DefaultDependencyResolver
extends org.codehaus.plexus.logging.AbstractLogEnabled
implements DependencyResolver

Version:
$Id: DefaultDependencyResolver.java 728546 2008-12-21 22:56:51Z bentmann $
Author:
jdcasey

Constructor Summary
  DefaultDependencyResolver()
           
protected DefaultDependencyResolver(org.apache.maven.artifact.resolver.ArtifactResolver resolver, org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource, org.apache.maven.artifact.factory.ArtifactFactory factory, org.apache.maven.artifact.resolver.ArtifactCollector collector, org.codehaus.plexus.logging.Logger logger)
           
 
Method Summary
protected  java.util.List aggregateRemoteArtifactRepositories(java.util.List remoteRepositories, org.apache.maven.project.MavenProject project)
           
 java.util.Map buildManagedVersionMap(Assembly assembly, AssemblerConfigurationSource configSource)
          Traverse the assembly descriptor to determine which scopes, modules, etc.
protected  org.apache.maven.artifact.resolver.ArtifactCollector getArtifactCollector()
           
protected  org.apache.maven.artifact.factory.ArtifactFactory getArtifactFactory()
           
protected  org.apache.maven.artifact.metadata.ArtifactMetadataSource getArtifactMetadataSource()
           
protected  org.apache.maven.artifact.resolver.ArtifactResolver getArtifactResolver()
           
protected  void getDependencySetResolutionRequirements(java.util.List depSets, org.apache.maven.plugin.assembly.artifact.ResolutionManagementInfo requirements)
           
protected  java.util.Map getManagedVersionMap(org.apache.maven.project.MavenProject project)
           
protected  void getModuleSetResolutionRequirements(java.util.List moduleSets, org.apache.maven.plugin.assembly.artifact.ResolutionManagementInfo requirements, AssemblerConfigurationSource configSource)
           
protected  void getRepositoryResolutionRequirements(java.util.List repositories, org.apache.maven.plugin.assembly.artifact.ResolutionManagementInfo requirements)
           
protected  void manageArtifact(org.apache.maven.artifact.Artifact targetArtifact, java.util.Map managedVersions)
           
 java.util.Set resolveDependencies(org.apache.maven.project.MavenProject project, java.lang.String scope, java.util.Map managedVersions, org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List remoteRepositories, boolean resolveTransitively)
          Resolve the project dependencies, according to the supplied configuration.
protected  java.util.Set resolveNonTransitively(java.util.Set dependencyArtifacts, org.apache.maven.artifact.Artifact artifact, java.util.Map managedVersions, org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List repos, org.apache.maven.artifact.resolver.filter.ArtifactFilter filter)
           
protected  DefaultDependencyResolver setArtifactCollector(org.apache.maven.artifact.resolver.ArtifactCollector collector)
           
protected  DefaultDependencyResolver setArtifactFactory(org.apache.maven.artifact.factory.ArtifactFactory factory)
           
protected  DefaultDependencyResolver setArtifactMetadataSource(org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource)
           
protected  DefaultDependencyResolver setArtifactResolver(org.apache.maven.artifact.resolver.ArtifactResolver resolver)
           
protected  DefaultDependencyResolver setLogger(org.codehaus.plexus.logging.Logger logger)
           
 
Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultDependencyResolver

public DefaultDependencyResolver()

DefaultDependencyResolver

protected DefaultDependencyResolver(org.apache.maven.artifact.resolver.ArtifactResolver resolver,
                                    org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource,
                                    org.apache.maven.artifact.factory.ArtifactFactory factory,
                                    org.apache.maven.artifact.resolver.ArtifactCollector collector,
                                    org.codehaus.plexus.logging.Logger logger)
Method Detail

buildManagedVersionMap

public java.util.Map buildManagedVersionMap(Assembly assembly,
                                            AssemblerConfigurationSource configSource)
                                     throws ArchiveCreationException,
                                            org.apache.maven.artifact.versioning.InvalidVersionSpecificationException,
                                            org.apache.maven.project.artifact.InvalidDependencyVersionException,
                                            org.apache.maven.artifact.resolver.ArtifactResolutionException
Description copied from interface: DependencyResolver
Traverse the assembly descriptor to determine which scopes, modules, etc. will require dependency resolution. Once we have a complete picture of what will be required in the way of resolution, feed all of this into the ArtifactCollector to discover/resolve versions for all dependencies in the mix, then save these versions in a mapping of:
Artifact.getDependencyConflictId() -> Artifact
This allows dependency conflict resolution to happen a single time, then be reused multiple times during the construction of the assembly archive.

Specified by:
buildManagedVersionMap in interface DependencyResolver
Throws:
ArchiveCreationException
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException
org.apache.maven.project.artifact.InvalidDependencyVersionException
org.apache.maven.artifact.resolver.ArtifactResolutionException

resolveDependencies

public java.util.Set resolveDependencies(org.apache.maven.project.MavenProject project,
                                         java.lang.String scope,
                                         java.util.Map managedVersions,
                                         org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                                         java.util.List remoteRepositories,
                                         boolean resolveTransitively)
                                  throws org.apache.maven.project.artifact.InvalidDependencyVersionException,
                                         org.apache.maven.artifact.resolver.ArtifactResolutionException,
                                         org.apache.maven.artifact.resolver.ArtifactNotFoundException
Description copied from interface: DependencyResolver
Resolve the project dependencies, according to the supplied configuration.

Specified by:
resolveDependencies in interface DependencyResolver
Parameters:
project - The project whose dependencies should be resolved
scope - The dependency scope to resolve
managedVersions - The map of managed versions, which allows dependency version conflict resolution to happen once for the entire assembly process.
localRepository - The local repository which acts as a local cache for remote artifact repositories
remoteRepositories - The list of remote ArtifactRepository instances to use during resolution, in addition to those defined in the supplied MavenProject instance.
resolveTransitively - If true, resolve project dependencies transitively; if false, only resolve the project's direct dependencies.
Returns:
The set of resolved Artifact instances for the project
Throws:
org.apache.maven.project.artifact.InvalidDependencyVersionException
org.apache.maven.artifact.resolver.ArtifactResolutionException
org.apache.maven.artifact.resolver.ArtifactNotFoundException

resolveNonTransitively

protected java.util.Set resolveNonTransitively(java.util.Set dependencyArtifacts,
                                               org.apache.maven.artifact.Artifact artifact,
                                               java.util.Map managedVersions,
                                               org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                                               java.util.List repos,
                                               org.apache.maven.artifact.resolver.filter.ArtifactFilter filter)
                                        throws org.apache.maven.artifact.resolver.ArtifactResolutionException,
                                               org.apache.maven.artifact.resolver.ArtifactNotFoundException
Throws:
org.apache.maven.artifact.resolver.ArtifactResolutionException
org.apache.maven.artifact.resolver.ArtifactNotFoundException

manageArtifact

protected void manageArtifact(org.apache.maven.artifact.Artifact targetArtifact,
                              java.util.Map managedVersions)

aggregateRemoteArtifactRepositories

protected java.util.List aggregateRemoteArtifactRepositories(java.util.List remoteRepositories,
                                                             org.apache.maven.project.MavenProject project)

getManagedVersionMap

protected java.util.Map getManagedVersionMap(org.apache.maven.project.MavenProject project)
                                      throws org.apache.maven.artifact.versioning.InvalidVersionSpecificationException
Throws:
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException

getRepositoryResolutionRequirements

protected void getRepositoryResolutionRequirements(java.util.List repositories,
                                                   org.apache.maven.plugin.assembly.artifact.ResolutionManagementInfo requirements)

getModuleSetResolutionRequirements

protected void getModuleSetResolutionRequirements(java.util.List moduleSets,
                                                  org.apache.maven.plugin.assembly.artifact.ResolutionManagementInfo requirements,
                                                  AssemblerConfigurationSource configSource)
                                           throws ArchiveCreationException
Throws:
ArchiveCreationException

getDependencySetResolutionRequirements

protected void getDependencySetResolutionRequirements(java.util.List depSets,
                                                      org.apache.maven.plugin.assembly.artifact.ResolutionManagementInfo requirements)

getArtifactResolver

protected org.apache.maven.artifact.resolver.ArtifactResolver getArtifactResolver()

setArtifactResolver

protected DefaultDependencyResolver setArtifactResolver(org.apache.maven.artifact.resolver.ArtifactResolver resolver)

getArtifactMetadataSource

protected org.apache.maven.artifact.metadata.ArtifactMetadataSource getArtifactMetadataSource()

setArtifactMetadataSource

protected DefaultDependencyResolver setArtifactMetadataSource(org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource)

getArtifactFactory

protected org.apache.maven.artifact.factory.ArtifactFactory getArtifactFactory()

setArtifactFactory

protected DefaultDependencyResolver setArtifactFactory(org.apache.maven.artifact.factory.ArtifactFactory factory)

getArtifactCollector

protected org.apache.maven.artifact.resolver.ArtifactCollector getArtifactCollector()

setArtifactCollector

protected DefaultDependencyResolver setArtifactCollector(org.apache.maven.artifact.resolver.ArtifactCollector collector)

setLogger

protected DefaultDependencyResolver setLogger(org.codehaus.plexus.logging.Logger logger)


Copyright © 2002-2010 Apache Software Foundation. All Rights Reserved.