You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kw...@apache.org on 2022/11/07 13:14:49 UTC
[maven] branch bugfix/MNG-7561-Maven3.9-backport created (now c3efd67b4)
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a change to branch bugfix/MNG-7561-Maven3.9-backport
in repository https://gitbox.apache.org/repos/asf/maven.git
at c3efd67b4 [MNG-7561] never resolve version ranges with same lower and upper bound
This branch includes the following new commits:
new c3efd67b4 [MNG-7561] never resolve version ranges with same lower and upper bound
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[maven] 01/01: [MNG-7561] never resolve version ranges with same lower and upper bound
Posted by kw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch bugfix/MNG-7561-Maven3.9-backport
in repository https://gitbox.apache.org/repos/asf/maven.git
commit c3efd67b40b19269ef711841ec2879dded7382ea
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Wed Oct 12 09:11:10 2022 +0200
[MNG-7561] never resolve version ranges with same lower and upper bound
Co-authored-by: Guillaume Nodet <gn...@gmail.com>
---
.../internal/DefaultVersionRangeResolver.java | 41 +++++++++++++---------
1 file changed, 25 insertions(+), 16 deletions(-)
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
index 491376f67..0879b696b 100644
--- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
@@ -47,6 +47,7 @@ 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.VersionRange;
import org.eclipse.aether.version.VersionScheme;
import javax.inject.Inject;
@@ -146,28 +147,36 @@ public class DefaultVersionRangeResolver
}
else
{
- Map<String, ArtifactRepository> versionIndex = getVersions( session, result, request );
-
- List<Version> versions = new ArrayList<>();
- for ( Map.Entry<String, ArtifactRepository> v : versionIndex.entrySet() )
+ VersionRange.Bound lowerBound = versionConstraint.getRange().getLowerBound();
+ if ( lowerBound != null && lowerBound.equals( versionConstraint.getRange().getUpperBound() ) )
+ {
+ result.addVersion( lowerBound.getVersion() );
+ }
+ else
{
- try
+ Map<String, ArtifactRepository> versionIndex = getVersions( session, result, request );
+
+ List<Version> versions = new ArrayList<>();
+ for ( Map.Entry<String, ArtifactRepository> v : versionIndex.entrySet() )
{
- Version ver = versionScheme.parseVersion( v.getKey() );
- if ( versionConstraint.containsVersion( ver ) )
+ try
+ {
+ Version ver = versionScheme.parseVersion( v.getKey() );
+ if ( versionConstraint.containsVersion( ver ) )
+ {
+ versions.add( ver );
+ result.setRepository( ver, v.getValue() );
+ }
+ }
+ catch ( InvalidVersionSpecificationException e )
{
- versions.add( ver );
- result.setRepository( ver, v.getValue() );
+ result.addException( e );
}
}
- catch ( InvalidVersionSpecificationException e )
- {
- result.addException( e );
- }
- }
- Collections.sort( versions );
- result.setVersions( versions );
+ Collections.sort( versions );
+ result.setVersions( versions );
+ }
}
return result;