aboutsummaryrefslogtreecommitdiff
path: root/stage2/AdminTasks.scala
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2016-03-09 01:48:09 -0500
committerChristopher Vogt <oss.nsp@cvogt.org>2016-03-09 01:48:09 -0500
commitb408b441569dc165f4d41b048ff64253695a491d (patch)
tree8ac98cf412825721528cb0c249b3fac74273e223 /stage2/AdminTasks.scala
parenta5a8515c22a7b434a0da34de48caafbef7e5ee8e (diff)
downloadcbt-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.scala23
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
+ )
+ }
}