diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-24 15:48:48 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-24 17:13:04 -0800 |
commit | 5d7d42659c545571b7201efce0ba6a57ab4b0935 (patch) | |
tree | 365cc15d40ab00808b599d1e309af7d18f410efa /scalalib/src | |
parent | 139afd965ea072f8216b56126fb08dc8a44ebac4 (diff) | |
download | mill-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')
-rw-r--r-- | scalalib/src/mill/scalalib/ScalaModule.scala | 36 |
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" |