Class DefaultArtifactResolver

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String 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.
      static java.lang.String 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.
      static java.lang.String 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.
      static java.lang.String CONFIG_PROPS_PREFIX  
      static boolean DEFAULT_EXISTENCE_CHECK_RELABEL  
      static boolean DEFAULT_SIMPLE_LRM_INTEROP  
      static boolean DEFAULT_SNAPSHOT_NORMALIZATION  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.eclipse.aether.resolution.ArtifactResult resolveArtifact​(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.resolution.ArtifactRequest request)
      Resolves the path for an artifact.
      java.util.List<org.eclipse.aether.resolution.ArtifactResult> resolveArtifacts​(org.eclipse.aether.RepositorySystemSession session, java.util.Collection<? extends org.eclipse.aether.resolution.ArtifactRequest> requests)
      Resolves the paths for a collection of artifacts.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • CONFIG_PROP_SNAPSHOT_NORMALIZATION

        public static final java.lang.String 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:
        Constant Field Values
      • CONFIG_PROP_SIMPLE_LRM_INTEROP

        public static final java.lang.String 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:
        Constant Field Values
      • CONFIG_PROP_EXISTENCE_CHECK_RELABEL

        public static final java.lang.String 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:
        Constant Field Values
    • Method Detail

      • 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 java.util.List<org.eclipse.aether.resolution.ArtifactResult> resolveArtifacts​(org.eclipse.aether.RepositorySystemSession session,
                                                                                             java.util.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)