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 /core | |
parent | 4f51bd1ccc7cb68822a59ec07946242c1394e8c4 (diff) | |
parent | 997760eeddb75f163f7748c945d81a2f248db974 (diff) | |
download | mill-dbcad35c05f1726f26b8033524e8fdd3d68b2de9.tar.gz mill-dbcad35c05f1726f26b8033524e8fdd3d68b2de9.tar.bz2 mill-dbcad35c05f1726f26b8033524e8fdd3d68b2de9.zip |
merge
Diffstat (limited to 'core')
-rw-r--r-- | core/src/mill/eval/Evaluator.scala | 10 | ||||
-rw-r--r-- | core/src/mill/util/Ctx.scala | 9 |
2 files changed, 15 insertions, 4 deletions
diff --git a/core/src/mill/eval/Evaluator.scala b/core/src/mill/eval/Evaluator.scala index a1bbf142..a728ec97 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..6c8b2afb 100644 --- a/core/src/mill/util/Ctx.scala +++ b/core/src/mill/util/Ctx.scala @@ -23,6 +23,9 @@ object Ctx{ trait Home{ def home: Path } + trait Env{ + def env: Map[String, String] + } object Log{ implicit def logToCtx(l: Logger): Log = new Log { def log = l } } @@ -36,11 +39,13 @@ 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 - with Ctx.Home{ + with Ctx.Home + with Ctx.Env { def dest = dest0() def length = args.length |