8 votes

Comment exécuter "package" avant "test" ?

J'ai un projet de compilateur Scala. Certains des cas de test dépendent du fichier jar généré. Par conséquent, je lance toujours manuellement la tâche "package" avant de lancer la tâche "test".

Comment puis-je ajouter une tâche SBT qui fera le travail de "test" mais dépendra de "package" ?

8voto

Christian Points 2545

sbt 0.12 :

Ajoutez les éléments suivants aux paramètres de votre projet :

(test in Test) <<= (test in Test) dependsOn (Keys.`package` in Compile)

Cela modifie la tâche de test pour votre projet. Mais vous pouvez également définir votre propre tâche :

val myTestTask = TaskKey[Unit]("my-test-task", "runs package and then test")

Et puis ajoutez ceci aux paramètres de votre projet :

myTestTask <<= (test in Test) dependsOn (Keys.`package` in Compile)

sbt 0.13 :

Ajoutez les éléments suivants aux paramètres de votre projet :

(test in Test) := {
  (Keys.`package` in Compile).value
  (test in Test).value
}

Cela modifie la tâche de test pour votre projet. Mais vous pouvez également définir votre propre tâche :

val myTestTask = taskKey[Unit]("runs package and then test")

Et puis ajoutez ceci aux paramètres de votre projet :

myTestTask := {
  (Keys.`package` in Compile).value
  (test in Test).value
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X