Interface MavenVersionsResolver

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
SignedVersionResolverWrapper

public interface MavenVersionsResolver extends Closeable
SPI Interface implemented by tooling doing the Maven request to get all the versions for the given artifact. A client of this library is responsible for implementation MavenVersionsResolver to query Maven for all the versions for a given Artifact.
  • Method Details

    • getAllVersions

      Set<String> getAllVersions(String groupId, String artifactId, String extension, String classifier)
      Returns all the versions provided by Maven for the given artifact.
      Parameters:
      groupId - Maven GroupId - required
      artifactId - Maven ArtifactId - required
      extension - Maven extension - can be null
      classifier - Maven classifier - can be null
      Returns:
      the set of versions.
    • resolveArtifact

      File resolveArtifact(String groupId, String artifactId, String extension, String classifier, String version) throws ArtifactTransferException
      Resolve the maven artifact based on the full coordinates.
      Parameters:
      groupId - Maven GroupId - required
      artifactId - Maven ArtifactId - required
      extension - Maven extension - can be null
      classifier - Maven classifier - can be null
      version - Maven version - required
      Returns:
      a File representing the resolved Maven artifact.
      Throws:
      ArtifactTransferException - if the artifact can not be resolved.
    • resolveArtifacts

      List<File> resolveArtifacts(List<ArtifactCoordinate> coordinates) throws ArtifactTransferException
      Resolve a list of maven artifacts based on the full coordinates. The order of returned Files is the same as order of coordinates.
      Parameters:
      coordinates - - list of ArtifactCoordinates. They need contain at least groupId, artifactId and version.
      Returns:
      a list of File representing the resolved Maven artifact.
      Throws:
      ArtifactTransferException - if any artifacts can not be resolved.
    • resolveChannelMetadata

      List<URL> resolveChannelMetadata(List<? extends ChannelMetadataCoordinate> manifestCoords) throws ArtifactTransferException
      Resolve a list of channel metadata artifacts based on the coordinates. If the ChannelMetadataCoordinate contains non-null URL, that URL is returned. If the ChannelMetadataCoordinate contains non-null Maven coordinates, the Maven artifact will be resolved and a URL to it will be returned. If the Maven coordinates specify only groupId and artifactId, latest available version of matching Maven artifact will be resolved. The order of returned URLs is the same as order of coordinates.
      Parameters:
      manifestCoords - - list of ChannelMetadataCoordinate.
      Returns:
      a list of URLs to the metadata files
      Throws:
      ArtifactTransferException - if any artifacts can not be resolved.
    • getMetadataReleaseVersion

      String getMetadataReleaseVersion(String groupId, String artifactId)
      Returns the <release> version according to the repositories' Maven metadata. If multiple repositories contain the same artifact, VersionMatcher.COMPARATOR is used to choose version.
      Parameters:
      groupId - Maven GroupId - required
      artifactId - Maven ArtifactId - required
      Returns:
      the release version.
      Throws:
      UnresolvedMavenArtifactException - if the metadata can not be resolved or is incomplete.
    • getMetadataLatestVersion

      String getMetadataLatestVersion(String groupId, String artifactId)
      Returns the <latest> version according to the repositories' Maven metadata. If multiple repositories contain the same artifact, VersionMatcher.COMPARATOR is used to choose version.
      Parameters:
      groupId - Maven GroupId - required
      artifactId - Maven ArtifactId - required
      Returns:
      the latest version.
      Throws:
      UnresolvedMavenArtifactException - if the metadata can not be resolved or is incomplete.
    • close

      default void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable