将stderr重定向到stdout时,gradle的输出乱码。 Jenkins gradle插件受到影响

时间:2013-12-13 11:13:02

标签: java jenkins gradle output

当gradle的所有输出重定向时,如

gradle clean build > buildlog 2>&1

java编译器警告输出如

...
:build
:application:compileJava/var/lib/jenkins/jobs/some/path/somefile.java:87: warning: somewarningtext
1 warning

:application:processResources

请注意application:compileJava与警告文字之间没有空格或换行符。没关系,但我们使用Jenkins gradle插件,它会在一个狭窄的框中输出执行的gradle任务名称。

但它包含:application:compileJava / var / lib / jenkins / jobs / some / path / somefile.java:87:warning:tomewarningtext而不仅仅是:application:compileJava并导致构建日志以奇怪的方式显示:

weird jenkins build log display

在这种情况下,我是否有适用的解决方法?我希望构建日志可读。

1 个答案:

答案 0 :(得分:4)

一种解决方法可能是为所有类型为compile的任务添加自己的换行符:

allprojects{
    tasks.withType(JavaCompile){
        doFirst{println "\n"}
    }
}