8

私はscalaコンパイラプロジェクトを持っています。一部のテストケースは、生成されたjarファイルに依存します。したがって、「テスト」タスクを実行する前に、常に「パッケージ」タスクを手動で実行します。

「テスト」の仕事をするが「パッケージ」に依存するSBTタスクを追加するにはどうすればよいですか?

4

1 に答える 1

8

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
}
于 2012-05-02T15:13:54.360 に答える