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]