summaryrefslogtreecommitdiff
path: root/main/src/main/ReplApplyHandler.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2019-05-19 11:23:51 +0800
committerGitHub <noreply@github.com>2019-05-19 11:23:51 +0800
commit1cb439fce4af7a61166f13a3c5045fa7c73b25de (patch)
tree82f7d64e787e2871e973d895f20bfc0fe95df0f0 /main/src/main/ReplApplyHandler.scala
parent64f477e36c33afe8dfd87a839ba263e9973b0669 (diff)
parent052af24a530f8bc0532b368a2d360ff30f67d7b8 (diff)
downloadmill-1cb439fce4af7a61166f13a3c5045fa7c73b25de.tar.gz
mill-1cb439fce4af7a61166f13a3c5045fa7c73b25de.tar.bz2
mill-1cb439fce4af7a61166f13a3c5045fa7c73b25de.zip
Merge branch 'master' into docker
Diffstat (limited to 'main/src/main/ReplApplyHandler.scala')
-rw-r--r--main/src/main/ReplApplyHandler.scala20
1 files changed, 14 insertions, 6 deletions
diff --git a/main/src/main/ReplApplyHandler.scala b/main/src/main/ReplApplyHandler.scala
index 6f1e060d..7f959929 100644
--- a/main/src/main/ReplApplyHandler.scala
+++ b/main/src/main/ReplApplyHandler.scala
@@ -1,14 +1,13 @@
package mill.main
+import scala.collection.mutable
+import mill.api.Strict.Agg
import mill.define.Applicative.ApplyHandler
import mill.define.Segment.Label
import mill.define._
import mill.eval.{Evaluator, Result}
-import mill.api.Strict.Agg
-
-import scala.collection.mutable
object ReplApplyHandler{
def apply[T](home: os.Path,
disableTicker: Boolean,
@@ -17,7 +16,8 @@ object ReplApplyHandler{
rootModule: mill.define.BaseModule,
discover: Discover[_],
debugLog: Boolean,
- keepGoing: Boolean) = {
+ keepGoing: Boolean,
+ systemProperties: Map[String, String]): ReplApplyHandler = {
new ReplApplyHandler(
pprinter0,
new Evaluator(
@@ -36,7 +36,8 @@ object ReplApplyHandler{
debugEnabled = debugLog
),
failFast = !keepGoing
- )
+ ),
+ systemProperties
)
}
def pprintCross(c: mill.define.Cross[_], evaluator: Evaluator) = {
@@ -113,8 +114,15 @@ object ReplApplyHandler{
}
}
+
class ReplApplyHandler(pprinter0: pprint.PPrinter,
- val evaluator: Evaluator) extends ApplyHandler[Task] {
+ val evaluator: Evaluator,
+ systemProperties: Map[String, String]) extends ApplyHandler[Task] {
+
+ systemProperties.foreach {case (k,v) =>
+ System.setProperty(k,v)
+ }
+
// Evaluate classLoaderSig only once in the REPL to avoid busting caches
// as the user enters more REPL commands and changes the classpath
val classLoaderSig = Evaluator.classLoaderSig