summaryrefslogtreecommitdiff
path: root/contrib/bsp
diff options
context:
space:
mode:
authorAlexandra Dima <alexandra.dima@jetbrains.com>2019-07-15 17:47:18 +0200
committerSamvel Abrahamyan <samvel1024@gmail.com>2019-10-12 14:33:03 +0200
commitd7473780f2ab9ae7c5a3b77e482fd849438f631e (patch)
tree1dc205c4b546359bcf3652f6dc301ab910c242b1 /contrib/bsp
parent3a1527b7cf11da8f154e96b4a0e193ea1f8a0896 (diff)
downloadmill-d7473780f2ab9ae7c5a3b77e482fd849438f631e.tar.gz
mill-d7473780f2ab9ae7c5a3b77e482fd849438f631e.tar.bz2
mill-d7473780f2ab9ae7c5a3b77e482fd849438f631e.zip
Fixed bug in computing the testing arguments from bsp in buildTargetTest.
Diffstat (limited to 'contrib/bsp')
-rw-r--r--contrib/bsp/src/mill/contrib/MainMillBuildServer.scala2
-rw-r--r--contrib/bsp/src/mill/contrib/bsp/BspTestReporter.scala2
-rw-r--r--contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala10
3 files changed, 11 insertions, 3 deletions
diff --git a/contrib/bsp/src/mill/contrib/MainMillBuildServer.scala b/contrib/bsp/src/mill/contrib/MainMillBuildServer.scala
index 90aa5610..d932fbcb 100644
--- a/contrib/bsp/src/mill/contrib/MainMillBuildServer.scala
+++ b/contrib/bsp/src/mill/contrib/MainMillBuildServer.scala
@@ -17,6 +17,7 @@ import mill.scalalib._
import mill.util.DummyLogger
import org.eclipse.lsp4j.jsonrpc.{CompletableFutures, Launcher}
import requests.Compress.None
+import sbt.testing.Event
import upickle.default
import scala.collection.JavaConverters._
@@ -186,6 +187,7 @@ object MainMillBuildServer extends ExternalModule {
if (millServer.moduleToTarget(module).getDisplayName == "test") {
// println(eval.evaluate(Strict.Agg(module.asInstanceOf[TestModule].testLocal()
// )).rawValues)
+ millServer.initialized = true
println(millServer.buildTargetTest(new TestParams(List(millServer.moduleToTargetId(module)).asJava)).get)
}
}
diff --git a/contrib/bsp/src/mill/contrib/bsp/BspTestReporter.scala b/contrib/bsp/src/mill/contrib/bsp/BspTestReporter.scala
index 23cadfcb..4027cea9 100644
--- a/contrib/bsp/src/mill/contrib/bsp/BspTestReporter.scala
+++ b/contrib/bsp/src/mill/contrib/bsp/BspTestReporter.scala
@@ -27,6 +27,7 @@ class BspTestReporter(
taskStartParams.setData(new TestStart(getDisplayName(event)))
taskStartParams.setMessage("Starting running: " + getDisplayName(event))
client.onBuildTaskStart(taskStartParams)
+ println("Logged start")
}
override def logFinish(event: Event): Unit = {
@@ -75,6 +76,7 @@ class BspTestReporter(
exception.getClass.toString))
}
client.onBuildTaskFinish(taskFinishParams)
+ println("Logged finish")
}
def getDisplayName(e: Event): String = {
diff --git a/contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala b/contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala
index df628049..c1e0f989 100644
--- a/contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala
+++ b/contrib/bsp/src/mill/contrib/bsp/MillBuildServer.scala
@@ -351,7 +351,8 @@ class MillBuildServer(evaluator: Evaluator,
val module = targetIdToModule(targetId)
module match {
case m: TestModule => val testModule = m.asInstanceOf[TestModule]
- val testTask = testModule.testLocal(argsMap(targetId).mkString(" "))
+ println("Arguments: " + argsMap(targetId))
+ val testTask = testModule.testLocal(argsMap(targetId):_*)
// notifying the client that the testing of this build target started
val taskStartParams = new TaskStartParams(new TaskId(testTask.hashCode().toString))
@@ -366,6 +367,8 @@ class MillBuildServer(evaluator: Evaluator,
new TaskId(testTask.hashCode().toString),
Seq.empty[String])
+ println("BspContext: " + bspContext)
+
val results = millEvaluator.evaluate(
Strict.Agg(testTask),
Option(new BspLoggedReporter(client,
@@ -379,6 +382,7 @@ class MillBuildServer(evaluator: Evaluator,
case StatusCode.ERROR => overallStatusCode = StatusCode.ERROR
case StatusCode.CANCELLED => overallStatusCode =
if (overallStatusCode == StatusCode.ERROR) StatusCode.ERROR else StatusCode.CANCELLED
+ case StatusCode.OK =>
}
// notifying the client that the testing of this build target ended
val taskFinishParams = new TaskFinishParams(
@@ -467,9 +471,9 @@ class MillBuildServer(evaluator: Evaluator,
case mainClass: Right[String, String] =>
List(new ScalaMainClass(
mainClass.value,
+ List.empty[String].asJava,
evaluateInformativeTask(evaluator, module.forkArgs, Seq.empty[String]).
- toList.asJava,
- List.empty[String].asJava))
+ toList.asJava))
case msg: Left[String, String] =>
val messageParams = new ShowMessageParams(MessageType.WARNING, msg.value)
messageParams.setOriginId(scalaMainClassesParams.getOriginId)