Package org.eclipse.aether.internal.impl
Class DefaultArtifactResolver
java.lang.Object
org.eclipse.aether.internal.impl.DefaultArtifactResolver
- All Implemented Interfaces:
ArtifactResolver
,Service
@Singleton
@Named
public class DefaultArtifactResolver
extends Object
implements ArtifactResolver, Service
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
(package private) static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Map
<String, ArtifactResolverPostProcessor> private static final String
Configuration to enable "interoperability" with Simple LRM, but this breaks RRF feature, hence this configuration is IGNORED when RRF is used, and is warmly recommended to leave it disabled even if no RRF is being used.private static final String
Configuration to enable "snapshot normalization", downloaded snapshots from remote with timestamped file names will have file names converted back to baseVersion.private FileProcessor
private static final org.slf4j.Logger
private OfflineController
private RemoteRepositoryFilterManager
private RemoteRepositoryManager
private RepositoryConnectorProvider
private RepositoryEventDispatcher
private SyncContextFactory
private UpdateCheckManager
private VersionResolver
-
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.DefaultArtifactResolver
(FileProcessor fileProcessor, RepositoryEventDispatcher repositoryEventDispatcher, VersionResolver versionResolver, UpdateCheckManager updateCheckManager, RepositoryConnectorProvider repositoryConnectorProvider, RemoteRepositoryManager remoteRepositoryManager, SyncContextFactory syncContextFactory, OfflineController offlineController, Map<String, ArtifactResolverPostProcessor> artifactResolverPostProcessors, RemoteRepositoryFilterManager remoteRepositoryFilterManager) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
artifactDownloaded
(RepositorySystemSession session, RequestTrace trace, Artifact artifact, RemoteRepository repository, Exception exception) private void
artifactDownloading
(RepositorySystemSession session, RequestTrace trace, Artifact artifact, RemoteRepository repository) private void
artifactResolved
(RepositorySystemSession session, RequestTrace trace, Artifact artifact, ArtifactRepository repository, List<Exception> exceptions) private void
artifactResolving
(RepositorySystemSession session, RequestTrace trace, Artifact artifact) private void
private List
<ArtifactDownload> private File
getFile
(RepositorySystemSession session, Artifact artifact, File file) void
initService
(ServiceLocator locator) Provides the opportunity to initialize this service and to acquire other services for its operation from the locator.private boolean
private void
private List
<ArtifactResult> resolve
(SyncContext shared, SyncContext exclusive, Collection<Artifact> subjects, RepositorySystemSession session, Collection<? extends ArtifactRequest> requests) resolveArtifact
(RepositorySystemSession session, ArtifactRequest request) Resolves the path for an artifact.resolveArtifacts
(RepositorySystemSession session, Collection<? extends ArtifactRequest> requests) Resolves the paths for a collection of artifacts.setArtifactResolverPostProcessors
(Map<String, ArtifactResolverPostProcessor> artifactResolverPostProcessors) setFileProcessor
(FileProcessor fileProcessor) setLoggerFactory
(LoggerFactory loggerFactory) Deprecated.not used any more since MRESOLVER-36 move to slf4j, added back in MRESOLVER-64 for compatibilitysetOfflineController
(OfflineController offlineController) setRemoteRepositoryFilterManager
(RemoteRepositoryFilterManager remoteRepositoryFilterManager) setRemoteRepositoryManager
(RemoteRepositoryManager remoteRepositoryManager) setRepositoryConnectorProvider
(RepositoryConnectorProvider repositoryConnectorProvider) setRepositoryEventDispatcher
(RepositoryEventDispatcher repositoryEventDispatcher) setSyncContextFactory
(SyncContextFactory syncContextFactory) setUpdateCheckManager
(UpdateCheckManager updateCheckManager) setVersionResolver
(VersionResolver versionResolver)
-
Field Details
-
CONFIG_PROP_SNAPSHOT_NORMALIZATION
Configuration to enable "snapshot normalization", downloaded snapshots from remote with timestamped file names will have file names converted back to baseVersion. Default:true
.- See Also:
-
CONFIG_PROP_SIMPLE_LRM_INTEROP
Configuration to enable "interoperability" with Simple LRM, but this breaks RRF feature, hence this configuration is IGNORED when RRF is used, and is warmly recommended to leave it disabled even if no RRF is being used. Default:false
.- See Also:
-
LOGGER
private static final org.slf4j.Logger LOGGER -
fileProcessor
-
repositoryEventDispatcher
-
versionResolver
-
updateCheckManager
-
repositoryConnectorProvider
-
remoteRepositoryManager
-
syncContextFactory
-
offlineController
-
artifactResolverPostProcessors
-
remoteRepositoryFilterManager
-
-
Constructor Details
-
DefaultArtifactResolver
Deprecated. -
DefaultArtifactResolver
@Inject public DefaultArtifactResolver(FileProcessor fileProcessor, RepositoryEventDispatcher repositoryEventDispatcher, VersionResolver versionResolver, UpdateCheckManager updateCheckManager, RepositoryConnectorProvider repositoryConnectorProvider, RemoteRepositoryManager remoteRepositoryManager, SyncContextFactory syncContextFactory, OfflineController offlineController, Map<String, ArtifactResolverPostProcessor> artifactResolverPostProcessors, RemoteRepositoryFilterManager remoteRepositoryFilterManager)
-
-
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
.
-
setLoggerFactory
Deprecated.not used any more since MRESOLVER-36 move to slf4j, added back in MRESOLVER-64 for compatibility -
setFileProcessor
-
setRepositoryEventDispatcher
public DefaultArtifactResolver setRepositoryEventDispatcher(RepositoryEventDispatcher repositoryEventDispatcher) -
setVersionResolver
-
setUpdateCheckManager
-
setRepositoryConnectorProvider
public DefaultArtifactResolver setRepositoryConnectorProvider(RepositoryConnectorProvider repositoryConnectorProvider) -
setRemoteRepositoryManager
public DefaultArtifactResolver setRemoteRepositoryManager(RemoteRepositoryManager remoteRepositoryManager) -
setSyncContextFactory
-
setOfflineController
-
setArtifactResolverPostProcessors
public DefaultArtifactResolver setArtifactResolverPostProcessors(Map<String, ArtifactResolverPostProcessor> artifactResolverPostProcessors) -
setRemoteRepositoryFilterManager
public DefaultArtifactResolver setRemoteRepositoryFilterManager(RemoteRepositoryFilterManager remoteRepositoryFilterManager) -
resolveArtifact
public ArtifactResult resolveArtifact(RepositorySystemSession session, ArtifactRequest request) throws ArtifactResolutionException Description copied from interface:ArtifactResolver
Resolves the path for an artifact. The artifact will be downloaded to the local repository if necessary. An artifact that is already resolved will be skipped and is not re-resolved. Note that this method assumes that any relocations have already been processed and the artifact coordinates are used as-is.- Specified by:
resolveArtifact
in interfaceArtifactResolver
- Parameters:
session
- The repository session, must not benull
.request
- The resolution request, must not benull
.- Returns:
- The resolution result, never
null
. - Throws:
ArtifactResolutionException
- If the artifact could not be resolved.- See Also:
-
resolveArtifacts
public List<ArtifactResult> resolveArtifacts(RepositorySystemSession session, Collection<? extends ArtifactRequest> requests) throws ArtifactResolutionException Description copied from interface:ArtifactResolver
Resolves the paths for a collection of artifacts. Artifacts will be downloaded to the local repository if necessary. Artifacts that are already resolved will be skipped and are not re-resolved. Note that this method assumes that any relocations have already been processed and the artifact coordinates are used as-is.- Specified by:
resolveArtifacts
in interfaceArtifactResolver
- Parameters:
session
- The repository session, must not benull
.requests
- The resolution requests, must not benull
.- Returns:
- The resolution results (in request order), never
null
. - Throws:
ArtifactResolutionException
- If any artifact could not be resolved.- See Also:
-
resolve
private List<ArtifactResult> resolve(SyncContext shared, SyncContext exclusive, Collection<Artifact> subjects, RepositorySystemSession session, Collection<? extends ArtifactRequest> requests) throws ArtifactResolutionException - Throws:
ArtifactResolutionException
-
isLocallyInstalled
-
getFile
private File getFile(RepositorySystemSession session, Artifact artifact, File file) throws ArtifactTransferException - Throws:
ArtifactTransferException
-
performDownloads
private void performDownloads(RepositorySystemSession session, DefaultArtifactResolver.ResolutionGroup group) -
gatherDownloads
private List<ArtifactDownload> gatherDownloads(RepositorySystemSession session, DefaultArtifactResolver.ResolutionGroup group) -
evaluateDownloads
private void evaluateDownloads(RepositorySystemSession session, DefaultArtifactResolver.ResolutionGroup group) -
artifactResolving
private void artifactResolving(RepositorySystemSession session, RequestTrace trace, Artifact artifact) -
artifactResolved
private void artifactResolved(RepositorySystemSession session, RequestTrace trace, Artifact artifact, ArtifactRepository repository, List<Exception> exceptions) -
artifactDownloading
private void artifactDownloading(RepositorySystemSession session, RequestTrace trace, Artifact artifact, RemoteRepository repository) -
artifactDownloaded
private void artifactDownloaded(RepositorySystemSession session, RequestTrace trace, Artifact artifact, RemoteRepository repository, Exception exception)
-