【发布时间】:2015-06-13 16:09:01
【问题描述】:
我正在使用 Java 7(尽管使用 1.6 进行编译)来编译类和 javadocs。我已经消除了所有出现的 javadoc 警告,但是如果有任何 javadoc 警告,我们的想法是让构建失败。
使用 Java 8,这是默认行为。但是,当涉及到警告时,它也更加严格(如果方法没有列出所有@params 或@returns,我们不想要警告)。另外,我认为公司不会很快升级到 8,所以这是一个有争议的问题。
我希望有一些简单的标志可以设置为在出现警告时让 gradle 失败(只有 failonError)。我在想的是抓取 javadoc 进程的控制台输出。如果该输出包含警告,那么我知道有警告,并且构建应该失败。
这是我的 build.gradle 中的 javadoc 块:
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
}
那么,如果没有更简单的方法来做到这一点,我该如何检查 javadoc 的控制台输出来抓取它?
【问题讨论】:
-
可能问题是你正在配置
gendocs任务,而使用java插件时默认生成它们的任务被命名为javadoc? -
没有什么不同。我决定只实现 checkstyle。
-
随时为这个discuss.gradle.org/t/javadoc-fail-on-warning/18141提供真正的解决方案@