summaryrefslogtreecommitdiff
path: root/scalalib
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2018-07-27 01:41:29 +0200
committerLi Haoyi <haoyi.sg@gmail.com>2018-07-27 07:41:29 +0800
commit450679672077a5d96e572e2526680db7ae3a1dcb (patch)
treee137a280fcb1f98ae201ffdd84004d22f70c1f69 /scalalib
parent2c8b55967f946435a4b553c745c8d99620a85ea1 (diff)
downloadmill-450679672077a5d96e572e2526680db7ae3a1dcb.tar.gz
mill-450679672077a5d96e572e2526680db7ae3a1dcb.tar.bz2
mill-450679672077a5d96e572e2526680db7ae3a1dcb.zip
Plugins do not belong on the compiler classpath (#391)
They will be classloaded by the compiler itself based on -Xplugin.
Diffstat (limited to 'scalalib')
-rw-r--r--scalalib/worker/src/mill/scalalib/worker/ScalaWorker.scala20
1 files changed, 3 insertions, 17 deletions
diff --git a/scalalib/worker/src/mill/scalalib/worker/ScalaWorker.scala b/scalalib/worker/src/mill/scalalib/worker/ScalaWorker.scala
index 2f3ca1b9..3e12565e 100644
--- a/scalalib/worker/src/mill/scalalib/worker/ScalaWorker.scala
+++ b/scalalib/worker/src/mill/scalalib/worker/ScalaWorker.scala
@@ -25,7 +25,6 @@ case class MockedLookup(am: File => Optional[CompileAnalysis]) extends PerClassp
class ScalaWorker(ctx0: mill.util.Ctx,
compilerBridgeClasspath: Array[String]) extends mill.scalalib.ScalaWorkerApi{
- @volatile var scalaClassloaderCache = Option.empty[(Long, ClassLoader)]
@volatile var scalaInstanceCache = Option.empty[(Long, ScalaInstance)]
def compileZincBridge(scalaVersion: String,
@@ -89,29 +88,16 @@ class ScalaWorker(ctx0: mill.util.Ctx,
val compilerBridge = compileZincBridge(scalaVersion, compilerBridgeSources, compilerJars)
- val pluginJars = scalacPluginClasspath.toArray.map(_.toIO)
-
- val compilerClassloaderSig = compilerClasspath.map(p => p.toString().hashCode + p.mtime.toMillis).sum
- val scalaInstanceSig =
- compilerClassloaderSig + scalacPluginClasspath.map(p => p.toString().hashCode + p.mtime.toMillis).sum
-
- val compilerClassLoader = scalaClassloaderCache match{
- case Some((k, v)) if k == compilerClassloaderSig => v
- case _ =>
- val classloader = mill.util.ClassLoader.create(compilerJars.map(_.toURI.toURL), null)
- scalaClassloaderCache = Some((compilerClassloaderSig, classloader))
- classloader
- }
-
+ val scalaInstanceSig = compilerClasspath.map(p => p.toString().hashCode + p.mtime.toMillis).sum
val scalaInstance = scalaInstanceCache match{
case Some((k, v)) if k == scalaInstanceSig => v
case _ =>
val scalaInstance = new ScalaInstance(
version = scalaVersion,
- loader = mill.util.ClassLoader.create(pluginJars.map(_.toURI.toURL), compilerClassLoader),
+ loader = mill.util.ClassLoader.create(compilerJars.map(_.toURI.toURL), null),
libraryJar = grepJar(compilerClasspath, s"scala-library-$scalaVersion.jar"),
compilerJar = grepJar(compilerClasspath, s"scala-compiler-$scalaVersion.jar"),
- allJars = compilerJars ++ pluginJars,
+ allJars = compilerJars,
explicitActual = None
)
scalaInstanceCache = Some((scalaInstanceSig, scalaInstance))