Scala 覆盖sbt中的默认编译任务

Scala 覆盖sbt中的默认编译任务,scala,sbt,Scala,Sbt,在SBT中,compile任务编译项目代码,test:compile编译项目测试。我想要一个既能编译又能编译的任务。我希望覆盖默认的compile任务,并且不希望任务具有新名称(因为我希望通过对项目主代码的每次代码更改强制所有测试的编译成功)。我使用Build.scala(不是Build.sbt)并尝试了答案中描述的方法。我的试用版粘贴在下面,不起作用,因为compile任务的返回类型是TaskKey[Analysis]。我应该如何改变这个 val compileInTest = TaskKey

在SBT中,
compile
任务编译项目代码,
test:compile
编译项目测试。我想要一个既能编译又能编译的任务。我希望覆盖默认的
compile
任务,并且不希望任务具有新名称(因为我希望通过对项目主代码的每次代码更改强制所有测试的编译成功)。我使用Build.scala(不是Build.sbt)并尝试了答案中描述的方法。我的试用版粘贴在下面,不起作用,因为
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
))
val compileInTest=TaskKey[Analysis](“编译测试”)
编译集成测试:={
(在编译中编译)。值
(在测试中编译).value
}
惰性val projectA=Project(
“a”,
文件(“a”),
设置=hw设置++顺序(
compile:=compileInTest
))

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

alias compile=test:compile

这两项任务都可以完成