diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-04-08 08:54:45 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-04-08 09:13:24 -0700 |
commit | dbcad35c05f1726f26b8033524e8fdd3d68b2de9 (patch) | |
tree | b5664e6b751e9f0c855e03b9fba737d3d6b50932 /main/src | |
parent | 4f51bd1ccc7cb68822a59ec07946242c1394e8c4 (diff) | |
parent | 997760eeddb75f163f7748c945d81a2f248db974 (diff) | |
download | mill-dbcad35c05f1726f26b8033524e8fdd3d68b2de9.tar.gz mill-dbcad35c05f1726f26b8033524e8fdd3d68b2de9.tar.bz2 mill-dbcad35c05f1726f26b8033524e8fdd3d68b2de9.zip |
merge
Diffstat (limited to 'main/src')
-rw-r--r-- | main/src/mill/Main.scala | 11 | ||||
-rw-r--r-- | main/src/mill/main/MainRunner.scala | 6 | ||||
-rw-r--r-- | main/src/mill/main/RunScript.scala | 6 | ||||
-rw-r--r-- | main/src/mill/main/Server.scala | 15 |
4 files changed, 27 insertions, 11 deletions
diff --git a/main/src/mill/Main.scala b/main/src/mill/Main.scala index 734d61e2..a349321e 100644 --- a/main/src/mill/Main.scala +++ b/main/src/mill/Main.scala @@ -2,6 +2,8 @@ package mill import java.io.{InputStream, PrintStream} +import scala.collection.JavaConverters._ + import ammonite.main.Cli._ import ammonite.ops._ import ammonite.util.Util @@ -24,7 +26,8 @@ object Main { ammonite.Main.isInteractive(), System.in, System.out, - System.err + System.err, + System.getenv().asScala.toMap ) System.exit(if(result) 0 else 1) } @@ -34,7 +37,8 @@ object Main { mainInteractive: Boolean, stdin: InputStream, stdout: PrintStream, - stderr: PrintStream): (Boolean, Option[Evaluator.State]) = { + stderr: PrintStream, + env: Map[String, String]): (Boolean, Option[Evaluator.State]) = { import ammonite.main.Cli val removed = Set("predef-code", "no-home-predef") @@ -102,7 +106,8 @@ object Main { val runner = new mill.main.MainRunner( config.copy(colored = Some(mainInteractive)), stdout, stderr, stdin, - stateCache + stateCache, + env ) if (ClientServer.isJava9OrAbove) { diff --git a/main/src/mill/main/MainRunner.scala b/main/src/mill/main/MainRunner.scala index efebd5a5..fed664fd 100644 --- a/main/src/mill/main/MainRunner.scala +++ b/main/src/mill/main/MainRunner.scala @@ -20,7 +20,8 @@ class MainRunner(val config: ammonite.main.Cli.Config, outprintStream: PrintStream, errPrintStream: PrintStream, stdIn: InputStream, - stateCache0: Option[Evaluator.State] = None) + stateCache0: Option[Evaluator.State] = None, + env : Map[String, String]) extends ammonite.MainRunner( config, outprintStream, errPrintStream, stdIn, outprintStream, errPrintStream @@ -75,7 +76,8 @@ class MainRunner(val config: ammonite.main.Cli.Config, errPrintStream, errPrintStream, stdIn - ) + ), + env ) result match{ diff --git a/main/src/mill/main/RunScript.scala b/main/src/mill/main/RunScript.scala index 77930cc8..75042dea 100644 --- a/main/src/mill/main/RunScript.scala +++ b/main/src/mill/main/RunScript.scala @@ -29,7 +29,8 @@ object RunScript{ instantiateInterpreter: => Either[(Res.Failing, Seq[(Path, Long)]), ammonite.interp.Interpreter], scriptArgs: Seq[String], stateCache: Option[Evaluator.State], - log: Logger) + log: Logger, + env : Map[String, String]) : (Res[(Evaluator[Any], Seq[PathRef], Either[String, Seq[Js.Value]])], Seq[(Path, Long)]) = { val (evalState, interpWatched) = stateCache match{ @@ -53,7 +54,8 @@ object RunScript{ val evalRes = for(s <- evalState) - yield new Evaluator[Any](home, wd / 'out, wd / 'out, s.rootModule, log, s.classLoaderSig, s.workerCache) + yield new Evaluator[Any](home, wd / 'out, wd / 'out, s.rootModule, log, + s.classLoaderSig, s.workerCache, env) val evaluated = for{ evaluator <- evalRes diff --git a/main/src/mill/main/Server.scala b/main/src/mill/main/Server.scala index c0d75c87..14aade4c 100644 --- a/main/src/mill/main/Server.scala +++ b/main/src/mill/main/Server.scala @@ -4,6 +4,7 @@ import java.io._ import java.net.Socket import mill.Main +import scala.collection.JavaConverters._ import org.scalasbt.ipcsocket._ import mill.client._ import mill.eval.Evaluator @@ -16,7 +17,8 @@ trait ServerMain[T]{ mainInteractive: Boolean, stdin: InputStream, stdout: PrintStream, - stderr: PrintStream): (Boolean, Option[T]) + stderr: PrintStream, + env : Map[String, String]): (Boolean, Option[T]) } object ServerMain extends mill.main.ServerMain[Evaluator.State]{ @@ -34,13 +36,15 @@ object ServerMain extends mill.main.ServerMain[Evaluator.State]{ mainInteractive: Boolean, stdin: InputStream, stdout: PrintStream, - stderr: PrintStream) = Main.main0( + stderr: PrintStream, + env : Map[String, String]) = Main.main0( args, stateCache, mainInteractive, DummyInputStream, stdout, - stderr + stderr, + env ) } @@ -96,6 +100,7 @@ class Server[T](lockBase: String, val argStream = new FileInputStream(lockBase + "/run") val interactive = argStream.read() != 0; val args = ClientServer.parseArgs(argStream) + val env = ClientServer.parseMap(argStream) argStream.close() var done = false @@ -109,7 +114,9 @@ class Server[T](lockBase: String, sm.stateCache, interactive, socketIn, - stdout, stderr + stdout, + stderr, + env.asScala.toMap ) sm.stateCache = newStateCache |