summaryrefslogtreecommitdiff
path: root/scalaworker/src
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-03-18 10:35:57 -0700
committerLi Haoyi <haoyi.sg@gmail.com>2018-03-18 10:35:57 -0700
commit3715c7bfb88de8daa86cd663d22057ec776cedcc (patch)
tree0a85083bcdb27867110e33c05c15ac13ae2865a9 /scalaworker/src
parent350a3115afca590bee6311dbed4a657fe9cca375 (diff)
parent0063444b422e317b9ee68c789f9b3224dcf28825 (diff)
downloadmill-3715c7bfb88de8daa86cd663d22057ec776cedcc.tar.gz
mill-3715c7bfb88de8daa86cd663d22057ec776cedcc.tar.bz2
mill-3715c7bfb88de8daa86cd663d22057ec776cedcc.zip
Merge branch 'master' of github.com:lihaoyi/mill
Diffstat (limited to 'scalaworker/src')
-rw-r--r--scalaworker/src/mill/scalaworker/ScalaWorker.scala10
1 files changed, 5 insertions, 5 deletions
diff --git a/scalaworker/src/mill/scalaworker/ScalaWorker.scala b/scalaworker/src/mill/scalaworker/ScalaWorker.scala
index 12511b60..ca20ccf1 100644
--- a/scalaworker/src/mill/scalaworker/ScalaWorker.scala
+++ b/scalaworker/src/mill/scalaworker/ScalaWorker.scala
@@ -89,7 +89,7 @@ class ScalaWorker(ctx0: mill.util.Ctx,
.get
val sourceFolder = mill.modules.Util.unpackZip(sourceJar)(workingDir)
- val classloader = new URLClassLoader(compilerJars.map(_.toURI.toURL), null)
+ val classloader = mill.util.ClassLoader.create(compilerJars.map(_.toURI.toURL), null)
val scalacMain = classloader.loadClass("scala.tools.nsc.Main")
val argsArray = Array[String](
"-d", compiledDest.toString,
@@ -145,7 +145,7 @@ class ScalaWorker(ctx0: mill.util.Ctx,
val compilerClassLoader = scalaClassloaderCache match{
case Some((k, v)) if k == compilerClassloaderSig => v
case _ =>
- val classloader = new URLClassLoader(compilerJars.map(_.toURI.toURL), null)
+ val classloader = mill.util.ClassLoader.create(compilerJars.map(_.toURI.toURL), null)
scalaClassloaderCache = Some((compilerClassloaderSig, classloader))
classloader
}
@@ -155,7 +155,7 @@ class ScalaWorker(ctx0: mill.util.Ctx,
case _ =>
val scalaInstance = new ScalaInstance(
version = scalaVersion,
- loader = new URLClassLoader(pluginJars.map(_.toURI.toURL), compilerClassLoader),
+ loader = mill.util.ClassLoader.create(pluginJars.map(_.toURI.toURL), compilerClassLoader),
libraryJar = grepJar(compilerClasspath, s"scala-library-$scalaVersion.jar"),
compilerJar = grepJar(compilerClasspath, s"scala-compiler-$scalaVersion.jar"),
allJars = compilerJars ++ pluginJars,
@@ -333,8 +333,8 @@ class ScalaWorker(ctx0: mill.util.Ctx,
val cls = cl.loadClass(path.stripSuffix(".class").replace('/', '.'))
fingerprints.find {
case f: SubclassFingerprint =>
-
- (f.isModule == cls.getName.endsWith("$")) &&
+ !cls.isInterface &&
+ (f.isModule == cls.getName.endsWith("$")) &&
cl.loadClass(f.superclassName()).isAssignableFrom(cls)
case f: AnnotatedFingerprint =>
(f.isModule == cls.getName.endsWith("$")) &&