summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolay Tatarinov <5min4eq.unity@gmail.com>2017-12-09 17:43:57 +0300
committerLi Haoyi <haoyi.sg@gmail.com>2017-12-09 06:43:57 -0800
commitbcbc6d2c36bfb4a3dfaa0f5572e2914fec69297d (patch)
tree4cf75647b7ac22167ec03e0ef2d4540ecdf9a2fb
parenta583f70966c6d5b0fbda0c9989803220b7292ac9 (diff)
downloadmill-bcbc6d2c36bfb4a3dfaa0f5572e2914fec69297d.tar.gz
mill-bcbc6d2c36bfb4a3dfaa0f5572e2914fec69297d.tar.bz2
mill-bcbc6d2c36bfb4a3dfaa0f5572e2914fec69297d.zip
fix console command; add interactiveSubprocess in Jvm (#52)
-rw-r--r--core/src/main/scala/mill/modules/Jvm.scala8
-rw-r--r--scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala4
2 files changed, 10 insertions, 2 deletions
diff --git a/core/src/main/scala/mill/modules/Jvm.scala b/core/src/main/scala/mill/modules/Jvm.scala
index ddc8b427..84e75510 100644
--- a/core/src/main/scala/mill/modules/Jvm.scala
+++ b/core/src/main/scala/mill/modules/Jvm.scala
@@ -27,6 +27,14 @@ object Jvm {
}
allJars
}
+
+ def interactiveSubprocess(mainClass: String,
+ classPath: Seq[Path],
+ options: Seq[String] = Seq.empty): Unit = {
+ import ammonite.ops.ImplicitWd._
+ %("java", "-cp", classPath.mkString(":"), mainClass, options)
+ }
+
def subprocess(mainClass: String,
classPath: Seq[Path],
jvmOptions: Seq[String] = Seq.empty,
diff --git a/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala b/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
index 802a881a..b193a8c3 100644
--- a/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
+++ b/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
@@ -11,7 +11,7 @@ import mill.define.Task
import mill.define.Task.{Module, TaskModule}
import mill.eval.{PathRef, Result}
import mill.modules.Jvm
-import mill.modules.Jvm.{createAssembly, createJar, subprocess}
+import mill.modules.Jvm.{createAssembly, createJar, interactiveSubprocess, subprocess}
import mill.util.Ctx
import sbt.internal.inc._
import sbt.internal.util.{ConsoleOut, MainAppender}
@@ -389,7 +389,7 @@ trait ScalaModule extends Module with TaskModule{ outer =>
}
def console() = T.command{
- subprocess(
+ interactiveSubprocess(
mainClass = "scala.tools.nsc.MainGenericRunner",
classPath = externalCompileDepClasspath().map(_.path) :+ compile().classes.path,
options = Seq("-usejavacp")