summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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")