Class DefaultDependencyCollector
java.lang.Object
org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector
- All Implemented Interfaces:
DependencyCollector
,Service
@Singleton
@Named
public class DefaultDependencyCollector
extends Object
implements DependencyCollector, Service
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
(package private) static class
(package private) static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private static final int
private static final String
private static final int
private ArtifactDescriptorReader
private static final org.slf4j.Logger
private RemoteRepositoryManager
private VersionRangeResolver
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultDependencyCollector
(RemoteRepositoryManager remoteRepositoryManager, ArtifactDescriptorReader artifactDescriptorReader, VersionRangeResolver versionRangeResolver) -
Method Summary
Modifier and TypeMethodDescriptionprivate VersionRangeResult
cachedResolveRangeResult
(VersionRangeRequest rangeRequest, DataPool pool, RepositorySystemSession session) collectDependencies
(RepositorySystemSession session, CollectRequest request) Collects the transitive dependencies of some artifacts and builds a dependency graph.private static ArtifactDescriptorRequest
createArtifactDescriptorRequest
(DefaultDependencyCollector.Args args, List<RemoteRepository> repositories, Dependency d) private static DefaultDependencyNode
createDependencyNode
(List<Artifact> relocations, DefaultDependencyCollector.PremanagedDependency preManaged, VersionRangeResult rangeResult, Version version, Dependency d, Collection<Artifact> aliases, List<RemoteRepository> repos, String requestContext) private static DefaultDependencyNode
createDependencyNode
(List<Artifact> relocations, DefaultDependencyCollector.PremanagedDependency preManaged, VersionRangeResult rangeResult, Version version, Dependency d, ArtifactDescriptorResult descriptorResult, DependencyNode cycleNode) private static VersionRangeRequest
createVersionRangeRequest
(DefaultDependencyCollector.Args args, List<RemoteRepository> repositories, Dependency dependency) private void
doRecurse
(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter, Dependency d, ArtifactDescriptorResult descriptorResult, DefaultDependencyNode child) filterVersions
(Dependency dependency, VersionRangeResult rangeResult, VersionFilter verFilter, DefaultVersionFilterContext verContext) private ArtifactDescriptorResult
getArtifactDescriptorResult
(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, boolean noDescriptor, Dependency d, ArtifactDescriptorRequest descriptorRequest) private static String
private static List<RemoteRepository>
getRemoteRepositories
(ArtifactRepository repository, List<RemoteRepository> repositories) void
initService
(ServiceLocator locator) Provides the opportunity to initialize this service and to acquire other services for its operation from the locator.private static boolean
isLackingDescriptor
(Artifact artifact) private List<Dependency>
mergeDeps
(List<Dependency> dominant, List<Dependency> recessive) private static RepositorySystemSession
optimizeSession
(RepositorySystemSession session) private void
process
(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, List<Dependency> dependencies, List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter) private void
processDependency
(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter, Dependency dependency) private void
processDependency
(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter, Dependency dependency, List<Artifact> relocations, boolean disableVersionManagement) private ArtifactDescriptorResult
resolveCachedArtifactDescriptor
(DataPool pool, ArtifactDescriptorRequest descriptorRequest, RepositorySystemSession session, Dependency d, DefaultDependencyCollector.Results results, DefaultDependencyCollector.Args args) setArtifactDescriptorReader
(ArtifactDescriptorReader artifactDescriptorReader) setRemoteRepositoryManager
(RemoteRepositoryManager remoteRepositoryManager) setVersionRangeResolver
(VersionRangeResolver versionRangeResolver)
-
Field Details
-
CONFIG_PROP_MAX_EXCEPTIONS
- See Also:
-
CONFIG_PROP_MAX_EXCEPTIONS_DEFAULT
private static final int CONFIG_PROP_MAX_EXCEPTIONS_DEFAULT- See Also:
-
CONFIG_PROP_MAX_CYCLES
- See Also:
-
CONFIG_PROP_MAX_CYCLES_DEFAULT
private static final int CONFIG_PROP_MAX_CYCLES_DEFAULT- See Also:
-
LOGGER
private static final org.slf4j.Logger LOGGER -
remoteRepositoryManager
-
descriptorReader
-
versionRangeResolver
-
-
Constructor Details
-
DefaultDependencyCollector
public DefaultDependencyCollector() -
DefaultDependencyCollector
@Inject DefaultDependencyCollector(RemoteRepositoryManager remoteRepositoryManager, ArtifactDescriptorReader artifactDescriptorReader, VersionRangeResolver versionRangeResolver)
-
-
Method Details
-
initService
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
-
mergeDeps
-
getId
-
process
private void process(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, List<Dependency> dependencies, List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter) -
processDependency
private void processDependency(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter, Dependency dependency) -
processDependency
private void processDependency(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, List<RemoteRepository> repositories, DependencySelector depSelector, DependencyManager depManager, DependencyTraverser depTraverser, VersionFilter verFilter, Dependency dependency, List<Artifact> relocations, boolean disableVersionManagement) -
doRecurse
private void doRecurse(DefaultDependencyCollector.Args args, DefaultDependencyCollector.Results results, 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(List<Artifact> relocations, DefaultDependencyCollector.PremanagedDependency preManaged, VersionRangeResult rangeResult, Version version, Dependency d, Collection<Artifact> aliases, List<RemoteRepository> repos, String requestContext) -
createDependencyNode
private static DefaultDependencyNode createDependencyNode(List<Artifact> relocations, DefaultDependencyCollector.PremanagedDependency preManaged, VersionRangeResult rangeResult, Version version, Dependency d, ArtifactDescriptorResult descriptorResult, DependencyNode cycleNode) -
createArtifactDescriptorRequest
private static ArtifactDescriptorRequest createArtifactDescriptorRequest(DefaultDependencyCollector.Args args, List<RemoteRepository> repositories, Dependency d) -
createVersionRangeRequest
private static VersionRangeRequest createVersionRangeRequest(DefaultDependencyCollector.Args args, List<RemoteRepository> repositories, Dependency dependency) -
cachedResolveRangeResult
private VersionRangeResult cachedResolveRangeResult(VersionRangeRequest rangeRequest, DataPool pool, RepositorySystemSession session) throws VersionRangeResolutionException - Throws:
VersionRangeResolutionException
-
isLackingDescriptor
-
getRemoteRepositories
private static List<RemoteRepository> getRemoteRepositories(ArtifactRepository repository, List<RemoteRepository> repositories) -
filterVersions
private static List<? extends Version> filterVersions(Dependency dependency, VersionRangeResult rangeResult, VersionFilter verFilter, DefaultVersionFilterContext verContext) throws VersionRangeResolutionException - Throws:
VersionRangeResolutionException
-