我想使用AnsiColorLogger从Ant获取颜色输出.我在Windows上使用Git Bash.
我试过了:
$ ant -logger org.apache.tools.ant.listener.AnsiColorLogger
Run Code Online (Sandbox Code Playgroud)
但我的输出看起来像:
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
Run Code Online (Sandbox Code Playgroud)
我知道ANSI颜色至少部分地在Git Bash中起作用,因为命令会ls -ACF --color=auto
产生很好的彩色输出.
Ant的诀窍是什么?
经过大量的Google搜索和实验,我将几种变体组合成一个适用于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'
}
Run Code Online (Sandbox Code Playgroud)
Git Bash Noob提示: .bashrc
文件(如果存在)存在于您的主目录中.以下是创建/编辑它的方法:
$ cd
$ notepad .bashrc &
Run Code Online (Sandbox Code Playgroud)
小智 7
设置环境变量ANT_ARGS可能更容易.例如,将它放在你的.bashrc中:
export ANT_ARGS='-logger org.apache.tools.ant.listener.AnsiColorLogger'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2232 次 |
最近记录: |