[MNG-5227] The 'optional' flag of a dependency should be manageable.

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

Branch: refs/heads/DEPMGMT
Commit: 96227615f861dd35dc2a4ccdcbb871e248023587
Parents: 892102f
Author: Christian Schulte <schu...@apache.org>
Authored: Wed Jan 27 03:46:11 2016 +0100
Committer: Christian Schulte <schu...@apache.org>
Committed: Wed Mar 8 17:56:32 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/96227615/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 16b60c2..21dfaa2 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/96227615/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