diff options
-rw-r--r-- | stage1/Stage1.scala | 6 | ||||
-rw-r--r-- | stage2/AdminStage2.scala | 2 | ||||
-rw-r--r-- | stage2/AdminTasks.scala | 6 | ||||
-rw-r--r-- | stage2/Stage2.scala | 2 |
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 |