diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2019-05-19 11:23:51 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-19 11:23:51 +0800 |
commit | 1cb439fce4af7a61166f13a3c5045fa7c73b25de (patch) | |
tree | 82f7d64e787e2871e973d895f20bfc0fe95df0f0 /main/src/main/ReplApplyHandler.scala | |
parent | 64f477e36c33afe8dfd87a839ba263e9973b0669 (diff) | |
parent | 052af24a530f8bc0532b368a2d360ff30f67d7b8 (diff) | |
download | mill-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.scala | 20 |
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 |