Class DefaultArtifactResolver

java.lang.Object
org.eclipse.aether.internal.impl.DefaultArtifactResolver
All Implemented Interfaces:
ArtifactResolver

@Singleton @Named public class DefaultArtifactResolver extends Object implements ArtifactResolver
  • Field Details

    • CONFIG_PROPS_PREFIX

      public static final String CONFIG_PROPS_PREFIX
      See Also:
    • 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. It replaces the timestamped snapshot file name with a filename containing the SNAPSHOT qualifier only. This only affects resolving/retrieving artifacts but not uploading those.
      See Also:
    • DEFAULT_SNAPSHOT_NORMALIZATION

      public static final boolean DEFAULT_SNAPSHOT_NORMALIZATION
      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.
      See Also:
    • DEFAULT_SIMPLE_LRM_INTEROP

      public static final boolean DEFAULT_SIMPLE_LRM_INTEROP
      See Also:
    • CONFIG_PROP_EXISTENCE_CHECK_RELABEL

      Configuration to restore the legacy "existence check" behavior for artifacts that are present in the local repository but were cached from a remote repository unavailable in the current build context: when enabled, a bare remote existence check (no content transfer, hence no checksum validation) suffices to re-label the cached bytes as originating from the queried repository. When disabled (the default), the artifact is downloaded again through the regular transfer path, so the content is validated against the repository's checksum policy before it is registered with the local repository for that repository. Enabling this trades integrity for bandwidth and is warmly recommended to leave it disabled.
      See Also:
    • DEFAULT_EXISTENCE_CHECK_RELABEL

      public static final boolean DEFAULT_EXISTENCE_CHECK_RELABEL
      See Also:
  • Constructor Details

  • Method Details

    • resolveArtifact

      public org.eclipse.aether.resolution.ArtifactResult resolveArtifact(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.resolution.ArtifactRequest request) throws org.eclipse.aether.resolution.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 interface ArtifactResolver
      Parameters:
      session - The repository session, must not be null.
      request - The resolution request, must not be null.
      Returns:
      The resolution result, never null.
      Throws:
      org.eclipse.aether.resolution.ArtifactResolutionException - If the artifact could not be resolved.
      See Also:
      • Artifact.getFile()
      • RepositorySystem.resolveArtifact(RepositorySystemSession, ArtifactRequest)
    • resolveArtifacts

      public List<org.eclipse.aether.resolution.ArtifactResult> resolveArtifacts(org.eclipse.aether.RepositorySystemSession session, Collection<? extends org.eclipse.aether.resolution.ArtifactRequest> requests) throws org.eclipse.aether.resolution.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 interface ArtifactResolver
      Parameters:
      session - The repository session, must not be null.
      requests - The resolution requests, must not be null.
      Returns:
      The resolution results (in request order), never null.
      Throws:
      org.eclipse.aether.resolution.ArtifactResolutionException - If any artifact could not be resolved.
      See Also:
      • Artifact.getFile()
      • RepositorySystem.resolveArtifacts(RepositorySystemSession, Collection)