summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorRobby <robby@santoslab.org>2018-03-10 19:32:42 -0600
committerLi Haoyi <haoyi.sg@gmail.com>2018-03-10 17:32:42 -0800
commit46c516893a641a283f11a46f5c45a5cf1b4af373 (patch)
treeb33f67713da653eba49b91fb8b67b839cec70726 /main
parent0c91649e548f4fe6620e067dfe7425e3bca0de62 (diff)
downloadmill-46c516893a641a283f11a46f5c45a5cf1b4af373.tar.gz
mill-46c516893a641a283f11a46f5c45a5cf1b4af373.tar.bz2
mill-46c516893a641a283f11a46f5c45a5cf1b4af373.zip
Changes to make {clientserver,main,scalalib,scalajslib}.test work under Java 9 (#217)
* Append "exported rt.jar" when creating URLClassLoader. * Disabled tests involving Scala 2.10 & 2.11 and nashorn. * Use java.net.URLClassLoader.
Diffstat (limited to 'main')
-rw-r--r--main/src/mill/modules/Jvm.scala4
-rw-r--r--main/test/src/mill/util/TestUtil.scala5
2 files changed, 7 insertions, 2 deletions
diff --git a/main/src/mill/modules/Jvm.scala b/main/src/mill/modules/Jvm.scala
index 153e1959..dba3552d 100644
--- a/main/src/mill/modules/Jvm.scala
+++ b/main/src/mill/modules/Jvm.scala
@@ -104,7 +104,7 @@ object Jvm {
body: ClassLoader => T): T = {
val cl = if (classLoaderOverrideSbtTesting) {
val outerClassLoader = getClass.getClassLoader
- new URLClassLoader(classPath.map(_.toIO.toURI.toURL).toArray, null){
+ new URLClassLoader(classPath.map(_.toIO.toURI.toURL).toArray, mill.util.ClassLoader.create(Seq(), null)){
override def findClass(name: String) = {
if (name.startsWith("sbt.testing.")){
outerClassLoader.loadClass(name)
@@ -114,7 +114,7 @@ object Jvm {
}
}
} else {
- new URLClassLoader(classPath.map(_.toIO.toURI.toURL).toArray, null)
+ mill.util.ClassLoader.create(classPath.map(_.toIO.toURI.toURL).toVector, null)
}
val oldCl = Thread.currentThread().getContextClassLoader
Thread.currentThread().setContextClassLoader(cl)
diff --git a/main/test/src/mill/util/TestUtil.scala b/main/test/src/mill/util/TestUtil.scala
index d06c7f6a..d0caade7 100644
--- a/main/test/src/mill/util/TestUtil.scala
+++ b/main/test/src/mill/util/TestUtil.scala
@@ -78,4 +78,9 @@ object TestUtil {
}
}
}
+ def disableInJava9OrAbove(f: => Any): Unit = {
+ if (!ammonite.util.Util.java9OrAbove) {
+ f
+ }
+ }
}