How to make the doxygen plugin fail on undocumented things?

Hi there…

I use the doxygen plugin.
Everything is fine so far, but it does not fail if something is undocumented.

If it was a simple Exec task, it would be easy to capture the output and check it.
The plugin extends from SourceTask, however.

What did I miss?

Well, again I found a possible solution…

This one is written for a task class that simply prints a message.
It’s just a bit of hacking on Sunday evening…

ext.stdOutListener = new TaskStdOutCollector()

class TaskStdOutCollector implements StandardOutputListener {

    String collected = ''

    void onOutput(CharSequence charSequence) {
        collected += charSequence.toString()

task stdOutAsError(type: MessagePrinter) {
    message = "This should not happen..."

gradle.addListener(new TaskExecutionListener() {
    void beforeExecute(Task task) {
        if ( =~ /stdOutAsError/) {

    void afterExecute(Task task, TaskState state) {
        println "afterExecute of $task"
        switch ( {
        case 'stdOutAsError':
            if (project.stdOutListener.collected) {
                throw new GradleException("Did not expect any output from '${}'")

Which nicely prints on cmd line

    -------------------------------- stdOutAsError ---------------------------------
    This should not happen...
    afterExecute of task ':stdOutAsError'

    FAILURE: Build failed with an exception.

    * Where:
    Build file '...\build.gradle' line: 69

    * What went wrong:
    Did not expect any output from 'stdOutAsError'