在SBT中,compile
任务完成项目代码的编译,test:compile
编译项目的测试。我想要一个compile
任务同时执行这两项任务。我想覆盖默认的compile
任务,并且不想要一个具有新名称的任务(因为想要强制所有测试的编译成功,每次代码更改为项目的主要代码)。我正在使用Build.scala(而不是build.sbt)并尝试了this中所述的方法来回答。我的试用版粘贴在下方并且无效,因为compile
任务的返回类型为TaskKey[Analysis]
。我应该怎么改变这个?
val compileInTest = TaskKey[Analysis]("compile the tests")
compileInTest := {
(compile in Compile in <module-name>).value
(compile in Test in <module-name>).value
}
lazy val projectA = Project(
"a",
file("a"),
settings = hwsettings ++ Seq(
compile := compileInTest
))
答案 0 :(得分:3)
您可以在.sbtrc
文件中定义别名:
alias compile=test:compile
将执行这两项任务。