aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stage1/Stage1.scala6
-rw-r--r--stage2/AdminStage2.scala2
-rw-r--r--stage2/AdminTasks.scala6
-rw-r--r--stage2/Stage2.scala2
4 files changed, 9 insertions, 7 deletions
diff --git a/stage1/Stage1.scala b/stage1/Stage1.scala
index 3456e1f..91f8ca7 100644
--- a/stage1/Stage1.scala
+++ b/stage1/Stage1.scala
@@ -41,7 +41,8 @@ case class Stage2Args(
cwd: File,
args: Seq[String],
cbtHasChanged: Boolean,
- logger: Logger
+ logger: Logger,
+ classLoaderCache: ClassLoaderCache
)
object Stage1{
@@ -87,7 +88,8 @@ object Stage1{
args.args.drop(1).toVector,
// launcher changes cause entire nailgun restart, so no need for them here
cbtHasChanged = cbtHasChanged,
- logger
+ logger,
+ classLoaderCache
)
) match {
case code: ExitCode => code
diff --git a/stage2/AdminStage2.scala b/stage2/AdminStage2.scala
index 883b5ed..9d7dcb2 100644
--- a/stage2/AdminStage2.scala
+++ b/stage2/AdminStage2.scala
@@ -4,7 +4,7 @@ object AdminStage2 extends Stage2Base{
def run( _args: Stage2Args ): Unit = {
val args = _args.args.dropWhile(Seq("admin","direct") contains _)
val lib = new Lib(_args.logger)
- val adminTasks = new AdminTasks(lib, args, _args.cwd)
+ val adminTasks = new AdminTasks(lib, args, _args.cwd, _args.classLoaderCache)
new lib.ReflectObject(adminTasks){
def usage: String = "Available methods: " ++ lib.taskNames(adminTasks.getClass).mkString(" ")
}.callNullary(args.lift(0))
diff --git a/stage2/AdminTasks.scala b/stage2/AdminTasks.scala
index 655b2b0..f189805 100644
--- a/stage2/AdminTasks.scala
+++ b/stage2/AdminTasks.scala
@@ -2,7 +2,7 @@ package cbt
import scala.collection.immutable.Seq
import java.io.{Console=>_,_}
import java.nio.file._
-class AdminTasks(lib: Lib, args: Seq[String], cwd: File){
+class AdminTasks(lib: Lib, args: Seq[String], cwd: File, classLoaderCache: ClassLoaderCache){
implicit val logger: Logger = lib.logger
def resolve = {
ClassPath.flatten(
@@ -31,14 +31,14 @@ class AdminTasks(lib: Lib, args: Seq[String], cwd: File){
)
// FIXME: this does not work quite yet, throws NoSuchFileException: /ammonite/repl/frontend/ReplBridge$.class
lib.runMain(
- "ammonite.repl.Main", Seq(), d.classLoader(new ClassLoaderCache(logger))
+ "ammonite.repl.Main", Seq(), d.classLoader(classLoaderCache)
)
}
def scala = {
val version = args.lift(1).getOrElse(constants.scalaVersion)
val scalac = new ScalaCompilerDependency( version )
lib.runMain(
- "scala.tools.nsc.MainGenericRunner", Seq("-cp", scalac.classpath.string), scalac.classLoader(new ClassLoaderCache(logger))
+ "scala.tools.nsc.MainGenericRunner", Seq("-cp", scalac.classpath.string), scalac.classLoader(classLoaderCache)
)
}
def scaffoldBasicBuild: Unit = lib.scaffoldBasicBuild( cwd )
diff --git a/stage2/Stage2.scala b/stage2/Stage2.scala
index 0856f54..ddadfb6 100644
--- a/stage2/Stage2.scala
+++ b/stage2/Stage2.scala
@@ -23,7 +23,7 @@ object Stage2 extends Stage2Base{
}
val task = args.args.lift( taskIndex )
- val context = Context( args.cwd, args.cwd, args.args.drop( taskIndex ), logger, args.cbtHasChanged, new ClassLoaderCache(logger) )
+ val context = Context( args.cwd, args.cwd, args.args.drop( taskIndex ), logger, args.cbtHasChanged, args.classLoaderCache )
val first = lib.loadRoot( context )
val build = first.finalBuild