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 
)
         {

Reply via email to