如何在MSYS / Git Bash中看到颜色Ant输出?

时间:2011-11-14 22:52:12

标签: ant msys git-bash

我想使用AnsiColorLoggerAnt获取颜色输出。我在Windows上使用Git Bash

我试过了:

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

但我的输出如下:

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

我知道ANSI颜色至少部分地在Git Bash中起作用,因为ls -ACF --color=auto之类的命令会产生颜色很好的输出。

Ant的诀窍是什么?

2 个答案:

答案 0 :(得分:8)

经过大量的谷歌搜索和实验,我将几种变体结合到一个适用于Git Bash,Ant和Windows的特定组合的解决方案中。

在将以下行添加到.bashrc文件后重新启动Git Bash:

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

Git Bash Noob提示: .bashrc文件(如果存在)存在于您的主目录中。以下是创建/编辑它的方法:

$ cd
$ notepad .bashrc &

答案 1 :(得分:7)

设置环境变量ANT_ARGS可能更容易。 例如把它放在你的.bashrc中:

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