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 ); } }
