mirror of https://github.com/apache/maven.git
Support for dependency exclusions.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@751513 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3661c99c50
commit
48022eecde
|
@ -1,6 +0,0 @@
|
|||
package org.apache.maven.project.processor;
|
||||
|
||||
public class DependencyExclusionsProcessor extends BaseProcessor
|
||||
{
|
||||
|
||||
}
|
|
@ -3,6 +3,7 @@ package org.apache.maven.project.processor;
|
|||
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 @@ public class DependencyProcessor extends BaseProcessor
|
|||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
import org.apache.maven.model.Dependency;
|
||||
import org.apache.maven.model.Exclusion;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
|
@ -75,5 +76,29 @@ public class DependencyProcessorTest extends TestCase
|
|||
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());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue