article info
Published
August 7, 2011
Category
home > productivity > Jouer un son à la fin d'un build Maven

Jouer un son à la fin d'un build Maven

Quand on se retrouve avec des temps d'exécution de build Maven qui dépassent les 10 minutes, on oublie rapidement de regarder l'output de la console, pour se consacrer à la place à une quelconque tâche de procrastination. Pour éviter ce problème, pourquoi ne pas jouer un son lorsque le build est terminé ?

Il s'avère que la tâche est très simple sous Mac OS X. Nous avons besoin tout d'abord d'un utilitaire en ligne de commande pour jouer un son: afplay se chargera très bien du travail. Il est installé par défaut, et son usage est simplissime: afplay [path_file_to_play].

Il faut ensuite savoir si l'exécution de la commande Maven est fini, ou encore mieux récupérer le code de retour unix qui nous indique si la commande a échoué(!=0) ou réussie(0). Nous pouvons donc écrire notre script bash comme ceci:

#!/bin/bash
/usr/bin/mvn $*
OUT=$?
if [ $OUT -eq 0 ];then
  afplay ff_win_short.wav
else
  afplay fail_motus.wav
fi

Explication:

/usr/bin/mvn $*

On appelle l'exécutable Maven en lui passant comme argument ceux passés aux scripts.

OUT=$?

On récupère le code de retour de l'exécution.

if [ $OUT -eq 0 ];then
  afplay ff_win_short.wav

Si il n'y a pas eu d'erreurs on joue le son choisit pour ce cas.

else
  afplay fail_motus.wav
fi

Sinon on joue le son d'échec.

Sauvegarder ce script au format .sh. Trouver également deux fichiers sons de votre choix, ou utiliser comme moi le son de victoire de final fantasy, et le son de la boule noir de MO-MO-MOTUS.

Après avoir placé ce script dans votre PATH, vous pouvez l'utiliser de n'importe où:

mvnS.sh clean install

Et voilà, nous avons un script fonctionnel. Amusez vous bien!