在bash控制台中使ant输出显示来自子任务输出的颜色

时间:2014-02-13 12:17:19

标签: bash ant

我有一个运行gcc的ant构建。当隔离运行时,gcc输出bash颜色代码以增强输出,使其比单色文本更具可读性。

当输出通过蚂蚁时,这些颜色代码会丢失;我尝试使用-logger org.apache.tools.ant.listener.AnsiColorLogger运行ant,但只是控制颜色,它不会传递任务中的代码。

是否有其他记录器或选项可以启用此功能?如果没有,我可以创建一个自定义记录器,但我不明白为什么颜色代码字节序列在通过ant时不起作用;自定义记录器必须做些什么才能让它们工作?

1 个答案:

答案 0 :(得分:1)

我已经确认色彩丢失是由gcc引起的,因为它只会在stderr是终端时输出颜色。由于ant通过管道读取gcc输出,因此着色被抑制。

修复是将-fdiagnostics-color=always传递给gcc