diff options
author | Christopher Vogt <oss.nsp@cvogt.org> | 2016-03-09 01:48:09 -0500 |
---|---|---|
committer | Christopher Vogt <oss.nsp@cvogt.org> | 2016-03-09 01:48:09 -0500 |
commit | b408b441569dc165f4d41b048ff64253695a491d (patch) | |
tree | 8ac98cf412825721528cb0c249b3fac74273e223 /stage2/AdminTasks.scala | |
parent | a5a8515c22a7b434a0da34de48caafbef7e5ee8e (diff) | |
download | cbt-b408b441569dc165f4d41b048ff64253695a491d.tar.gz cbt-b408b441569dc165f4d41b048ff64253695a491d.tar.bz2 cbt-b408b441569dc165f4d41b048ff64253695a491d.zip |
Add feature for starting the Scala REPL in arbitrary versions, propagate logger as implicits
Diffstat (limited to 'stage2/AdminTasks.scala')
-rw-r--r-- | stage2/AdminTasks.scala | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/stage2/AdminTasks.scala b/stage2/AdminTasks.scala index 2f7efe1..70b140e 100644 --- a/stage2/AdminTasks.scala +++ b/stage2/AdminTasks.scala @@ -1,12 +1,33 @@ package cbt +import scala.collection.immutable.Seq class AdminTasks(lib: Lib, args: Array[String]){ + implicit val logger: Logger = lib.logger def resolve = { ClassPath.flatten( - args(0).split(",").toVector.map{ + args(1).split(",").toVector.map{ d => val v = d.split(":") new MavenDependency(v(0),v(1),v(2))(lib.logger).classpath } ) } + def amm = ammonite + def ammonite = { + val version = args.lift(1).getOrElse(constants.scalaVersion) + val scalac = new ScalaCompilerDependency( version ) + val d = MavenDependency( + "com.lihaoyi","ammonite-repl_2.11.7",args.lift(1).getOrElse("0.5.6") + ) + // FIXME: this does not work quite yet, throws NoSuchFileException: /ammonite/repl/frontend/ReplBridge$.class + lib.runMain( + "ammonite.repl.Main", Seq(), d.classLoader + ) + } + 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 + ) + } } |