Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
maven-resolver-provider-3.8.6.jar - Resolver Provider Module
maven-resolver-provider-3.8.6.jar is the JAR file for Apache Maven 3.8.6 Resolver Provider module.
Apache Maven is a software project management and comprehension tool.
JAR File Size and Download Location:
File: 67480 06-06-2022 16:16 lib/maven-resolver-provider-3.8.6.jar Download: Apache Maven Website
✍: FYIcenter.com
⏎ org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
package org.apache.maven.repository.internal; /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import org.apache.maven.artifact.repository.metadata.Versioning; import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader; import org.eclipse.aether.RepositoryEvent; import org.eclipse.aether.RepositoryEvent.EventType; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.RequestTrace; import org.eclipse.aether.SyncContext; import org.eclipse.aether.impl.MetadataResolver; import org.eclipse.aether.impl.RepositoryEventDispatcher; import org.eclipse.aether.impl.SyncContextFactory; import org.eclipse.aether.impl.VersionRangeResolver; import org.eclipse.aether.metadata.DefaultMetadata; import org.eclipse.aether.metadata.Metadata; import org.eclipse.aether.repository.ArtifactRepository; import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.WorkspaceReader; import org.eclipse.aether.resolution.MetadataRequest; import org.eclipse.aether.resolution.MetadataResult; import org.eclipse.aether.resolution.VersionRangeRequest; import org.eclipse.aether.resolution.VersionRangeResolutionException; import org.eclipse.aether.resolution.VersionRangeResult; import org.eclipse.aether.spi.locator.Service; import org.eclipse.aether.spi.locator.ServiceLocator; import org.eclipse.aether.util.version.GenericVersionScheme; import org.eclipse.aether.version.InvalidVersionSpecificationException; import org.eclipse.aether.version.Version; import org.eclipse.aether.version.VersionConstraint; import org.eclipse.aether.version.VersionScheme; import javax.inject.Inject; import javax.inject.Named; import javax.inject.Singleton; import java.io.FileInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; /** * @author Benjamin Bentmann */ @Named @Singleton public class DefaultVersionRangeResolver implements VersionRangeResolver, Service { private static final String MAVEN_METADATA_XML = "maven-metadata.xml"; private MetadataResolver metadataResolver; private SyncContextFactory syncContextFactory; private RepositoryEventDispatcher repositoryEventDispatcher; public DefaultVersionRangeResolver() { // enable default constructor } @Inject DefaultVersionRangeResolver( MetadataResolver metadataResolver, SyncContextFactory syncContextFactory, RepositoryEventDispatcher repositoryEventDispatcher ) { setMetadataResolver( metadataResolver ); setSyncContextFactory( syncContextFactory ); setRepositoryEventDispatcher( repositoryEventDispatcher ); } public void initService( ServiceLocator locator ) { setMetadataResolver( locator.getService( MetadataResolver.class ) ); setSyncContextFactory( locator.getService( SyncContextFactory.class ) ); setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) ); } public DefaultVersionRangeResolver setMetadataResolver( MetadataResolver metadataResolver ) { this.metadataResolver = Objects.requireNonNull( metadataResolver, "metadataResolver cannot be null" ); return this; } public DefaultVersionRangeResolver setSyncContextFactory( SyncContextFactory syncContextFactory ) { this.syncContextFactory = Objects.requireNonNull( syncContextFactory, "syncContextFactory cannot be null" ); return this; } public DefaultVersionRangeResolver setRepositoryEventDispatcher( RepositoryEventDispatcher repositoryEventDispatcher ) { this.repositoryEventDispatcher = Objects.requireNonNull( repositoryEventDispatcher, "repositoryEventDispatcher cannot be null" ); return this; } public VersionRangeResult resolveVersionRange( RepositorySystemSession session, VersionRangeRequest request ) throws VersionRangeResolutionException { VersionRangeResult result = new VersionRangeResult( request ); VersionScheme versionScheme = new GenericVersionScheme(); VersionConstraint versionConstraint; try { versionConstraint = versionScheme.parseVersionConstraint( request.getArtifact().getVersion() ); } catch ( InvalidVersionSpecificationException e ) { result.addException( e ); throw new VersionRangeResolutionException( result ); } result.setVersionConstraint( versionConstraint ); if ( versionConstraint.getRange() == null ) { result.addVersion( versionConstraint.getVersion() ); } else { Map<String, ArtifactRepository> versionIndex = getVersions( session, result, request ); List<Version> versions = new ArrayList<>(); for ( Map.Entry<String, ArtifactRepository> v : versionIndex.entrySet() ) { try { Version ver = versionScheme.parseVersion( v.getKey() ); if ( versionConstraint.containsVersion( ver ) ) { versions.add( ver ); result.setRepository( ver, v.getValue() ); } } catch ( InvalidVersionSpecificationException e ) { result.addException( e ); } } Collections.sort( versions ); result.setVersions( versions ); } return result; } private Map<String, ArtifactRepository> getVersions( RepositorySystemSession session, VersionRangeResult result, VersionRangeRequest request ) { RequestTrace trace = RequestTrace.newChild( request.getTrace(), request ); Map<String, ArtifactRepository> versionIndex = new HashMap<>(); Metadata metadata = 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 ); metadataRequests.add( metadataRequest ); } List<MetadataResult> metadataResults = metadataResolver.resolveMetadata( session, metadataRequests ); WorkspaceReader workspace = session.getWorkspaceReader(); if ( workspace != null ) { List<String> versions = workspace.findVersions( request.getArtifact() ); for ( String version : versions ) { versionIndex.put( version, workspace.getRepository() ); } } for ( MetadataResult metadataResult : metadataResults ) { result.addException( metadataResult.getException() ); ArtifactRepository repository = metadataResult.getRequest().getRepository(); if ( repository == null ) { repository = session.getLocalRepository(); } Versioning versioning = readVersions( session, trace, metadataResult.getMetadata(), repository, result ); for ( String version : versioning.getVersions() ) { if ( !versionIndex.containsKey( version ) ) { versionIndex.put( version, repository ); } } } return versionIndex; } private Versioning readVersions( RepositorySystemSession session, RequestTrace trace, Metadata metadata, ArtifactRepository repository, VersionRangeResult result ) { Versioning versioning = null; try { if ( metadata != null ) { try ( SyncContext syncContext = syncContextFactory.newInstance( session, true ) ) { syncContext.acquire( null, Collections.singleton( metadata ) ); if ( metadata.getFile() != null && metadata.getFile().exists() ) { try ( final InputStream in = new FileInputStream( metadata.getFile() ) ) { versioning = new MetadataXpp3Reader().read( in, false ).getVersioning(); } } } } } catch ( Exception e ) { invalidMetadata( session, trace, metadata, repository, e ); result.addException( e ); } return ( versioning != null ) ? versioning : new Versioning(); } private void invalidMetadata( RepositorySystemSession session, RequestTrace trace, Metadata metadata, ArtifactRepository repository, Exception exception ) { RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.METADATA_INVALID ); event.setTrace( trace ); event.setMetadata( metadata ); event.setException( exception ); event.setRepository( repository ); repositoryEventDispatcher.dispatch( event.build() ); } }
⏎ org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
Or download all of them as a single archive file:
File name: maven-resolver-provider-3.8.6-src.zip File size: 41926 bytes Release date: 2022-06-06 Download
⇒ maven-settings-3.8.6.jar - Maven Settings Module
⇐ maven-plugin-api-3.8.6.jar - Plugin API Module
2023-07-11, 4311👍, 0💬
Popular Posts:
JDK 11 java.naming.jmod is the JMOD file for JDK 11 Naming module. JDK 11 Naming module compiled cla...
How to read XML document from socket connections with the socket\DelayedInput.java provided in the A...
maven-settings-builder-3 .8.6.jaris the JAR file for Apache Maven 3.8.6 Settings Builder module. Apa...
Swingx is the SwingLabs Swing Component Extensions. JAR File Size and Download Location: File name: ...
Guava is a suite of core and expanded libraries that include utility classes, google's collections, ...