diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-03-18 10:35:57 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-03-18 10:35:57 -0700 |
commit | 3715c7bfb88de8daa86cd663d22057ec776cedcc (patch) | |
tree | 0a85083bcdb27867110e33c05c15ac13ae2865a9 /core | |
parent | 350a3115afca590bee6311dbed4a657fe9cca375 (diff) | |
parent | 0063444b422e317b9ee68c789f9b3224dcf28825 (diff) | |
download | mill-3715c7bfb88de8daa86cd663d22057ec776cedcc.tar.gz mill-3715c7bfb88de8daa86cd663d22057ec776cedcc.tar.bz2 mill-3715c7bfb88de8daa86cd663d22057ec776cedcc.zip |
Merge branch 'master' of github.com:lihaoyi/mill
Diffstat (limited to 'core')
-rw-r--r-- | core/src/mill/util/ClassLoader.scala | 19 |
1 files changed, 19 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..a1b42158 --- /dev/null +++ b/core/src/mill/util/ClassLoader.scala @@ -0,0 +1,19 @@ +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 cl = new URLClassLoader(urls.toArray, parent) + if (!ammonite.util.Util.java9OrAbove) return cl + try { + cl.loadClass("javax.script.ScriptEngineManager") + cl + } catch { + case _: ClassNotFoundException => + new URLClassLoader((urls ++ Some(Export.export().toURI.toURL)).toArray, parent) + } + } +} |