diff options
author | Alexandra Dima <alexandra.dima@jetbrains.com> | 2019-07-12 12:31:35 +0200 |
---|---|---|
committer | Samvel Abrahamyan <samvel1024@gmail.com> | 2019-10-12 14:33:01 +0200 |
commit | 9c39dd6776944b15433f44c5c4fba994cdd7d152 (patch) | |
tree | 92b84f1ae0597812d49a04f317d96dcf0baff5c9 /main | |
parent | cf2ddf2f9da40007847ca69dc521098727b98f6d (diff) | |
download | mill-9c39dd6776944b15433f44c5c4fba994cdd7d152.tar.gz mill-9c39dd6776944b15433f44c5c4fba994cdd7d152.tar.bz2 mill-9c39dd6776944b15433f44c5c4fba994cdd7d152.zip |
Added support for merging compile parameters from the mill build file with the compile parameters specified through bsp
Diffstat (limited to 'main')
-rw-r--r-- | main/api/src/mill/api/Ctx.scala | 3 | ||||
-rw-r--r-- | main/core/src/eval/Evaluator.scala | 26 |
2 files changed, 19 insertions, 10 deletions
diff --git a/main/api/src/mill/api/Ctx.scala b/main/api/src/mill/api/Ctx.scala index 7d081d6a..0799d887 100644 --- a/main/api/src/mill/api/Ctx.scala +++ b/main/api/src/mill/api/Ctx.scala @@ -61,7 +61,8 @@ class Ctx( val log: Logger, val home: os.Path, val env: Map[String, String], - val reporter: Option[ManagedLoggedReporter] + val reporter: Option[ManagedLoggedReporter], + val compileArguments: Seq[String] = Seq.empty[String] ) extends Ctx.Dest with Ctx.Log diff --git a/main/core/src/eval/Evaluator.scala b/main/core/src/eval/Evaluator.scala index 99befd0d..55802546 100644 --- a/main/core/src/eval/Evaluator.scala +++ b/main/core/src/eval/Evaluator.scala @@ -12,7 +12,7 @@ import mill.api.Result.{Aborted, OuterStack, Success} import mill.util import mill.util._ import mill.api.Strict.Agg -import sbt.internal.inc.ManagedLoggedReporter +import sbt.internal.inc.{CompilerArguments, ManagedLoggedReporter} import sbt.internal.util.{ConsoleOut, MainAppender} import sbt.util.LogExchange @@ -42,9 +42,11 @@ case class Evaluator(home: os.Path, val classLoaderSignHash = classLoaderSig.hashCode() - def evaluate(goals: Agg[Task[_]], reporter: Option[ManagedLoggedReporter] = Option.empty[ManagedLoggedReporter]): Evaluator.Results = { + def evaluate(goals: Agg[Task[_]], + reporter: Option[ManagedLoggedReporter] = Option.empty[ManagedLoggedReporter], + compileArguments: Seq[String] = Seq.empty[String]): Evaluator.Results = { os.makeDir.all(outPath) - + println("Reporter: " + reporter) val (sortedGroups, transitive) = Evaluator.plan(rootModule, goals) val evaluated = new Agg.Mutable[Task[_]] @@ -69,7 +71,8 @@ case class Evaluator(home: os.Path, group, results, counterMsg, - reporter + reporter, + compileArguments ) someTaskFailed = someTaskFailed || newResults.exists(task => !task._2.isInstanceOf[Success[_]]) @@ -115,7 +118,8 @@ case class Evaluator(home: os.Path, group: Agg[Task[_]], results: collection.Map[Task[_], Result[(Any, Int)]], counterMsg: String, - reporter: Option[ManagedLoggedReporter] + reporter: Option[ManagedLoggedReporter], + compilerArguments: Seq[String] ): (collection.Map[Task[_], Result[(Any, Int)]], Seq[Task[_]], Boolean) = { val externalInputsHash = scala.util.hashing.MurmurHash3.orderedHash( @@ -138,7 +142,8 @@ case class Evaluator(home: os.Path, paths = None, maybeTargetLabel = None, counterMsg = counterMsg, - reporter + reporter, + compilerArguments ) (newResults, newEvaluated, false) case Right(labelledNamedTask) => @@ -191,7 +196,8 @@ case class Evaluator(home: os.Path, paths = Some(paths), maybeTargetLabel = Some(msgParts.mkString), counterMsg = counterMsg, - reporter + reporter, + compilerArguments ) newResults(labelledNamedTask.task) match{ @@ -266,7 +272,8 @@ case class Evaluator(home: os.Path, paths: Option[Evaluator.Paths], maybeTargetLabel: Option[String], counterMsg: String, - reporter: Option[ManagedLoggedReporter]): (mutable.LinkedHashMap[Task[_], Result[(Any, Int)]], mutable.Buffer[Task[_]]) = { + reporter: Option[ManagedLoggedReporter], + compileArguments: Seq[String]): (mutable.LinkedHashMap[Task[_], Result[(Any, Int)]], mutable.Buffer[Task[_]]) = { val newEvaluated = mutable.Buffer.empty[Task[_]] @@ -327,7 +334,8 @@ case class Evaluator(home: os.Path, multiLogger, home, env, - reporter //new ManagedLoggedReporter(10, logger) + reporter, + compileArguments//new ManagedLoggedReporter(10, logger) ) val out = System.out val in = System.in |