A little background, the Jenkins Gradle plugin identifies each task being run, it then bolds it and keeps track it in a “Executed Gradle Tasks” section. It does this in hudson.plugins.gradle.GradleTaskNote by doing some matching on the output, specifically wit this match:
MarkupText.SubText t = text.findToken(Pattern .compile("^:([^:]\S*)(\s*)(\S*)"));
I’m seeing a problem with the javadoc task, where any issues crop up on the same line as the :javadoc line. For example, here is some Gradle output:
:template-client:processResources UP-TO-DATE :template-client:classes :template-client:jar UP-TO-DATE :template-client:javadoc/mnt/builds/slave/workspace/OSS-gradle-template-release/template-client/src/main/java/com/netflix/template/common/Conversation.java:20: warning - @return tag has no arguments. /mnt/builds/slave/workspace/OSS-gradle-template-release/template-client/src/main/java/com/netflix/template/common/Sentence.java:32: warning - @return tag has no arguments. 2 warnings :template-client:javadocJar :template-client:sourcesJar UP-TO-DATE :template-client:signArchives :template-client:uploadMavenCentral
Those combine to give me an ugly Jenkins UI (and that’s saying a lot, since the Jenkins UI is already bad). I’m not sure where the problem lays, but I think Gradle should be in-charge of the task name line, either printing UP-TO-DATE or not. Maybe the javadoc task is specifically bad in printing while Gradle determines if the task is up-to-date or not. If someone can point me in the direction of where this logic is, I can look further.