in maven-3.0.x/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyCollector.java [102:140]
public CollectResult collectDependencies( ProjectBuildingRequest buildingRequest,
Model root )
throws DependencyCollectionException
{
// Are there examples where packaging and type are NOT in sync
ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( root.getPackaging() );
String extension = artifactHandler != null ? artifactHandler.getExtension() : null;
Artifact aetherArtifact = new DefaultArtifact( root.getGroupId(), root.getArtifactId(), extension,
root.getVersion() );
CollectRequest request = new CollectRequest();
request.setRoot( new Dependency( aetherArtifact, null ) );
ArtifactTypeRegistry typeRegistry = RepositoryUtils.newArtifactTypeRegistry( artifactHandlerManager );
List<Dependency> aetherDependencies = new ArrayList<>( root.getDependencies().size() );
for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencies() )
{
aetherDependencies.add( toDependency( mavenDependency, typeRegistry ) );
}
request.setDependencies( aetherDependencies );
if ( root.getDependencyManagement() != null )
{
List<Dependency> aetherManagerDependencies = new ArrayList<>(
root.getDependencyManagement().getDependencies().size() );
for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencyManagement().getDependencies() )
{
aetherManagerDependencies.add( toDependency( mavenDependency, typeRegistry ) );
}
request.setManagedDependencies( aetherManagerDependencies );
}
return collectDependencies( buildingRequest, request );
}