in src/main/java/org/apache/maven/resolver/internal/ant/AntRepoSys.java [728:803]
private void populateCollectRequest( CollectRequest collectRequest, Task task, RepositorySystemSession session,
Dependencies dependencies, List<Exclusion> exclusions )
{
List<Exclusion> globalExclusions = exclusions;
if ( !dependencies.getExclusions().isEmpty() )
{
globalExclusions = new ArrayList<>( exclusions );
globalExclusions.addAll( dependencies.getExclusions() );
}
final Collection<String> ids = new HashSet<>();
for ( DependencyContainer container : dependencies.getDependencyContainers() )
{
if ( container instanceof Dependency )
{
Dependency dep = (Dependency) container;
ids.add( dep.getVersionlessKey() );
collectRequest.addDependency( ConverterUtils.toDependency( dep, globalExclusions, session ) );
}
else
{
populateCollectRequest( collectRequest, task, session, (Dependencies) container, globalExclusions );
}
}
if ( dependencies.getPom() != null )
{
Model model = dependencies.getPom().getModel( task );
for ( org.apache.maven.model.Dependency dep : model.getDependencies() )
{
Dependency dependency = new Dependency();
dependency.setArtifactId( dep.getArtifactId() );
dependency.setClassifier( dep.getClassifier() );
dependency.setGroupId( dep.getGroupId() );
dependency.setScope( dep.getScope() );
dependency.setType( dep.getType() );
dependency.setVersion( dep.getVersion() );
if ( ids.contains( dependency.getVersionlessKey() ) )
{
project.log( "Ignoring dependency " + dependency.getVersionlessKey() + " from " + model.getId()
+ ", already declared locally", Project.MSG_VERBOSE );
continue;
}
if ( dep.getSystemPath() != null && dep.getSystemPath().length() > 0 )
{
dependency.setSystemPath( task.getProject().resolveFile( dep.getSystemPath() ) );
}
for ( org.apache.maven.model.Exclusion exc : dep.getExclusions() )
{
Exclusion exclusion = new Exclusion();
exclusion.setGroupId( exc.getGroupId() );
exclusion.setArtifactId( exc.getArtifactId() );
exclusion.setClassifier( "*" );
exclusion.setExtension( "*" );
dependency.addExclusion( exclusion );
}
collectRequest.addDependency( ConverterUtils.toDependency( dependency, globalExclusions, session ) );
}
}
if ( dependencies.getFile() != null )
{
List<Dependency> deps = readDependencies( dependencies.getFile() );
for ( Dependency dependency : deps )
{
if ( ids.contains( dependency.getVersionlessKey() ) )
{
project.log( "Ignoring dependency " + dependency.getVersionlessKey() + " from "
+ dependencies.getFile() + ", already declared locally", Project.MSG_VERBOSE );
continue;
}
collectRequest.addDependency( ConverterUtils.toDependency( dependency, globalExclusions, session ) );
}
}
}