1
SBTでは、compile
タスクはプロジェクトコードのコンパイルを行い、test:compile
はプロジェクトのテストのコンパイルを行います。両方を行う単一のcompile
タスクが必要です。私はデフォルトのcompile
タスクをオーバーライドしたいと思うし、新しい名前のタスクを望んでいない(プロジェクトのメインコードへのすべてのコード変更ですべてのテストのコンパイルの成功を強制したいので)。私はBuild.scala(build.sbtではなく)を使用していて、thisで説明されている方法で試してみました。 compile
タスクの戻り値の型がTaskKey[Analysis]
であるため、私の試用版は下に貼り付けられ、機能しません。これをどのように変更する必要がありますか?SBTでデフォルトのコンパイルタスクをオーバーライド
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
))
とてもシンプルで、魅力的です!あなたより – Bharadwaj