public class ArtifactHelpers extends Object
Modifier and Type | Method and Description |
---|---|
static boolean |
artifactIsNotExcluded(Collection<org.eclipse.aether.graph.Exclusion> exclusions,
org.eclipse.aether.artifact.Artifact artifact)
Check that an artifact is not excluded
|
static boolean |
artifactsAreMatchingTypes(org.eclipse.aether.artifact.Artifact first,
org.eclipse.aether.artifact.Artifact second)
Checks to see if two artifacts are of the same type (but not necessarily the same version)
|
static boolean |
containsExclusion(Collection<org.eclipse.aether.graph.Exclusion> exclusions,
org.eclipse.aether.graph.Exclusion exclusion)
Exclusive can be specified by wildcard:
-- groupId:artifactId:*:*
-- groupId:*:*:*
|
static List<String> |
createDefaultJmeterArtifactsArray(String jmeterVersion)
Create a default Array of JMeter artifact coordinates
|
static boolean |
isArtifactALibrary(org.eclipse.aether.artifact.Artifact artifact)
Check to see if artifact is a library
|
static boolean |
isArtifactIsOlderThanArtifact(org.eclipse.aether.artifact.Artifact artifact,
org.eclipse.aether.artifact.Artifact comparisonArtifact)
Check to see if a specified artifact is the same version, or a newer version that the comparative artifact
|
static org.eclipse.aether.artifact.Artifact |
resolveArtifactVersion(org.eclipse.aether.RepositorySystem repositorySystem,
org.eclipse.aether.RepositorySystemSession repositorySystemSession,
List<org.eclipse.aether.repository.RemoteRepository> repositoryList,
org.eclipse.aether.artifact.Artifact desiredArtifact)
Ensure we have a valid version number to download an artifact.
|
static Set<org.eclipse.aether.graph.Exclusion> |
setupExcludedArtifacts(List<String> excludedArtifacts)
Build up an exclusion set
|
public static Set<org.eclipse.aether.graph.Exclusion> setupExcludedArtifacts(List<String> excludedArtifacts) throws org.apache.maven.plugin.MojoExecutionException
excludedArtifacts
- List of artifact coords patterns in the format <groupId>:<artifactId>[:<extension>][:<classifier>]org.apache.maven.plugin.MojoExecutionException
- if any patterns are invalidpublic static boolean containsExclusion(Collection<org.eclipse.aether.graph.Exclusion> exclusions, org.eclipse.aether.graph.Exclusion exclusion)
And in general, to require a strict match up to the version and the classifier is not necessary
TODO: the correct fix would be to rewrite # equals (Object)
, but what about the boundary case:
If contains (id1: *: *: *, id1: id2: *: *) == true, then that's equals ??
TODO: there must be useful code in Aether or maven on this topic
exclusions
- Collection of exclusionsexclusion
- Specific exclusion to search through collection forpublic static boolean artifactIsNotExcluded(Collection<org.eclipse.aether.graph.Exclusion> exclusions, org.eclipse.aether.artifact.Artifact artifact)
exclusions
- Collection of exclusionsartifact
- Specific artifact to search through collection forpublic static List<String> createDefaultJmeterArtifactsArray(String jmeterVersion)
jmeterVersion
- JMeter version for artifactspublic static boolean isArtifactALibrary(org.eclipse.aether.artifact.Artifact artifact)
artifact
- Artifact
public static boolean isArtifactIsOlderThanArtifact(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.artifact.Artifact comparisonArtifact) throws org.eclipse.aether.version.InvalidVersionSpecificationException
artifact
- An artifactcomparisonArtifact
- another Artifact to compare with.org.eclipse.aether.version.InvalidVersionSpecificationException
- Unable to get artifact versionspublic static boolean artifactsAreMatchingTypes(org.eclipse.aether.artifact.Artifact first, org.eclipse.aether.artifact.Artifact second)
first
- An Artifactsecond
- A comparison Artifactpublic static org.eclipse.aether.artifact.Artifact resolveArtifactVersion(org.eclipse.aether.RepositorySystem repositorySystem, org.eclipse.aether.RepositorySystemSession repositorySystemSession, List<org.eclipse.aether.repository.RemoteRepository> repositoryList, org.eclipse.aether.artifact.Artifact desiredArtifact) throws org.eclipse.aether.resolution.VersionRangeResolutionException
repositorySystem
- system repositoriesrepositorySystemSession
- session repositoriesrepositoryList
- list of repositories to try and download artifacts fromdesiredArtifact
- the artifact we want to downloadorg.eclipse.aether.resolution.VersionRangeResolutionException
- Thrown if we cannot resolve any versionsCopyright © 2021. All rights reserved.