Estoy usando SBT con Play Framework.¿Cómo adjuntar una tarea personalizada para ejecutar antes de la tarea de prueba en sbt?
creé una costumbre TaskKey
para ejecutar JavaScript pruebas en mi proyecto:
import sbt._
import sbt.Process._
import PlayProject._
object ApplicationBuild extends Build {
val testJsTask = TaskKey[Unit]("testJs", "Run javascript tests.") := {}
val main = PlayProject("xxx", 1.0, Seq())
.settings(defaultScalaSettings: _*)
.settings(testJsTask)
}
Hasta aquí todo bien.
Quiero ejecutar este testJsTask
siempre cuando alguien ejecuta la tarea test
.
supongo que debe ser algo de la siguiente manera:
test in Test <<= (test in Test).dependsOn(testJsTask)
no tengo idea de cómo debe definirse con exactitud. ¿Cómo agregar una dependencia a una tarea existente como 'prueba' o 'compilación'?
ACTUALIZACIÓN
Después de los cambios propuestos por @Christian la definición de construcción se ve de la siguiente manera:
object ApplicationBuild extends Build {
val testJsTask = TaskKey[Unit]("testJs", "Run tests for javascript client.")
def testJs = {}
val main = PlayProject("xxx", 1.0, Seq())
.settings(defaultScalaSettings: _*)
.settings(testJsTask := testJs)
(test in Test) <<= (test in Test) dependsOn (testJs)
}
Desafortunadamente, la solución no funciona bien:
[error] /xxx/project/Build.scala:21: not found: value test
[error] (test in Test) <<= (test in Test) dependsOn (testJs)
[error] ^
[error] one error found
[error] {file:/xxx/project/}default-f468ae/compile:compile: Compilation failed
¿Has sido exitoso? ¿Te ayudó mi última edición? – Christian
Mala suerte No veo la manera de hacer lo mismo con la versión Play:/Intentaré hacer algunas pruebas más e informaré aquí si hay algún éxito. –
Me interesa ver si encontraste una resolución. – 2rs2ts