Ich verwende Java 7 (obwohl mit 1.6 kompilierend), um Klassen zu kompilieren, und die Javadocs. Ich habe alle Javadoc-Warnungen eliminiert, aber die Idee ist, dass der Build fehlschlägt, wenn Javadoc-Warnungen angezeigt werden.Wie man Mega-Build auf Javadoc-Warnungen ausfällt
Mit Java 8 ist dies das Standardverhalten. ABER, es ist auch viel strenger wenn es um Warnungen geht (wir wollen keine Warnungen, wenn eine Methode nicht alle @params oder @returns auflistet). Außerdem sehe ich nicht, dass das Unternehmen in absehbarer Zeit auf 8 wechselt, also ist das ein strittiger Punkt.
Ich hatte gehofft, dass es einige einfache Flags gibt, die gesetzt werden müssen, damit Graple fehlschlägt, wenn es Warnungen gibt (es gibt nur failonError). Was ich dachte, war, die Konsolenausgabe des Javadoc-Prozesses abzuschaben. Wenn diese Ausgabe WARNUNGEN enthält, weiß ich, dass Warnungen vorhanden sind und der Build fehlschlagen sollte.
Hier ist mein javadoc Block in meinem build.gradle:
task gendocs(type: Javadoc) {
options.stylesheetFile = new File("./assets/doc_style.css")
options.windowTitle = "OurTitle"
options.memberLevel = JavadocMemberLevel.PROTECTED
options.author = true
options.linksOffline('http://d.android.com/reference', System.getenv("ANDROID_HOME") + '/docs/reference')
String v = "${SEMVER}"
version = v.replace("_", '.')
destinationDir = new File("${BUNDLE_FOLDER}/docs/api")
source = sourceSets.main.allJava
classpath += configurations.compile
}
Also, wenn es nicht einen einfacheren Weg, dies zu tun, wie kann ich überprüfen, die Konsolenausgabe von javadoc es zu kratzen?
Vielleicht ist das Problem, dass Sie 'gendocs' Aufgabe konfigurieren, während die Aufgabe, die sie standardmäßig generiert, wenn' java' Plugin verwenden heißt 'javadoc'? – madhead
Hat keinen Unterschied gemacht. Ich habe mich entschieden, nur Checkstyle zu implementieren. –
Fühlen Sie sich frei, eine echte Lösung für diese https://discuss.gradle.org/t/javadoc-fail-on-warning/18141 – tir38