From 6419a0668b3d4e0bfd42f9a1f69fde66a3944fd6 Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Wed, 11 Jan 2017 04:05:49 +0100 Subject: Do not hardcode jars path in the tests, instead get them from sbt This is necessary to run the tests with the bootstrapped projects and is just much better than hardcoding them anyway. --- compiler/test/dotty/Jars.scala | 20 +++++++++----------- project/Build.scala | 10 ++++++++-- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/compiler/test/dotty/Jars.scala b/compiler/test/dotty/Jars.scala index 6fc9b0fde..f062f8b25 100644 --- a/compiler/test/dotty/Jars.scala +++ b/compiler/test/dotty/Jars.scala @@ -1,20 +1,18 @@ package dotty -/** Jars used when compiling test, defaults to sbt locations */ +/** Jars used when compiling test, normally set from the sbt build */ object Jars { - val dottyLib: String = sys.env.get("DOTTY_LIB") getOrElse { - "../library/target/scala-2.11/dotty-library_2.11-0.1.1-SNAPSHOT.jar" - } + val dottyLib: String = sys.env.get("DOTTY_LIB") + .getOrElse(sys.props("dotty.tests.classes.library")) - val dottyCompiler: String = sys.env.get("DOTTY_COMPILER") getOrElse { - "./target/scala-2.11/dotty-compiler_2.11-0.1.1-SNAPSHOT.jar" - } + val dottyCompiler: String = sys.env.get("DOTTY_COMPILER") + .getOrElse(sys.props("dotty.tests.classes.compiler")) - val dottyInterfaces: String = sys.env.get("DOTTY_INTERFACE") getOrElse { - "../interfaces/target/dotty-interfaces-0.1.1-SNAPSHOT.jar" - } + val dottyInterfaces: String = sys.env.get("DOTTY_INTERFACE") + .getOrElse(sys.props("dotty.tests.classes.interfaces")) - val dottyExtras: List[String] = sys.env.get("DOTTY_EXTRAS") + val dottyExtras: List[String] = Option(sys.env.get("DOTTY_EXTRAS") + .getOrElse(sys.props("dotty.tests.extraclasspath"))) .map(_.split(":").toList).getOrElse(Nil) val dottyReplDeps: List[String] = dottyLib :: dottyExtras diff --git a/project/Build.scala b/project/Build.scala index af862817c..de4ab563f 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -326,7 +326,7 @@ object DottyBuild extends Build { // http://grokbase.com/t/gg/simple-build-tool/135ke5y90p/sbt-setting-jvm-boot-paramaters-for-scala // packageAll should always be run before tests - javaOptions <++= (dependencyClasspath in Runtime, packageAll) map { (attList, _) => + javaOptions <++= (dependencyClasspath in Runtime, packageAll) map { (attList, pA) => // put needed dependencies on classpath: val path = for { file <- attList.map(_.data) @@ -356,7 +356,13 @@ object DottyBuild extends Build { List("-XX:+TieredCompilation", "-XX:TieredStopAtLevel=1") else List() - ("-DpartestParentID=" + pid) :: tuning ::: agentOptions ::: ci_build ::: path.toList + val jars = List( + "-Ddotty.tests.classes.interfaces=" + pA("dotty-interfaces"), + "-Ddotty.tests.classes.library=" + pA("dotty-library"), + "-Ddotty.tests.classes.compiler=" + pA("dotty-compiler") + ) + + ("-DpartestParentID=" + pid) :: jars ::: tuning ::: agentOptions ::: ci_build ::: path.toList } ). settings(publishing) -- cgit v1.2.3