Refine search
public Iterator<MavenPluginVersion> iterateAllVersions() { Artifact artifact = new DefaultArtifact(groupId, artifactId, null, "[0,)"); VersionRangeRequest rangeRequest = new VersionRangeRequest(); rangeRequest.setArtifact(artifact); rangeRequest.setRepositories(mavenPluginRepository.getRepositories()); try { VersionRangeResult rangeResult = mavenPluginRepository.getSystem().resolveVersionRange(mavenPluginRepository.getSession(), rangeRequest); List<Version> versions = rangeResult.getVersions(); if (!versions.isEmpty()) { Iterator<Version> versionIterator = Lists.reverse(versions).iterator(); return Iterators.transform(versionIterator, new Function<Version, MavenPluginVersion>() { @Override public MavenPluginVersion apply(Version version) { try { MavenPluginVersion mavenPluginVersion = createMavenVersion(version); return mavenPluginVersion; } catch (ArtifactDescriptorException | ArtifactResolutionException | IOException | XmlPullParserException e) { LOGGER.error("", e); } return null; } }); } } catch (VersionRangeResolutionException e) { LOGGER.error("", e); } return Collections.emptyIterator(); }
public VersionRangeResult resolveVersionRange( RepositorySystemSession session, VersionRangeRequest request ) throws VersionRangeResolutionException VersionRangeResult result = new VersionRangeResult( request ); try versionConstraint = versionScheme.parseVersionConstraint( request.getArtifact().getVersion() ); result.addException( e ); throw new VersionRangeResolutionException( result ); result.setVersionConstraint( versionConstraint );
private Map<String, ArtifactRepository> getVersions( RepositorySystemSession session, VersionRangeResult result, VersionRangeRequest request ) RequestTrace trace = RequestTrace.newChild( request.getTrace(), request ); new DefaultMetadata( request.getArtifact().getGroupId(), request.getArtifact().getArtifactId(), MAVEN_METADATA_XML, Metadata.Nature.RELEASE_OR_SNAPSHOT ); List<MetadataRequest> metadataRequests = new ArrayList<>( request.getRepositories().size() ); metadataRequests.add( new MetadataRequest( metadata, null, request.getRequestContext() ) ); for ( RemoteRepository repository : request.getRepositories() ) MetadataRequest metadataRequest = new MetadataRequest( metadata, repository, request.getRequestContext() ); metadataRequest.setDeleteLocalCopyIfMissing( true ); metadataRequest.setTrace( trace ); if ( workspace != null ) List<String> versions = workspace.findVersions( request.getArtifact() ); for ( String version : versions ) result.addException( metadataResult.getException() );
final Artifact artifact = new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), "", "pom", dependency.getVersion() ); final VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context ); versionRangeRequest.setTrace( trace ); if ( versionRangeResult.getHighestVersion() == null ) if ( versionRangeResult.getVersionConstraint() != null && versionRangeResult.getVersionConstraint().getRange() != null && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null ) dependency.setVersion( versionRangeResult.getHighestVersion().toString() );
private static String determineNewestVersion(RepositorySystem repoSystem, RepositorySystemSession repoSession, List<RemoteRepository>[] repos) throws MojoExecutionException { String version; VersionRangeRequest rangeRequest = new VersionRangeRequest(); rangeRequest.setArtifact(new DefaultArtifact(SDK_GROUP_ID + ":" + SDK_ARTIFACT_ID + ":[0,)")); for (List<RemoteRepository> repoList : repos) { for (RemoteRepository repo : repoList) { rangeRequest.addRepository(repo); } } VersionRangeResult rangeResult; try { rangeResult = repoSystem.resolveVersionRange(repoSession, rangeRequest); } catch (VersionRangeResolutionException e) { throw new MojoExecutionException( "Could not resolve latest version of the App Engine Java SDK", e); } List<Version> versions = rangeResult.getVersions(); Collections.sort(versions); Version newest = Iterables.getLast(versions); version = newest.toString(); return version; }
VersionRangeRequest request = new VersionRangeRequest(); request.setArtifact(new DefaultArtifact("groupId", "artifactId", "jar", "(0,]")); VersionRangeResult result = repositorySystem.resolveVersionRange(session, request); Version highestVersion = result.getHighestVersion();
public static List<Version> getVersions(final String groupId, final String artifactId, final String versionExpr, final List<RemoteRepository> repos, final RepositorySystem repositorySystem, final RepositorySystemSession session) throws VersionRangeResolutionException { Artifact artifact = new DefaultArtifact(groupId, artifactId, null, null, versionExpr); VersionRangeRequest request = new VersionRangeRequest(artifact, repos, null); VersionRangeResult versionResult = repositorySystem.resolveVersionRange(session, request); return versionResult.getVersions(); }
public static void main( String[] args ) throws Exception { System.out.println( "------------------------------------------------------------" ); System.out.println( FindNewestVersion.class.getSimpleName() ); RepositorySystem system = Booter.newRepositorySystem(); RepositorySystemSession session = Booter.newRepositorySystemSession( system ); Artifact artifact = new DefaultArtifact( "org.eclipse.aether:aether-util:[0,)" ); VersionRangeRequest rangeRequest = new VersionRangeRequest(); rangeRequest.setArtifact( artifact ); rangeRequest.setRepositories( Booter.newRepositories( system, session ) ); VersionRangeResult rangeResult = system.resolveVersionRange( session, rangeRequest ); Version newestVersion = rangeResult.getHighestVersion(); System.out.println( "Newest version " + newestVersion + " from repository " + rangeResult.getRepository( newestVersion ) ); }
Artifact artifact = new DefaultArtifact(gav); artifact = artifact.setVersion(upToVersion == null ? "[,)" : "[," + upToVersion + (upToInclusive ? "]" : ")")); VersionRangeRequest rangeRequest = new VersionRangeRequest(artifact, repositories, null); List<Version> versions = new ArrayList<>(result.getVersions()); Collections.reverse(versions); if (versionMatcher.matcher(v.toString()).matches()) { return resolveArtifact(artifact.setVersion(v.toString()), session);
RepositoryHolder repositoryHolder) throws IOException, VersionRangeResolutionException, VersionResolutionException { Artifact artifact = new DefaultArtifact(groupId, artifactId, classifier, extension, version); RepositorySystemSession session = booter.newRepositorySystemSession(system); VersionRangeRequest rangeRequest = new VersionRangeRequest(); rangeRequest.setArtifact(artifact); List<RemoteRepository> newRepositories = booter.newRepositories(system, session); if (repositories == null || repositories.size() == 0) { rangeRequest.setRepositories(newRepositories); rangeRequest.addRepository(remoteRepository); Version lowestVersion = rangeResult.getLowestVersion(); Version newestVersion = rangeResult.getHighestVersion(); repositoryHolder.repositoryId = rangeResult.getRepository(newestVersion).getId(); for (RemoteRepository remoteRepository : newRepositories) { if (remoteRepository.getId().equals(repositoryHolder.repositoryId)) { if (newestVersion.toString().endsWith("SNAPSHOT")) { VersionRequest versionRequest = new VersionRequest(); ret = new DefaultArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getClassifier(), artifact.getExtension(), newestVersion.toString()); versionRequest.setArtifact(ret); versionRequest.addRepository(repositoryHolder.remoteRepository);
private String resolveHighestArtifactVersion(String stubsGroup, String stubsModule, String classifier, String version) { Artifact artifact = new DefaultArtifact(stubsGroup, stubsModule, classifier, ARTIFACT_EXTENSION, version); VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, this.remoteRepos, null); VersionRangeResult rangeResult; try { rangeResult = this.repositorySystem.resolveVersionRange(this.session, versionRangeRequest); if (log.isDebugEnabled()) { log.debug("Resolved version range is [" + rangeResult + "]"); } } catch (VersionRangeResolutionException e) { throw new IllegalStateException("Cannot resolve version range", e); } if (rangeResult.getHighestVersion() == null) { throw new IllegalArgumentException("For groupId [" + stubsGroup + "] artifactId [" + stubsModule + "] " + "and classifier [" + classifier + "] the version was not resolved! The following exceptions took place " + rangeResult.getExceptions()); } return rangeResult.getHighestVersion() == null ? null : rangeResult.getHighestVersion().toString(); }
protected Version highestVersion(Artifact artifact) throws MojoExecutionException { VersionRangeRequest request = new VersionRangeRequest(artifact, repositories, null); VersionRangeResult v = resolve(request); if (!includeSnapshots) { List<Version> filtered = new ArrayList<Version>(); for (Version aVersion : v.getVersions()) { if (!aVersion.toString().endsWith("SNAPSHOT")) { filtered.add(aVersion); } } v.setVersions(filtered); } if (v.getHighestVersion() == null) { throw (v.getExceptions().isEmpty()) ? new MojoExecutionException("Failed to resolve " + artifact.toString()) : new MojoExecutionException("Failed to resolve " + artifact.toString(), v.getExceptions().get(0)); } return v.getHighestVersion(); }
private VersionRangeResult getVersions(RepositorySystem system, Settings settings, RepositorySystemSession session, List<RemoteRepository> repositories, String addonName, String version) { try { String[] split = addonName.split(","); if (split.length == 2) { version = split[1]; } if (version == null || version.isEmpty()) { version = "[,)"; } else if (!version.matches("(\\(|\\[).*?(\\)|\\])")) { version = "[" + version + "]"; } Artifact artifact = new DefaultArtifact(toMavenCoords(AddonId.from(addonName, version))); VersionRangeRequest rangeRequest = new VersionRangeRequest(artifact, repositories, null); VersionRangeResult rangeResult = system.resolveVersionRange(session, rangeRequest); return rangeResult; } catch (Exception e) { throw new RuntimeException("Failed to look up versions for [" + addonName + "]", e); } }
private Version resolveLatestVersion(Artifact artifact) throws VersionRangeResolutionException { VersionRangeRequest rangeRequest = new VersionRangeRequest(); rangeRequest.setArtifact(artifact); rangeRequest.setRepositories(repositories); VersionRangeResult rangeResult = system.resolveVersionRange(session, rangeRequest); return rangeResult.getHighestVersion(); }
new VersionRangeRequest( root.getArtifact(), request.getRepositories(), request.getRequestContext() ); rangeRequest.setTrace( trace ); rangeResult = versionRangeResolver.resolveVersionRange( session, rangeRequest ); versions = filterVersions( root, rangeResult, verFilter, new DefaultVersionFilterContext( session ) ); root = root.setArtifact( root.getArtifact().setVersion( version.toString() ) ); node.setRequestContext( request.getRequestContext() ); node.setRelocations( descriptorResult.getRelocations() ); node.setVersionConstraint( rangeResult.getVersionConstraint() ); node.setVersion( version ); node.setAliases( descriptorResult.getAliases() );
private static VersionRangeRequest createVersionRangeRequest( Args args, List<RemoteRepository> repositories, Dependency dependency ) { VersionRangeRequest rangeRequest = new VersionRangeRequest(); rangeRequest.setArtifact( dependency.getArtifact() ); rangeRequest.setRepositories( repositories ); rangeRequest.setRequestContext( args.request.getRequestContext() ); rangeRequest.setTrace( args.trace ); return rangeRequest; }
/** @return Latest version field from metadata.xml of the repository that was last modified. Never null */ public String latestVersion(Artifact artifact) throws VersionRangeResolutionException, VersionResolutionException { Artifact range; VersionRangeRequest request; VersionRangeResult result; List<Version> versions; String version; // CAUTION: do not use version "LATEST" because the respective field in metadata.xml is not set reliably: range = artifact.setVersion("[,]"); request = new VersionRangeRequest(range, remote, null); result = repositorySystem.resolveVersionRange(repositorySession, request); versions = result.getVersions(); if (versions.size() == 0) { throw new VersionRangeResolutionException(result, "no version found"); } version = versions.get(versions.size() - 1).toString(); if (version.endsWith("-SNAPSHOT")) { version = latestSnapshot(artifact.setVersion(version)); } return version; }
new VersionRangeRequest( artifact, remoteRepos, null ) ); if( versionResult != null ) { Version v = versionResult.getHighestVersion(); if( v != null ) { artifact = artifact.setVersion( v.toString() );
@Override public MavenVersionRangeResult resolveVersionRange(final MavenCoordinate coordinate) throws VersionResolutionException { final Artifact artifact = MavenConverter.asArtifact(coordinate, getSession().getArtifactTypeRegistry()); final VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, this.getRemoteRepositories(), null); try { final VersionRangeResult versionRangeResult = getSystem().resolveVersionRange(getSession(), versionRangeRequest); if (!versionRangeResult.getVersions().isEmpty()) { return new MavenVersionRangeResultImpl(artifact, versionRangeResult); } final List<Exception> exceptions = versionRangeResult.getExceptions(); if (exceptions.isEmpty()) { return new MavenVersionRangeResultImpl(artifact, versionRangeResult); } else { StringBuilder builder = new StringBuilder("Version range request failed with ") .append(exceptions.size()).append(" exceptions.").append("\n"); int counter = 1; for (final Exception exception : exceptions) { log.log(Level.SEVERE, "Version range request failed", exception); builder.append(counter++).append("/ ").append(exception.getLocalizedMessage()).append("\n"); } throw new VersionResolutionException(builder.toString()); } } catch (VersionRangeResolutionException vrre) { throw new VersionResolutionException("Version range request failed", vrre); } }
private VersionRangeResult getVersionRange(Artifact artifact, String coords) throws MavenUniverseException { VersionRangeRequest rangeRequest = new VersionRangeRequest(); rangeRequest.setArtifact(artifact); rangeRequest.setRepositories(getRepositories()); VersionRangeResult rangeResult; try { rangeResult = repoSystem.resolveVersionRange(getSession(), rangeRequest); } catch (VersionRangeResolutionException ex) { throw new MavenUniverseException(ex.getLocalizedMessage(), ex); } return rangeResult; }