2011-11-14 10 views
8

Mi piacerebbe utilizzare AnsiColorLogger per ottenere l'uscita colore da Ant. Sto usando Git Bash su Windows.Come vedere l'output di colore Ant in MSYS/Git Bash?

ho provato:

$ ant -logger org.apache.tools.ant.listener.AnsiColorLogger 

ma la mia uscita si presenta come:

Buildfile: c:\foo\build.xml 
←[2;36m [junit] Testsuite: org.foo.BarTest←[m 
←[2;36m [junit] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 0.188 sec←[m 
←[2;36m [junit] ←[m 
←[2;36m [junit] Testcase: testInherits took 0.175 sec←[m 
←[2;36m [junit]  FAILED←[m 
←[2;36m [junit] subdir not child←[m 
←[2;36m [junit] junit.framework.AssertionFailedError: subdir not child←[m 
←[2;36m [junit]  at org.foo.BarTest.testInherits(BarTest.java:61)←[m 
←[2;36m [junit] ←[m 
←[2;31m [junit] Test org.foo.BarTest FAILED←[m 

So colori ANSI funzionano, almeno in parte, in Git Bash perché comandi come ls -ACF --color=auto producono ben colorata uscita.

Qual è il trucco per Ant?

risposta

8

Dopo molte ricerche su Google e la sperimentazione, ho combinato diverse varianti in una soluzione che funziona bene per la particolare combinazione di Git Bash, Ant e Windows.

rilancio Git Bash dopo aver aggiunto le seguenti righe al file .bashrc:

alias ant='cant' 
function cant { 
    "ant" -logger org.apache.tools.ant.listener.AnsiColorLogger "[email protected]" \ 
     2>&1 | perl -pe 's/(?<=\e\[)2;//g' 
} 

Git Bash Noob Suggerimento:.bashrc file, se esiste, vive nella vostra home directory. Ecco come creare/modificare esso:

$ cd 
$ notepad .bashrc & 
+0

Per una soluzione generale Prova a creare un nuovo file di cant.bat accanto al tuo ant.bat all'interno della cartella bin formiche con i seguenti contenuti: @echo off chiamata -logger formica org.apache.tools.ant.listener.AnsiColorLogger% * 2> & 1 | perl -pe "s/(? <= \ e \ [) 2; // g" – jek

+0

Non c'è bisogno di riavviare bash, dopo aver modificato '.bashrc'; appena sorgente, nella shell corrente, in questo modo: '. ~/.bashrc', (o 'source ~/.bashrc'). Il blocco note –

+0

è davvero una scelta abissale di editor per la creazione o la modifica di '.bashrc', (o addirittura * qualsiasi * script di shell destinato al consumo da' bash.exe' o 'sh.exe'), perché non comprende lo stile di fine linea LF, che è la norma per tali script. –

6

è probabilmente ancora più facile da impostare solo i ANT_ARGS variabile di ambiente. ad es. basta mettere questo nel vostro .bashrc:

export ANT_ARGS='-logger org.apache.tools.ant.listener.AnsiColorLogger'