summaryrefslogtreecommitdiff
path: root/contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala')
-rw-r--r--contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala28
1 files changed, 26 insertions, 2 deletions
diff --git a/contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala b/contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala
index b020b498..29a07f17 100644
--- a/contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala
+++ b/contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala
@@ -1,10 +1,15 @@
package mill.contrib.bsp
-import java.util
import scala.collection.JavaConverters._
-import scala.compat.java8.OptionConverters._
import ch.epfl.scala.bsp4j.{BuildTargetIdentifier, CompileParams, RunParams, TestParams}
+
+/**
+ * Common trait to represent BSP request parameters that
+ * have a specific form: include one or more targetIds,
+ * arguments for the execution of the task, and an optional
+ * origin id generated by the client.
+ */
trait Parameters {
def getTargets: List[BuildTargetIdentifier]
@@ -83,14 +88,33 @@ case class TParams(testParams: TestParams) extends Parameters {
}
object TaskParameters {
+
+ /**
+ * Convert parameters specific to the compile request
+ * to the common trait Parameters.
+ * @param compileParams compile request parameters
+ * @return general task parameters containing compilation info
+ */
def fromCompileParams(compileParams: CompileParams): Parameters = {
CParams(compileParams)
}
+ /**
+ * Convert parameters specific to the run request
+ * to the common trait Parameters.
+ * @param runParams run request parameters
+ * @return general task parameters containing running info
+ */
def fromRunParams(runParams: RunParams): Parameters = {
RParams(runParams)
}
+ /**
+ * Convert parameters specific to the test request
+ * to the common trait Parameters.
+ * @param testParams compile request parameters
+ * @return general task parameters containing testing info
+ */
def fromTestParams(testParams: TestParams): Parameters = {
TParams(testParams)
}