Motivação: builds e compilações gigantes às vezes são inevitáveis (especialmente, mas não somente, com o Maven!). E nessa situação, nem sempre é possível trabalhar em outra coisa, então a gente acaba matando o tempo do jeito que dá... olhando Facebook, ou...
Titinha clássica do XKCD (http://www.xkcd.com/303/)
Muitas vezes acontece que quando a épica luta de espadas termina, o build já terminou há bastante tempo.
Problema: como voltar ao trabalho assim que a compilação terminar?
Bom, eis aqui minha solução:
crie o arquivo /usr/local/bin/alarm com o seguinte conteúdo:
exit_status=$?
if [ $exit_status -eq 0 ] ; then
cvlc /path/to/success_music.mp3
else
cvlc path/to/fail_music.mp3
fi
Não se esqueça de dar permissão de execução arquivo (sudo chmod +x alarm) e substituir os paths por músicas existentes em sua máquina! : )
Esse script toca uma música dependeno do "exit status" do comando anterior. O exist status é um código retornado por todo programa que indica se ele terminou em sucesso ou não. Quando ele retorna zero, quer dizer que tá tudo certo (é o famoso "return 0" dos programa em C!). Quando é diferente de zero, deu algo errado. cvlc é o programa utilizado pra tocar a música: é o VLC sem interface gráfica.
Aí pra compilar seu projeto vc faz assim:
$ comando_de_build; source alarm
Note que esse "source" é importante! Não sei explicar muito bem, hehe, mas sem ele o script abre uma nova instância do bash que desconhece o último exit status de seu pai.
Agora que você já fez sua pausa lendo meu post, pode voltar ao trabalho! ( :
Leonardo Leite
PS: minha música de successo é "Iron\ Maiden\ -\ Flight\ of\ Icarus.mp3" e a de falha é "Metallica\ -\ So\ What.mp3" : )
PS2: tks ao Nelson (CCSL) pela ajuda!
PS3: comecei a escrever o post enquanto rodava o Maven : )
Não há comentários.
Comentar