diff --git a/ivy/src/main/scala/sbt/ProjectResolver.scala b/ivy/src/main/scala/sbt/ProjectResolver.scala index a3b31c298..917889db8 100644 --- a/ivy/src/main/scala/sbt/ProjectResolver.scala +++ b/ivy/src/main/scala/sbt/ProjectResolver.scala @@ -26,11 +26,12 @@ class ProjectResolver(name: String, map: Map[ModuleRevisionId, ModuleDescriptor] override def toString = "ProjectResolver(" + name + ", mapped: " + map.keys.mkString(", ") + ")" def getDependency(dd: DependencyDescriptor, data: ResolveData): ResolvedModuleRevision = + getDependency(dd.getDependencyRevisionId).orNull + + private[this] def getDependency(revisionId: ModuleRevisionId): Option[ResolvedModuleRevision] = { - val revisionId = dd.getDependencyRevisionId def constructResult(descriptor: ModuleDescriptor) = new ResolvedModuleRevision(this, this, descriptor, report(revisionId), true) - val dep = (map get revisionId map constructResult).orNull - dep + map get revisionId map constructResult } def report(revisionId: ModuleRevisionId): MetadataArtifactDownloadReport = @@ -46,7 +47,14 @@ class ProjectResolver(name: String, map: Map[ModuleRevisionId, ModuleDescriptor] def exists(artifact: IArtifact) = false def locate(artifact: IArtifact) = null def download(artifacts: Array[IArtifact], options: DownloadOptions): DownloadReport = - new DownloadReport + { + val r = new DownloadReport + for(artifact <- artifacts) + if(getDependency(artifact.getModuleRevisionId).isEmpty) + r.addArtifactReport(notDownloaded(artifact)) + r + } + def download(artifact: ArtifactOrigin, options: DownloadOptions): ArtifactDownloadReport = notDownloaded(artifact.getArtifact) def findIvyFileRef(dd: DependencyDescriptor, data: ResolveData) = null