我想使用anicolorlogger从Ant获取颜色输出。我在Windows上使用Git Bash。
我试着:
$ ant -logger org.apache.tools.ant.listener.AnsiColorLogger
但是我的输出看起来像:
Buildfile: c:foobuild.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
这样的命令产生漂亮的彩色输出。
蚂蚁的诀窍是什么?
经过大量的谷歌搜索和实验,我将几个变体组合成一个解决方案,该解决方案适用于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新手提示: .bashrc
文件,如果存在,在你的主目录中。下面是如何创建/编辑它:
$ cd
$ notepad .bashrc &
设置环境变量ANT_ARGS可能更简单。例如,只需将此写入。bashrc:
export ANT_ARGS='-logger org.apache.tools.ant.listener.AnsiColorLogger'