Ответ 1
test:compile
подразумевает compile
, поэтому compile
не нужно явно запускать до test:compile
. Если ваша конфигурация IntegrationTest
extend
Test
, it:compile
подразумевает test:compile
.
Один из вариантов - определить псевдоним, который выполняет несколько команд:
sbt> alias compileAll = ; test:compile ; it:compile
Подробнее см. help alias
и help ;
. Вы можете сделать это частью своей сборки с помощью:
addCommandAlias("compileAll", "; test:compile ; it:compile")
Другим вариантом является определение настраиваемой задачи, которая зависит от других, и вызывает это:
lazy val compileAll = taskKey[Unit]("Compiles sources in all configurations.")
compileAll := {
val a = (compile in Test).value
val b = (compile in IntegrationTest).value
()
}