Author: jdcasey
Date: Mon Sep 26 19:31:33 2005
New Revision: 291806

URL: http://svn.apache.org/viewcvs?rev=291806&view=rev
Log:
Resolving: MNG-1008...DependencyManagement can now inject exclusions.

Modified:
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java
    
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java?rev=291806&r1=291805&r2=291806&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java
 Mon Sep 26 19:31:33 2005
@@ -90,6 +90,22 @@
         {
             dep.setVersion( def.getVersion() );
         }
+        
+        if ( dep.getClassifier() == null && def.getClassifier() != null )
+        {
+            dep.setClassifier( def.getClassifier() );
+        }
+        
+        if ( dep.getType() == null && def.getType() != null )
+        {
+            dep.setType( def.getType() );
+        }
+        
+        List exclusions = dep.getExclusions();
+        if ( exclusions == null || exclusions.isEmpty() )
+        {
+            dep.setExclusions( def.getExclusions() );
+        }
     }
 
 }

Modified: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java?rev=291806&r1=291805&r2=291806&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java
 (original)
+++ 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/injection/DefaultModelDefaultsInjectorTest.java
 Mon Sep 26 19:31:33 2005
@@ -19,8 +19,10 @@
 import junit.framework.TestCase;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.model.Exclusion;
 import org.apache.maven.model.Model;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -63,6 +65,51 @@
 
         Dependency result = (Dependency) deps.get( 0 );
         assertEquals( def.getVersion(), result.getVersion() );
+    }
+
+    public void testShouldMergeDependencyExclusionsFromDefaultsToDependency()
+    {
+        Model model = new Model();
+
+        Dependency dep = new Dependency();
+        dep.setGroupId( "myGroup" );
+        dep.setArtifactId( "myArtifact" );
+
+        model.addDependency( dep );
+
+        Dependency def = new Dependency();
+        def.setGroupId( dep.getGroupId() );
+        def.setArtifactId( dep.getArtifactId() );
+        def.setVersion( "1.0.1" );
+        def.setScope( "scope" );
+        
+        Exclusion exc = new Exclusion();
+        exc.setArtifactId( "mydep" );
+        exc.setGroupId( "mygrp" );
+        
+        def.addExclusion( exc );
+        
+        DependencyManagement depMgmt = new DependencyManagement();
+
+        depMgmt.addDependency( def );
+
+        model.setDependencyManagement( depMgmt );
+
+        new DefaultModelDefaultsInjector().injectDefaults( model );
+
+        List deps = model.getDependencies();
+        assertEquals( 1, deps.size() );
+
+        Dependency result = (Dependency) deps.get( 0 );
+        assertEquals( def.getVersion(), result.getVersion() );
+        
+        List resultExclusions = result.getExclusions();
+        assertNotNull( resultExclusions );
+        assertEquals( 1, resultExclusions.size() );
+        
+        Exclusion resultExclusion = (Exclusion) resultExclusions.get( 0 );
+        assertEquals( "mydep", resultExclusion.getArtifactId() );
+        assertEquals( "mygrp", resultExclusion.getGroupId() );
     }
 
     public void 
testShouldMergeDefaultUrlAndArtifactWhenDependencyDoesntSupplyVersion()



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to