Class DefaultDependencyCollector
- java.lang.Object
-
- org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector
-
- All Implemented Interfaces:
DependencyCollector
,Service
@Named public class DefaultDependencyCollector extends java.lang.Object implements DependencyCollector, Service
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
DefaultDependencyCollector.Args
(package private) static class
DefaultDependencyCollector.PremanagedDependency
(package private) static class
DefaultDependencyCollector.Results
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
CONFIG_PROP_MAX_CYCLES
private static int
CONFIG_PROP_MAX_CYCLES_DEFAULT
private static java.lang.String
CONFIG_PROP_MAX_EXCEPTIONS
private static int
CONFIG_PROP_MAX_EXCEPTIONS_DEFAULT
private ArtifactDescriptorReader
descriptorReader
private static org.slf4j.Logger
LOGGER
private RemoteRepositoryManager
remoteRepositoryManager
private VersionRangeResolver
versionRangeResolver
-
Constructor Summary
Constructors Constructor Description DefaultDependencyCollector()
DefaultDependencyCollector(RemoteRepositoryManager remoteRepositoryManager, ArtifactDescriptorReader artifactDescriptorReader, VersionRangeResolver versionRangeResolver)
-
Method Summary
-
-
-
Field Detail
-
CONFIG_PROP_MAX_EXCEPTIONS
private static final java.lang.String CONFIG_PROP_MAX_EXCEPTIONS
- See Also:
- Constant Field Values
-
CONFIG_PROP_MAX_EXCEPTIONS_DEFAULT
private static final int CONFIG_PROP_MAX_EXCEPTIONS_DEFAULT
- See Also:
- Constant Field Values
-
CONFIG_PROP_MAX_CYCLES
private static final java.lang.String CONFIG_PROP_MAX_CYCLES
- See Also:
- Constant Field Values
-
CONFIG_PROP_MAX_CYCLES_DEFAULT
private static final int CONFIG_PROP_MAX_CYCLES_DEFAULT
- See Also:
- Constant Field Values
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
remoteRepositoryManager
private RemoteRepositoryManager remoteRepositoryManager
-
descriptorReader
private ArtifactDescriptorReader descriptorReader
-
versionRangeResolver
private VersionRangeResolver versionRangeResolver
-
-
Constructor Detail
-
DefaultDependencyCollector
public DefaultDependencyCollector()
-
DefaultDependencyCollector
@Inject DefaultDependencyCollector(RemoteRepositoryManager remoteRepositoryManager, ArtifactDescriptorReader artifactDescriptorReader, VersionRangeResolver versionRangeResolver)
-
-
Method Detail
-
initService
public void initService(ServiceLocator locator)
Description copied from interface:Service
Provides the opportunity to initialize this service and to acquire other services for its operation from the locator. A service must not save the reference to the provided service locator.- Specified by:
initService
in interfaceService
- Parameters:
locator
- The service locator, must not benull
.
-
setRemoteRepositoryManager
public DefaultDependencyCollector setRemoteRepositoryManager(RemoteRepositoryManager remoteRepositoryManager)
-
setArtifactDescriptorReader
public DefaultDependencyCollector setArtifactDescriptorReader(ArtifactDescriptorReader artifactDescriptorReader)
-
setVersionRangeResolver
public DefaultDependencyCollector setVersionRangeResolver(VersionRangeResolver versionRangeResolver)
-
collectDependencies
public CollectResult collectDependencies(RepositorySystemSession session, CollectRequest request) throws DependencyCollectionException
Description copied from interface:DependencyCollector
Collects the transitive dependencies of some artifacts and builds a dependency graph. Note that this operation is only concerned about determining the coordinates of the transitive dependencies and does not actually resolve the artifact files. The supplied session carries various hooks to customize the dependency graph that must be invoked throughout the operation.- Specified by:
collectDependencies
in interfaceDependencyCollector
- Parameters:
session
- The repository session, must not benull
.request
- The collection request, must not benull
.- Returns:
- The collection result, never
null
. - Throws:
DependencyCollectionException
- If the dependency tree could not be built.- See Also:
RepositorySystemSession.getDependencyTraverser()
,RepositorySystemSession.getDependencyManager()
,RepositorySystemSession.getDependencySelector()
,RepositorySystemSession.getVersionFilter()
,RepositorySystemSession.getDependencyGraphTransformer()
,RepositorySystem.collectDependencies(RepositorySystemSession, CollectRequest)
-
optimizeSession
private static RepositorySystemSession optimizeSession(RepositorySystemSession session)
-
mergeDeps
private java.util.List<Dependency> mergeDeps(java.util.List<Dependency> dominant, java.util.List<Dependency> recessive)
-
getId
private static java.lang.String getId(Artifact a)
-
process
private void process(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, java.util.List<Dependency> dependencies, java.util.List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter)
-
processDependency
private void processDependency(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, java.util.List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter, Dependency dependency)
-
processDependency
private void processDependency(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, java.util.List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter, Dependency dependency, java.util.List<Artifact> relocations, boolean disableVersionManagement)
-
doRecurse
private void doRecurse(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, java.util.List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter, Dependency d, ArtifactDescriptorResult descriptorResult, DefaultDependencyNode child)
-
getArtifactDescriptorResult
private ArtifactDescriptorResult getArtifactDescriptorResult(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, boolean noDescriptor, Dependency d, ArtifactDescriptorRequest descriptorRequest)
-
resolveCachedArtifactDescriptor
private ArtifactDescriptorResult resolveCachedArtifactDescriptor(DataPool pool, ArtifactDescriptorRequest descriptorRequest, RepositorySystemSession session, Dependency d, DefaultDependencyCollector.Results results, DefaultDependencyCollector.Args args)
-
createDependencyNode
private static DefaultDependencyNode createDependencyNode(java.util.List<Artifact> relocations, DefaultDependencyCollector.PremanagedDependency preManaged, VersionRangeResult rangeResult, Version version, Dependency d, java.util.Collection<Artifact> aliases, java.util.List<RemoteRepository> repos, java.lang.String requestContext)
-
createDependencyNode
private static DefaultDependencyNode createDependencyNode(java.util.List<Artifact> relocations, DefaultDependencyCollector.PremanagedDependency preManaged, VersionRangeResult rangeResult, Version version, Dependency d, ArtifactDescriptorResult descriptorResult, DependencyNode cycleNode)
-
createArtifactDescriptorRequest
private static ArtifactDescriptorRequest createArtifactDescriptorRequest(DefaultDependencyCollector.Args args, java.util.List<RemoteRepository> repositories, Dependency d)
-
createVersionRangeRequest
private static VersionRangeRequest createVersionRangeRequest(DefaultDependencyCollector.Args args, java.util.List<RemoteRepository> repositories, Dependency dependency)
-
cachedResolveRangeResult
private VersionRangeResult cachedResolveRangeResult(VersionRangeRequest rangeRequest, DataPool pool, RepositorySystemSession session) throws VersionRangeResolutionException
- Throws:
VersionRangeResolutionException
-
isLackingDescriptor
private static boolean isLackingDescriptor(Artifact artifact)
-
getRemoteRepositories
private static java.util.List<RemoteRepository> getRemoteRepositories(ArtifactRepository repository, java.util.List<RemoteRepository> repositories)
-
filterVersions
private static java.util.List<? extends Version> filterVersions(Dependency dependency, VersionRangeResult rangeResult, VersionFilter verFilter, DefaultVersionFilterContext verContext) throws VersionRangeResolutionException
- Throws:
VersionRangeResolutionException
-
-