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]