Author: sisbell Date: Sun Mar 8 20:07:56 2009 New Revision: 751513 URL: http://svn.apache.org/viewvc?rev=751513&view=rev Log: Support for dependency exclusions.
Removed: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/DependencyExclusionsProcessor.java Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/DependencyProcessor.java maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/processor/DependencyProcessorTest.java Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/DependencyProcessor.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/DependencyProcessor.java?rev=751513&r1=751512&r2=751513&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/DependencyProcessor.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/DependencyProcessor.java Sun Mar 8 20:07:56 2009 @@ -3,6 +3,7 @@ import java.util.List; import org.apache.maven.model.Dependency; +import org.apache.maven.model.Exclusion; public class DependencyProcessor extends BaseProcessor { @@ -74,8 +75,31 @@ targetDependency.setVersion( dependency.getVersion() ); } - //TODO: Exclusions + if(!dependency.getExclusions().isEmpty()) + { + List<Exclusion> targetExclusions = targetDependency.getExclusions(); + for(Exclusion e : dependency.getExclusions()) + { + if(!containsExclusion(e, targetExclusions)) + { + Exclusion e1 = new Exclusion(); + e1.setArtifactId( e.getArtifactId() ); + e1.setGroupId( e.getGroupId() ); + targetExclusions.add( e1 ); + } + } + } } - + private static boolean containsExclusion(Exclusion exclusion, List<Exclusion> exclusions) + { + for(Exclusion e :exclusions) + { + if(e.getGroupId().equals( exclusion.getGroupId() ) && e.getArtifactId().equals( exclusion.getArtifactId() )) + { + return true; + } + } + return false; + } } Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/processor/DependencyProcessorTest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/processor/DependencyProcessorTest.java?rev=751513&r1=751512&r2=751513&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/processor/DependencyProcessorTest.java (original) +++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/processor/DependencyProcessorTest.java Sun Mar 8 20:07:56 2009 @@ -4,6 +4,7 @@ import java.util.List; import org.apache.maven.model.Dependency; +import org.apache.maven.model.Exclusion; import junit.framework.TestCase; @@ -75,5 +76,29 @@ assertEquals("aid", dependencies.get( 0 ).getArtifactId()); assertEquals("gid", dependencies.get( 0 ).getGroupId()); - } + } + + public void testExclusionJoin() + { + DependencyProcessor processor = new DependencyProcessor(); + List<Dependency> dependencies = new ArrayList<Dependency>(); + + Exclusion e = new Exclusion(); + e.setArtifactId( "aid" ); + e.setGroupId( "gid" ); + + Dependency child = new Dependency(); + child.addExclusion( e ); + + Exclusion e1 = new Exclusion(); + e1.setArtifactId( "aid1" ); + e1.setGroupId( "gid1" ); + Dependency parent = new Dependency(); + parent.addExclusion( e1 ); + + processor.process( parent, child, dependencies, false ); + assertEquals(2, dependencies.get( 0 ).getExclusions().size()); + assertEquals("aid", dependencies.get( 0 ).getExclusions().get( 0 ).getArtifactId()); + assertEquals("aid1", dependencies.get( 0 ).getExclusions().get( 1 ).getArtifactId()); + } }