Repository: maven
Updated Branches:
  refs/heads/master b30be5d68 -> 354765dd0


[MNG-5971] Imported dependencies should be available to inheritance processing

o Updated to re-validate models after importing to report any conflicts
  created by the import.
o Updated to correct bugs introduced in last commit.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/354765dd
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/354765dd
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/354765dd

Branch: refs/heads/master
Commit: 354765dd0237e3ab9058f40c9f52c858e4e295bc
Parents: b30be5d
Author: Christian Schulte <[email protected]>
Authored: Fri Feb 19 02:44:14 2016 +0100
Committer: Christian Schulte <[email protected]>
Committed: Fri Feb 19 02:44:14 2016 +0100

----------------------------------------------------------------------
 .../maven/model/building/DefaultModelBuilder.java    | 15 +++++++++------
 .../composition/DefaultDependenciesImporter.java     |  6 +-----
 .../DefaultDependencyManagementImporter.java         |  8 +++-----
 3 files changed, 13 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/354765dd/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
----------------------------------------------------------------------
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 c57f836..5cc7fef 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
@@ -471,6 +471,9 @@ public class DefaultModelBuilder
         // dependencies import
         importDependencies( resultModel, "import", request, problems, 
dependencyImports );
 
+        // re-validate after 'import' to warn for possible duplicates 
introduced by import
+        modelValidator.validateRawModel( resultModel, request, problems );
+
         // dependency management injection
         dependencyManagementInjector.injectManagement( resultModel, request, 
problems );
 
@@ -1256,7 +1259,7 @@ public class DefaultModelBuilder
 
             if ( importIds.contains( imported ) )
             {
-                String message = "The dependencies of type=pom and with 
scope=import form a cycle: ";
+                String message = "The dependencies of type=pom and scope=" + 
scope + " form a cycle: ";
                 for ( String modelId : importIds )
                 {
                     message += modelId + " -> ";
@@ -1309,7 +1312,7 @@ public class DefaultModelBuilder
                         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: ";
+                            String message = "The dependencies of type=pom and 
scope=" + scope + " form a cycle: ";
                             for ( String modelId : importIds )
                             {
                                 message += modelId + " -> ";
@@ -1324,7 +1327,7 @@ public class DefaultModelBuilder
                     catch ( UnresolvableModelException e )
                     {
                         StringBuilder buffer = new StringBuilder( 256 );
-                        buffer.append( "Non-resolvable import POM" );
+                        buffer.append( "Non-resolvable " + scope + " POM" );
                         if ( !containsCoordinates( e.getMessage(), groupId, 
artifactId, version ) )
                         {
                             buffer.append( ' ' ).append( 
ModelProblemUtils.toId( groupId, artifactId, version ) );
@@ -1447,7 +1450,7 @@ public class DefaultModelBuilder
 
             if ( importIds.contains( imported ) )
             {
-                String message = "The dependencies of type=pom and with 
scope=import form a cycle: ";
+                String message = "The dependencies of type=pom and scope=" + 
scope + " form a cycle: ";
                 for ( String modelId : importIds )
                 {
                     message += modelId + " -> ";
@@ -1500,7 +1503,7 @@ public class DefaultModelBuilder
                         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: ";
+                            String message = "The dependencies of type=pom and 
scope=" + scope + " form a cycle: ";
                             for ( String modelId : importIds )
                             {
                                 message += modelId + " -> ";
@@ -1515,7 +1518,7 @@ public class DefaultModelBuilder
                     catch ( UnresolvableModelException e )
                     {
                         StringBuilder buffer = new StringBuilder( 256 );
-                        buffer.append( "Non-resolvable import POM" );
+                        buffer.append( "Non-resolvable " + scope + " POM" );
                         if ( !containsCoordinates( e.getMessage(), groupId, 
artifactId, version ) )
                         {
                             buffer.append( ' ' ).append( 
ModelProblemUtils.toId( groupId, artifactId, version ) );

http://git-wip-us.apache.org/repos/asf/maven/blob/354765dd/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependenciesImporter.java
----------------------------------------------------------------------
diff --git 
a/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependenciesImporter.java
 
b/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependenciesImporter.java
index 171153e..b9496fb 100644
--- 
a/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependenciesImporter.java
+++ 
b/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependenciesImporter.java
@@ -67,11 +67,7 @@ public class DefaultDependenciesImporter
                 }
             }
 
-            final List<Dependency> dependencies = new ArrayList<>( 
targetDependencies.values() );
-            dependencies.addAll( sourceDependencies );
-
-            target.getDependencies().clear();
-            target.getDependencies().addAll( dependencies );
+            target.getDependencies().addAll( sourceDependencies );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/354765dd/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
----------------------------------------------------------------------
diff --git 
a/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
 
b/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
index 7ab0f05..8b0f880 100644
--- 
a/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
+++ 
b/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
@@ -52,6 +52,8 @@ public class DefaultDependencyManagementImporter
                                                                         ? 
target.getDependencyManagement()
                                                                         : new 
DependencyManagement();
 
+            target.setDependencyManagement( targetDependencyManagement );
+
             for ( final Dependency targetDependency : 
targetDependencyManagement.getDependencies() )
             {
                 targetDependencies.put( targetDependency.getManagementKey(), 
targetDependency );
@@ -72,11 +74,7 @@ public class DefaultDependencyManagementImporter
                 }
             }
 
-            final List<Dependency> dependencies = new ArrayList<>( 
targetDependencies.values() );
-            dependencies.addAll( sourceDependencies );
-
-            targetDependencyManagement.setDependencies( dependencies );
-            target.setDependencyManagement( targetDependencyManagement );
+            targetDependencyManagement.getDependencies().addAll( 
sourceDependencies );
         }
     }
 

Reply via email to