8

我想使用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会产生漂亮的彩色输出。

蚂蚁的诀窍是什么?

4

2 回答 2

8

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

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

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 &
于 2011-11-14T23:02:07.527 回答
7

只设置环境变量 ANT_ARGS 可能更容易。例如,只需将其放入您的 .bashrc 中:

export ANT_ARGS='-logger org.apache.tools.ant.listener.AnsiColorLogger'
于 2011-12-21T15:19:00.663 回答