J'ai le plugin suivante pour exécuter un script .sh
:plug-in exec Maven: code de sortie
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<executions>
<execution>
<id>deploy-bundles</id>
<phase>install</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${basedir}/deploy.sh</executable>
<successCodes>
<successCode>0</successCode> <-- Not working
</successCodes>
</configuration>
</execution>
</executions>
</plugin>
qui copie des dossiers et fichiers à certains endroits. Ça marche. Cependant, juste au cas où, je veux avoir un mécanisme d'échec sur erreur. J'ai déjà la commande set -e
dans mon script .sh
, mais je veux aussi une solution maven. J'ai entendu qu'il y a un tag appelé successCodes
, j'essaie de l'incorporer. Mais pas de chance jusqu'à présent. Quelqu'un pourrait-il indiquer la bonne façon de le faire?
Edit: Mon script .sh
ressemble à ceci:
cp ../template/config.properties $component/conf
cp ../../runtime/group1/group1.mw/conf/log4j.xml $component/conf
# if the component is planning, create an additional folder called plans
if [[ $component == *".planning"* ]]
then
mkdir -p $component/plans
# copy all the plans here
cp ../../mission.planning/plans/* $component/plans
fi
où il est prévu à l'échec dans le cas où ces dossiers/fichiers ne sont pas là. Donc, en tant que test, je modifie manuellement les chemins ci-dessus et j'attends qu'il échoue. Il échoue le processus d'exécution et me dit l'erreur (puisque j'ai la commande set -e
dans le script .sh
), cependant les rapports de maven sont comme "succès".
Une réponse parfaite, merci. –