Fixes tests/scala-instance-classloader

This commit is contained in:
Eugene Yokota 2017-07-16 17:50:23 -04:00
parent c72ca77c29
commit 2f8d7c2f7a
2 changed files with 27 additions and 26 deletions

View File

@ -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`.

View File

@ -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) }
}
)