summaryrefslogtreecommitdiff
path: root/scalalib/src/mill/scalalib/ScalaModule.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-02-24 15:48:48 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-02-24 17:13:04 -0800
commit5d7d42659c545571b7201efce0ba6a57ab4b0935 (patch)
tree365cc15d40ab00808b599d1e309af7d18f410efa /scalalib/src/mill/scalalib/ScalaModule.scala
parent139afd965ea072f8216b56126fb08dc8a44ebac4 (diff)
downloadmill-5d7d42659c545571b7201efce0ba6a57ab4b0935.tar.gz
mill-5d7d42659c545571b7201efce0ba6a57ab4b0935.tar.bz2
mill-5d7d42659c545571b7201efce0ba6a57ab4b0935.zip
better error messages when you run interactive commands without -i
Diffstat (limited to 'scalalib/src/mill/scalalib/ScalaModule.scala')
-rw-r--r--scalalib/src/mill/scalalib/ScalaModule.scala36
1 files changed, 23 insertions, 13 deletions
diff --git a/scalalib/src/mill/scalalib/ScalaModule.scala b/scalalib/src/mill/scalalib/ScalaModule.scala
index a2888048..f92d4d49 100644
--- a/scalalib/src/mill/scalalib/ScalaModule.scala
+++ b/scalalib/src/mill/scalalib/ScalaModule.scala
@@ -11,7 +11,7 @@ import mill.modules.Jvm.{createAssembly, createJar, interactiveSubprocess, runLo
import Lib._
import mill.define.Cross.Resolver
import mill.util.Loose.Agg
-import mill.util.Strict
+import mill.util.{DummyInputStream, Strict}
/**
* Core configuration required to compile a single Scala compilation target
@@ -268,25 +268,35 @@ trait ScalaModule extends mill.Module with TaskModule { outer =>
}
def console() = T.command{
- Jvm.interactiveSubprocess(
- mainClass = "scala.tools.nsc.MainGenericRunner",
- classPath = runClasspath().map(_.path) ++ scalaCompilerClasspath().map(_.path),
- mainArgs = Seq("-usejavacp"),
- workingDir = pwd
- )
+ if (T.ctx().log.inStream == DummyInputStream){
+ Result.Failure("repl needs to be run with the -i/--interactive flag")
+ }else{
+ Jvm.interactiveSubprocess(
+ mainClass = "scala.tools.nsc.MainGenericRunner",
+ classPath = runClasspath().map(_.path) ++ scalaCompilerClasspath().map(_.path),
+ mainArgs = Seq("-usejavacp"),
+ workingDir = pwd
+ )
+ Result.Success()
+ }
}
def ammoniteReplClasspath = T{
resolveDeps(T.task{Agg(ivy"com.lihaoyi:::ammonite:1.0.3")})()
}
def repl() = T.command{
+ if (T.ctx().log.inStream == DummyInputStream){
+ Result.Failure("repl needs to be run with the -i/--interactive flag")
+ }else{
+ Jvm.interactiveSubprocess(
+ mainClass = "ammonite.Main",
+ classPath = runClasspath().map(_.path) ++ ammoniteReplClasspath().map(_.path),
+ mainArgs = Nil,
+ workingDir = pwd
+ )
+ Result.Success()
+ }
- Jvm.interactiveSubprocess(
- mainClass = "ammonite.Main",
- classPath = runClasspath().map(_.path) ++ ammoniteReplClasspath().map(_.path),
- mainArgs = Nil,
- workingDir = pwd
- )
}
// publish artifact with name "mill_2.12.4" instead of "mill_2.12"