diff --git a/src/main/scala/sbt/ManageDependencies.scala b/src/main/scala/sbt/ManageDependencies.scala
index d0ad1b205..6d865e443 100644
--- a/src/main/scala/sbt/ManageDependencies.scala
+++ b/src/main/scala/sbt/ManageDependencies.scala
@@ -235,10 +235,15 @@ object ManageDependencies
{
import module._
-
+ { if(hasInfo(dependencies))
+ scala.xml.NodeSeq.Empty
+ else
+
+ }
{dependencies}
}
+ def hasInfo(x: scala.xml.NodeSeq) = !({x} \ "info").isEmpty
/** Performs checks/adds filters on Scala dependencies (if enabled in IvyScala). */
def checkModule(moduleAndConf: (ModuleDescriptor, String)): Either[String, (ModuleDescriptor, String)] =
ivyScala match
diff --git a/src/sbt-test/dependency-management/info/project/build.properties b/src/sbt-test/dependency-management/info/project/build.properties
new file mode 100644
index 000000000..54ea234fa
--- /dev/null
+++ b/src/sbt-test/dependency-management/info/project/build.properties
@@ -0,0 +1,3 @@
+project.name=test
+project.org=test
+project.version=1.0
diff --git a/src/sbt-test/dependency-management/info/project/build/InfoTest.scala b/src/sbt-test/dependency-management/info/project/build/InfoTest.scala
new file mode 100644
index 000000000..fc4759671
--- /dev/null
+++ b/src/sbt-test/dependency-management/info/project/build/InfoTest.scala
@@ -0,0 +1,35 @@
+import sbt._
+
+class InfoTest(info: ProjectInfo) extends DefaultProject(info)
+{
+ def ivyCacheDirectory = outputPath / "ivy-cache"
+ override def updateOptions = CacheDirectory(ivyCacheDirectory) :: super.updateOptions.toList
+
+ override def ivyXML =
+ if(customInfo)
+ (
+
+
+ ScalaQuery is a type-safe database query API for Scala.
+
+
+ )
+ else
+
+
+ def customInfo = "info".asFile.exists
+
+ lazy val checkDownload = task { if(compileClasspath.get.isEmpty) Some("Dependency not downloaded") else None }
+ lazy val checkInfo = task {
+ if((delivered \ "info").isEmpty)
+ Some("No info tag generated")
+ else if(customInfo)
+ if( deliveredWithCustom ) None else Some("Expected 'license' and 'description' tags in info tag, got: \n" + (delivered \ "info"))
+ else
+ if( deliveredWithCustom ) Some("Expected empty 'info' tag, got: \n" + (delivered \ "info")) else None
+ }
+ def deliveredWithCustom = !(delivered \ "info" \ "license").isEmpty && !(delivered \ "info" \ "description").isEmpty
+ def delivered = scala.xml.XML.loadFile(ivyFile)
+
+ def ivyFile = (outputPath * "ivy*.xml").get.toList.head.asFile
+}
\ No newline at end of file
diff --git a/src/sbt-test/dependency-management/info/test b/src/sbt-test/dependency-management/info/test
new file mode 100644
index 000000000..b301d8a4f
--- /dev/null
+++ b/src/sbt-test/dependency-management/info/test
@@ -0,0 +1,13 @@
+> update [success]
+> check-download [success]
+> deliver-local [success]
+> check-info [success]
+
+> clean [success]
+> clean-lib [success]
+$ touch info [success]
+
+> update [success]
+> check-download [success]
+> deliver-local [success]
+> check-info [success]
\ No newline at end of file