我正在使用 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 的控制台输出来抓取它?
有一个非标准的隐藏 javadoc 选项-Xwerror
适用于所有受支持的 Java 版本。因此你可以简单地做这样的事情:
if (JavaVersion.current().isJava8Compatible()) {
tasks.withType(Javadoc) {
// The '-quiet' as second argument is actually a hack,
// since the one paramater addStringOption doesn't seem to
// work, we extra add '-quiet', which is added anyway by
// gradle. See https://github.com/gradle/gradle/issues/2354
// See JDK-8200363 (https://bugs.openjdk.java.net/browse/JDK-8200363)
// for information about the -Xwerror option.
options.addStringOption('Xwerror', '-quiet')
}
}
对 javadoc 的官方“-Werror”的功能请求被跟踪为JDK-8200363。此功能现已在 JDK 15+ 中提供,如下所示-Werror
, -Xwerror
也可用作别名。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)