diff --git a/sbt/src/sbt-test/dependency-management/force/project/TestProject.scala b/sbt/src/sbt-test/dependency-management/force/project/TestProject.scala index 4ddd2ad25..d0d13403c 100755 --- a/sbt/src/sbt-test/dependency-management/force/project/TestProject.scala +++ b/sbt/src/sbt-test/dependency-management/force/project/TestProject.scala @@ -5,17 +5,22 @@ object TestProject extends Build { lazy val root = Project("root", file(".")) settings( ivyPaths <<= (baseDirectory, target)( (dir, t) => new IvyPaths(dir, Some(t / "ivy-cache"))), - libraryDependencies ++= Seq("log4j" % "log4j" % "1.2.14" force(), - "log4j" % "log4j" % "1.2.13"), - TaskKey[Unit]("check-forced") <<= check() + libraryDependencies <++= baseDirectory (libraryDeps), + TaskKey[Unit]("check-forced") <<= check("1.2.14"), + TaskKey[Unit]("check-depend") <<= check("1.2.13") ) - def check() = + def libraryDeps(base: File) = { + val slf4j = Seq("org.slf4j" % "slf4j-log4j12" % "1.1.0") // Uses log4j 1.2.13 + if ((base / "force").exists) slf4j :+ ("log4j" % "log4j" % "1.2.14" force()) else slf4j + } + + def check(ver: String) = (dependencyClasspath in Compile) map { jars => val log4j = jars map (_.data) collect { - case f if f.getName contains "log4j" => f.getName + case f if f.getName contains "log4j-" => f.getName } - if (log4j.size != 1 || !log4j.head.contains("1.2.14")) + if (log4j.size != 1 || !log4j.head.contains(ver)) error("Did not download the correct jar.") } } diff --git a/sbt/src/sbt-test/dependency-management/force/test b/sbt/src/sbt-test/dependency-management/force/test index 02c335291..b20a69c7c 100755 --- a/sbt/src/sbt-test/dependency-management/force/test +++ b/sbt/src/sbt-test/dependency-management/force/test @@ -1 +1,15 @@ -> check-forced \ No newline at end of file +#$ pause +$ touch force + +#$ pause +> reload +#$ pause + +> check-forced +-> check-depend + +$ delete force +> reload + +-> check-forced +> check-depend \ No newline at end of file