微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android Gradle JavaDoc Task failOnError 和 memberLevel 被忽略了?

如何解决Android Gradle JavaDoc Task failOnError 和 memberLevel 被忽略了?

一旦我构建了一个发布版本,我就有一个 gradle 任务来构建我的 javadoc。

在我的任务中,我设置了 failOnError = false,但无论我做什么,任务总是会产生错误。构建仍在继续,但因此被标记为失败。

奇怪的是,它由于私有字段成员中引用的类而失败(我不知道它为什么要检查它)。即使我设置了 options.memberLevel = JavadocmemberLevel.PROTECTED ...

来自 Gradle 的任务:

        failOnError = false

        options.addStringOption('Xmaxwarns','1')
        options.addStringOption('Xmaxerrs','9999')
        options.addStringOption('Xdoclint:-missing')
        options.addStringOption('Xdoclint:none','-quiet')
        options.addStringOption('encoding','UTF-8')
        options.addStringOption('charSet','UTF-8')

        options.windowTitle = "API Documentation (${project.android.defaultConfig.versionName})"
        options.memberLevel = JavadocmemberLevel.PROTECTED
        options.links "http://developer.android.com/reference"
        options.linksOffline "https://developer.android.com/reference","${android.sdkDirectory}/docs/reference"
        options.linkSource = false
        options.author = false
        options.quiet()
        
        source = android.sourceSets.main.java.srcDirs

        classpath += project.files(android.getbootclasspath().join(File.pathSeparator))

        exclude "**/R"
        exclude "**/R.**"
        exclude "**/R\$**"
        exclude "**/BuildConfig*"
        exclude "android**"
        exclude "androidx**"
        exclude "ClassB"

        destinationDir = file("build/outputs/aar/java-doc/")

为了论证,假设我有两个类,ClassA 和 ClassB。 ClassB 具有包级范围。

A 类:

public final class ClassA extends FrameLayout {
   private ClassB aField;
}

B 类:

class ClassB {
   ...
}

当我运行 javaDoc 任务时,我会得到:

ClassA:错误:找不到符号 private ClassB aField;

如果 javaDoc 忽略我的 options.memberLevel = JavadocmemberLevel.PROTECTED 选项,我如何至少让它关闭并停止将我的构建标记为失败?!

还检查了 javadoc.options 文件,它看起来是正确的,所有选项都在那里。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。