log( "There were no dependencies specified", Project.MSG_WARN );
}
log( "Resolving dependencies...", Project.MSG_VERBOSE );
ArtifactResolutionResult result;
Set artifacts;
List remoteArtifactRepositories = createRemoteArtifactRepositories( pom.getRepositories() );
try
{
artifacts = MavenMetadataSource.createArtifacts( artifactFactory, dependencies, null, null, null );
Artifact pomArtifact = artifactFactory.createBuildArtifact( pom.getGroupId(), pom.getArtifactId(), pom
.getVersion(), pom.getPackaging() );
List listeners = Collections.singletonList( new AntResolutionListener( getProject(), verbose ) );
// TODO: managed dependencies
Map managedDependencies = Collections.EMPTY_MAP;
ArtifactFilter filter = null;
if ( useScope != null )
{
filter = new ScopeArtifactFilter( useScope );
}
if ( type != null )
{
TypeArtifactFilter typeArtifactFilter = new TypeArtifactFilter( type );
if ( filter != null )
{
AndArtifactFilter andFilter = new AndArtifactFilter();
andFilter.add( filter );
andFilter.add( typeArtifactFilter );
filter = andFilter;
}
else
{
filter = typeArtifactFilter;
}
}
result = resolver.resolveTransitively( artifacts, pomArtifact, managedDependencies, localRepo,
remoteArtifactRepositories, metadataSource, filter, listeners );
}
catch ( ArtifactResolutionException e )
{
throw new BuildException( "Unable to resolve artifact: " + e.getMessage(), e );
}
catch ( ArtifactNotFoundException e )
{
throw new BuildException( "Dependency not found: " + e.getMessage(), e );
}
catch ( InvalidDependencyVersionException e )
{
throw new BuildException( e.getMessage(), e );
}
/*
MANTTASKS-37: Do what other ant tasks do and just override the path id.
if ( pathId != null && getProject().getReference( pathId ) != null )
{
throw new BuildException( "Reference ID " + pathId + " already exists" );
}
if ( filesetId != null && getProject().getReference( filesetId ) != null )
{
throw new BuildException( "Reference ID " + filesetId + " already exists" );
}
if ( sourcesFilesetId != null && getProject().getReference( sourcesFilesetId ) != null )
{
throw new BuildException( "Reference ID " + sourcesFilesetId + " already exists" );
}
*/
FileList fileList = new FileList();
fileList.setDir( getLocalRepository().getPath() );
FileSet fileSet = new FileSet();
fileSet.setProject( getProject() );
fileSet.setDir( fileList.getDir( getProject() ) );
FileSet sourcesFileSet = new FileSet();
sourcesFileSet.setDir( getLocalRepository().getPath() );
FileSet javadocsFileSet = new FileSet();
javadocsFileSet.setDir( getLocalRepository().getPath() );
Set versions = new HashSet();
for ( Iterator i = result.getArtifacts().iterator(); i.hasNext(); )
{
Artifact artifact = (Artifact) i.next();
addArtifactToResult( localRepo, artifact, fileSet, fileList );