diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/src/mill/eval/Evaluator.scala | 10 | ||||
-rw-r--r-- | core/src/mill/util/Ctx.scala | 3 |
2 files changed, 10 insertions, 3 deletions
diff --git a/core/src/mill/eval/Evaluator.scala b/core/src/mill/eval/Evaluator.scala index 33141c0a..7b3634ad 100644 --- a/core/src/mill/eval/Evaluator.scala +++ b/core/src/mill/eval/Evaluator.scala @@ -2,6 +2,8 @@ package mill.eval import java.net.URLClassLoader +import scala.collection.JavaConverters._ + import mill.util.Router.EntryPoint import ammonite.ops._ import ammonite.runtime.SpecialClassLoader @@ -32,7 +34,8 @@ case class Evaluator[T](home: Path, rootModule: mill.define.BaseModule, log: Logger, classLoaderSig: Seq[(Either[String, Path], Long)] = Evaluator.classLoaderSig, - workerCache: mutable.Map[Segments, (Int, Any)] = mutable.Map.empty){ + workerCache: mutable.Map[Segments, (Int, Any)] = mutable.Map.empty, + env : Map[String, String] = Evaluator.defaultEnv){ val classLoaderSignHash = classLoaderSig.hashCode() def evaluate(goals: Agg[Task[_]]): Evaluator.Results = { mkdir(outPath) @@ -271,7 +274,8 @@ case class Evaluator[T](home: Path, } }, multiLogger, - home + home, + env ) val out = System.out @@ -335,6 +339,8 @@ object Evaluator{ // in directly) we are forced to pass it in via a ThreadLocal val currentEvaluator = new ThreadLocal[mill.eval.Evaluator[_]] + val defaultEnv: Map[String, String] = System.getenv().asScala.toMap + case class Paths(out: Path, dest: Path, meta: Path, diff --git a/core/src/mill/util/Ctx.scala b/core/src/mill/util/Ctx.scala index 99818194..88a8baec 100644 --- a/core/src/mill/util/Ctx.scala +++ b/core/src/mill/util/Ctx.scala @@ -36,7 +36,8 @@ object Ctx{ class Ctx(val args: IndexedSeq[_], dest0: () => Path, val log: Logger, - val home: Path) + val home: Path, + val env : Map[String, String]) extends Ctx.Dest with Ctx.Log with Ctx.Args |