summaryrefslogtreecommitdiff
path: root/core/src
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 /core/src
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 'core/src')
-rw-r--r--core/src/mill/util/ClassLoader.scala12
1 files changed, 12 insertions, 0 deletions
diff --git a/core/src/mill/util/ClassLoader.scala b/core/src/mill/util/ClassLoader.scala
new file mode 100644
index 00000000..7f4a9836
--- /dev/null
+++ b/core/src/mill/util/ClassLoader.scala
@@ -0,0 +1,12 @@
+package mill.util
+
+import java.net.{URL, URLClassLoader}
+
+import io.github.retronym.java9rtexport.Export
+
+object ClassLoader {
+ def create(urls: Seq[URL], parent: java.lang.ClassLoader): URLClassLoader = {
+ val rtOpt = if (ammonite.util.Util.java9OrAbove) Some(Export.export().toURI.toURL) else None
+ new URLClassLoader((urls ++ rtOpt).toArray, parent)
+ }
+}