我有一个运行gcc的ant构建。当隔离运行时,gcc输出bash颜色代码以增强输出,使其比单色文本更具可读性。
当输出通过蚂蚁时,这些颜色代码会丢失;我尝试使用-logger org.apache.tools.ant.listener.AnsiColorLogger
运行ant,但只是控制颜色,它不会传递任务中的代码。
是否有其他记录器或选项可以启用此功能?如果没有,我可以创建一个自定义记录器,但我不明白为什么颜色代码字节序列在通过ant时不起作用;自定义记录器必须做些什么才能让它们工作?
答案 0 :(得分:1)
我已经确认色彩丢失是由gcc
引起的,因为它只会在stderr
是终端时输出颜色。由于ant通过管道读取gcc输出,因此着色被抑制。
修复是将-fdiagnostics-color=always
传递给gcc
。