Я использую SBT с Play Framework.Как подключить пользовательскую задачу для выполнения перед тестовой задачей в sbt?
Я создал пользовательский TaskKey
для запуска JavaScript тестов в моем проекте:
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)
}
До сих пор так хорошо.
Я хочу запустить этот testJsTask
всегда, когда кто-то выполняет задачу test
.
Я предполагаю, что это должно быть что-то выглядит следующим образом:
test in Test <<= (test in Test).dependsOn(testJsTask)
Я понятия не имею, как это должно быть определено точно. Как добавить зависимость от существующей задачи, например, «test» или «build»?
UPDATE
После изменений, предложенных @Christian определение сборки выглядит следующим образом:
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)
}
К сожалению, решение не работает либо:
[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
Вы успешно? Помогло ли вам мое последнее редактирование? – Christian
Unlucky Я не вижу способа сделать то же самое с Play-версией:/Я попробую сделать еще несколько тестов, и я сообщу здесь, если будут какие-то успехи. –
Мне интересно узнать, нашли ли вы разрешение. – 2rs2ts