覆盖sbt中的默认编译任务

时间:2016-05-19 09:27:36

标签: scala sbt

在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
))

1 个答案:

答案 0 :(得分:3)

您可以在.sbtrc文件中定义别名:

alias compile=test:compile

将执行这两项任务。