I\'m running compile test:compile it:compile
quite often and...would like to cut the number of keystrokes to something like *:compile
. It doesn\'t
test:compile
implies a compile
so compile
doesn't need to be explicitly run before test:compile
. If your IntegrationTest
configuration extend
s Test
, it:compile
implies test:compile
.
One option is to define an alias that executes multiple commands:
sbt> alias compileAll = ; test:compile ; it:compile
See help alias
and help ;
for details. You can make this a part of your build with:
addCommandAlias("compileAll", "; test:compile ; it:compile")
The other option is to define a custom task that depends on the others and call that:
lazy val compileAll = taskKey[Unit]("Compiles sources in all configurations.")
compileAll := {
val a = (compile in Test).value
val b = (compile in IntegrationTest).value
()
}