Interface MavenVersionsResolver

  • All Superinterfaces:
    AutoCloseable, Closeable

    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 Detail

      • 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.