You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2019/01/13 20:46:35 UTC
[maven] 01/01: [MNG-4463] Dependency management import should
support version ranges.
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a commit to branch MNG-4463
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 6e4f086b31e363fd332e7523c7f2212daa6addd2
Author: Christian Schulte <sc...@apache.org>
AuthorDate: Sat Jan 30 19:17:34 2016 +0100
[MNG-4463] Dependency management import should support version ranges.
Closes #64 without merging. ITs are pending to be committed.
---
.../maven/model/building/DefaultModelBuilder.java | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index 8714611..0c5885a 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -1254,7 +1254,25 @@ public class DefaultModelBuilder
final ModelSource importSource;
try
{
- importSource = modelResolver.resolveModel( groupId, artifactId, version );
+ dependency = dependency.clone();
+ importSource = modelResolver.resolveModel( dependency );
+ final String resolvedId =
+ dependency.getGroupId() + ':' + dependency.getArtifactId() + ':' + dependency.getVersion();
+
+ if ( !imported.equals( resolvedId ) && importIds.contains( resolvedId ) )
+ {
+ // A version range has been resolved to a cycle.
+ String message = "The dependencies of type=pom and with scope=import form a cycle: ";
+ for ( String modelId : importIds )
+ {
+ message += modelId + " -> ";
+ }
+ message += resolvedId;
+ problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ).
+ setMessage( message ) );
+
+ continue;
+ }
}
catch ( UnresolvableModelException e )
{