From 2f8d7c2f7ad3bdbe08e61fa2200d27e774300074 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 16 Jul 2017 17:50:23 -0400 Subject: [PATCH] Fixes tests/scala-instance-classloader --- notes/1.0.0.markdown | 2 +- .../scala-instance-classloader/build.sbt | 51 ++++++++++--------- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/notes/1.0.0.markdown b/notes/1.0.0.markdown index c69125e1c..ad4862405 100644 --- a/notes/1.0.0.markdown +++ b/notes/1.0.0.markdown @@ -43,7 +43,7 @@ The Scala Center is working with Lightbend to provide [an automatic migration to #### Zinc API changes - Java classes under the `xsbti.compile` package such as `IncOptions` hides the constructor. Use the factory method `xsbti.compile.Foo.of(...)`. -- Renames `ivyScala: IvyScala` to `scalaModuleInfo: ScalaModuleInfo`. +- Renames `ivyScala: IvyScala` key to `scalaModuleInfo: ScalaModuleInfo`. - `xsbti.Reporter#log(...)` takes `xsbti.Problem` as the parameter. Call `log(problem.position, problem.message, problem.severity)` to delegate to the older `log(...)`. - `xsbi.Maybe`, `xsbti.F0`, and `sxbti.F1` are changed to corresponding Java 8 classes `java.util.Optional`, `java.util.Supplier` and `java.util.Function`. diff --git a/sbt/src/sbt-test/tests/scala-instance-classloader/build.sbt b/sbt/src/sbt-test/tests/scala-instance-classloader/build.sbt index 54ff69556..3aae8a6a7 100644 --- a/sbt/src/sbt-test/tests/scala-instance-classloader/build.sbt +++ b/sbt/src/sbt-test/tests/scala-instance-classloader/build.sbt @@ -2,31 +2,32 @@ import sbt.internal.inc.ScalaInstance lazy val OtherScala = config("other-scala").hide -configs(OtherScala) +lazy val root = (project in file(".")) + .configs(OtherScala) + .settings( + scalaVersion := "2.11.11", + libraryDependencies += "org.scala-lang" % "scala-compiler" % "2.11.11" % OtherScala.name, + managedClasspath in OtherScala := Classpaths.managedJars(OtherScala, classpathTypes.value, update.value), -libraryDependencies += "org.scala-lang" % "scala-compiler" % "2.11.8" % OtherScala.name + // Hack in the scala instance + scalaInstance := { + val rawJars = (managedClasspath in OtherScala).value.map(_.data) + val scalaHome = (target.value / "scala-home") + def removeVersion(name: String): String = + name.replaceAll("\\-2.11.11", "") + for(jar <- rawJars) { + val tjar = scalaHome / s"lib/${removeVersion(jar.getName)}" + IO.copyFile(jar, tjar) + } + IO.listFiles(scalaHome).foreach(f => System.err.println(s" * $f}")) + ScalaInstance(scalaHome, appConfiguration.value.provider.scalaProvider.launcher) + }, -managedClasspath in OtherScala := Classpaths.managedJars(OtherScala, classpathTypes.value, update.value) + libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % Test, + libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.3" % Test, -// Hack in the scala instance -scalaInstance := { - val rawJars = (managedClasspath in OtherScala).value.map(_.data) - val scalaHome = (target.value / "scala-home") - def removeVersion(name: String): String = - name.replaceAll("\\-2.11.8", "") - for(jar <- rawJars) { - val tjar = scalaHome / s"lib/${removeVersion(jar.getName)}" - IO.copyFile(jar, tjar) - } - IO.listFiles(scalaHome).foreach(f => System.err.println(s" * $f}")) - ScalaInstance(scalaHome, appConfiguration.value.provider.scalaProvider.launcher) -} - - -libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test" - -libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.3" % "test" - -scalaVersion := "2.11.8" - -ivyScala := ivyScala.value map (_.withOverrideScalaVersion(sbtPlugin.value)) + scalaModuleInfo := { + val old = scalaModuleInfo.value + old map { _.withOverrideScalaVersion(sbtPlugin.value) } + } + )