J'ai une construction multi-module et j'aimerais exécuter des tests pour différents sous-projets indépendamment.
Y at-il un moyen de faire cela en SSB, par exemple. si ma construction multi-projets comporte des projets core
et commons
, j'aimerais exécuter uniquement test
dans le projet commons
.
Exécutez sbt commons/test
. Voir l'explication détaillée dans Scopes .
Vous pouvez également utiliser la combinaison de deux commandes de sbt - modifier le projet actuel à l'aide de project
et exécuter test
par la suite.
sbt "project commons" test
Vous pouvez aussi utiliser
sbt "; project commons; test"
Si vous exécutez sbt
en mode interactif:
> project commons
> test
Vous pouvez revenir à core
avec:
> project core
Peu importe, je suis tombé sur ceci: Comment exécuter un paquet pour un seul sous-module uniquement sur Jenkins?
sbt "project core" test
, ce qui revient à quelque chose comme ceci:
# run sbt test only for the submodules having added,modified on deleted files
while read -r proj ; do sbt "project $proj" test ; \
done < <(git status --porcelain | cut -c 3- | cut -d/ -f1