Java 将stderr重定向到stdout时,gradle的输出被篡改。詹金斯·格拉德尔
当gradle的所有输出重定向为Java 将stderr重定向到stdout时,gradle的输出被篡改。詹金斯·格拉德尔,java,jenkins,gradle,output,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:compi
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:somewarningtext而不是:application:compileJava,并导致生成日志以奇怪的方式显示:
在这种情况下,我是否有一些变通办法?我希望生成日志可读。一种解决方法可能是为compile类型的所有任务添加自己的换行符:
allprojects{
tasks.withType(JavaCompile){
doFirst{println "\n"}
}
}
一种解决方法可能是为compile类型的所有任务添加自己的换行符:
allprojects{
tasks.withType(JavaCompile){
doFirst{println "\n"}
}
}