summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorAlexandra Dima <alexandra.dima@jetbrains.com>2019-07-12 12:31:35 +0200
committerSamvel Abrahamyan <samvel1024@gmail.com>2019-10-12 14:33:01 +0200
commit9c39dd6776944b15433f44c5c4fba994cdd7d152 (patch)
tree92b84f1ae0597812d49a04f317d96dcf0baff5c9 /main
parentcf2ddf2f9da40007847ca69dc521098727b98f6d (diff)
downloadmill-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.scala3
-rw-r--r--main/core/src/eval/Evaluator.scala26
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