Repository: maven Updated Branches: refs/heads/MNG-5227+MNG-5935 [created] f3ee0b640
[MNG-5227] The 'optional' flag of a dependency should be manageable. o Updated the ModelBuilder to manage the optional flag the same way everything else is managed. The optional flag is subject to management by the resolver ever since, only the ModelBuilder was lacking the management. o Updated to include debug information about optionality management. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/68317b75 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/68317b75 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/68317b75 Branch: refs/heads/MNG-5227+MNG-5935 Commit: 68317b75e50c943cda87503dbc2481890b21b716 Parents: d413296 Author: Christian Schulte <schu...@apache.org> Authored: Wed Jan 27 03:46:11 2016 +0100 Committer: Christian Schulte <schu...@apache.org> Committed: Sat Jan 21 22:30:23 2017 +0100 ---------------------------------------------------------------------- .../maven/project/DefaultProjectDependenciesResolver.java | 8 ++++++++ .../management/DefaultDependencyManagementInjector.java | 7 ------- 2 files changed, 8 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven/blob/68317b75/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java index 50c9e35..7f2f902 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java @@ -273,6 +273,14 @@ public class DefaultProjectDependenciesResolver appendManagementSource( buffer, art, "version" ); buffer.append( ")" ); } + + Boolean premanagedOptional = DependencyManagerUtils.getPremanagedOptional( node ); + if ( premanagedOptional != null && !premanagedOptional.equals( dep.getOptional() ) ) + { + buffer.append( " (optionality managed from " ).append( premanagedOptional ); + appendManagementSource( buffer, art, "optional" ); + buffer.append( ')' ); + } } else { http://git-wip-us.apache.org/repos/asf/maven/blob/68317b75/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java ---------------------------------------------------------------------- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java b/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java index e611973..731cdd8 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java @@ -82,13 +82,6 @@ public class DefaultDependencyManagementInjector } @Override - protected void mergeDependency_Optional( Dependency target, Dependency source, boolean sourceDominant, - Map<Object, Object> context ) - { - // optional flag is not managed - } - - @Override protected void mergeDependency_Exclusions( Dependency target, Dependency source, boolean sourceDominant, Map<Object, Object> context ) {