私はscalaコンパイラプロジェクトを持っています。一部のテストケースは、生成されたjarファイルに依存します。したがって、「テスト」タスクを実行する前に、常に「パッケージ」タスクを手動で実行します。
「テスト」の仕事をするが「パッケージ」に依存するSBTタスクを追加するにはどうすればよいですか?
sbt 0.12:
プロジェクト設定に以下を追加します。
(test in Test) <<= (test in Test) dependsOn (Keys.`package` in Compile)
これにより、プロジェクトのテストタスクが変更されます。ただし、独自のタスクを定義することもできます。
val myTestTask = TaskKey[Unit]("my-test-task", "runs package and then test")
次に、これをプロジェクト設定に追加します。
myTestTask <<= (test in Test) dependsOn (Keys.`package` in Compile)
sbt 0.13:
プロジェクト設定に以下を追加します。
(test in Test) := {
(Keys.`package` in Compile).value
(test in Test).value
}
これにより、プロジェクトのテストタスクが変更されます。ただし、独自のタスクを定義することもできます。
val myTestTask = taskKey[Unit]("runs package and then test")
次に、これをプロジェクト設定に追加します。
myTestTask := {
(Keys.`package` in Compile).value
(test in Test).value
}