ProjectSorter sorter = new ProjectSorter( reactorProjects );
reactorProjects = sorter.getSortedProjects();
ArtifactFactory artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
ArtifactCollector artifactCollector = (ArtifactCollector) lookup( ArtifactCollector.class.getName() );
ArtifactMetadataSource artifactMetadataSource = (ArtifactMetadataSource) lookup( ArtifactMetadataSource.ROLE );
// pass back over and resolve dependencies - can't be done earlier as the order may not be correct
for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
{
MavenProject project = (MavenProject) i.next();
project.setRemoteArtifactRepositories( repos );
project.setPluginArtifactRepositories( repos );
Artifact projectArtifact = project.getArtifact();
Map managedVersions = createManagedVersionMap(
ArtifactUtils.versionlessKey( projectArtifact.getGroupId(), projectArtifact.getArtifactId() ),
project.getDependencyManagement(), artifactFactory );
project.setDependencyArtifacts( project.createArtifacts( artifactFactory, null, null ) );
ArtifactResolutionResult result = artifactCollector.collect( project.getDependencyArtifacts(),
projectArtifact, managedVersions,
localRepository, repos, artifactMetadataSource,
null, Collections.EMPTY_LIST );
project.setArtifacts( result.getArtifacts() );