8
votes

Maven: déclencher la commande personnalisée lorsque la construction est terminée, en fonction du résultat (réussie / échec)

J'utilise Maven sur la ligne de commande, et ma construction prend un certain temps à compléter (1-2min). Je cherche une possibilité de vous connecter à la fin de la construction et de déclencher une commande spécifique (lancez un programme par fourmi, etc.) lorsque la construction est terminée - dépend du résultat de ma construction (réussie / échec). < / p>

Mon objectif est que mon ordinateur joue simplement un son (un pour la construction réussie, une autre pour une construction échouée), donc je remarquerai que ma construction est terminée.

Puis-je me rendre compte que et comment? Je suppose que la fourmi serait une possibilité, mais j'espère que je peux aussi le faire sans fourmi.


0 commentaires

4 Réponses :


0
votes

J'imagine que, comme la plupart des bons outils de ligne de commande, Le Code de sortie renvoyé de MVN lorsqu'il se termine les réflexions si la construction a été réussie ou non. En d'autres termes, MVN renvoie un 1 lorsque la construction est réussie et un 0 quand il échoue (vous devez rechercher les détails pour être sûr).

Si tel est le cas, vous pouvez écrire un script de lot / shell personnalisé qui claimait simplement la commande mvn , qui transmet des arguments reçus à la commande mvn (afin que vous puissiez Exécuter MyMVN Compile et MyMVN Clean Deploy Site Tout aussi facilement).

Votre script wrapper personnalisé peut ensuite appeler quelle que soit la commande nécessaire pour lire un son basé sur le code de retour de mvn .


2 commentaires

Le code de sortie est une bonne idée, et selon le Maven Invoker Docs ( Maven.apache.org/shared/maven-invoker/USAGE.html ), Maven est vraiment bien comporté de cette façon.


Une bonne approche, mais notez qu'un 0 est en réalité le code de retour pour une terminaison correcte, tout autre zéro désigne une erreur en.wikipedia.org/wiki/exit_status Veuillez mettre à jour votre réponse en conséquence.



1
votes

Merci pour les impulsions de réflexion! Comme je suis sur Windows, je l'ai réalisé avec un script de lot, qui appelle un petit programme Java. Ce programme déclenche une action (montrant un grand jPanel vert / rouge, jouant un son) selon le niveau d'erreur donné.

au lieu d'appeler mvn compile , etc., j'appelle maintenant m compile

m.bat: xxx

fonctionne parfaitement. Maintenant, je n'ai pas à regarder la console plus pour voir si ma construction est faite!


0 commentaires

5
votes

Voici un petit script (pour Windows), une partie de notre devise de développement qui modifie simplement la couleur BG de l'invite CMD, en utilisant à nouveau le code de sortie.

@echo off

color 07

call mvn %*

IF ERRORLEVEL 1 goto RedBuild
IF ERRORLEVEL 0 goto GreenBuild

:RedBuild
color 4F
goto TheEnd

:GreenBuild
color 2F

:TheEnd


0 commentaires

11
votes

Cela devrait vous aider à démarrer. xxx

vous voulez ce référentiel maven. xxx


1 commentaires

Comment obtenir si la construction réussit ou un échec?