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

如何使用 gradle 从 Javadoc 跳过自动生成的类

如何解决如何使用 gradle 从 Javadoc 跳过自动生成的类

一个 Android 库项目中,我使用 Gradle 脚本生成 Javadoc:

task androidJavadocs(type: Exec,dependsOn: buildJavadocsClasspath) {
  doFirst {

    executable = 'javadoc'

    args = [
        '-classpath',javadocsClasspath,'-sourcepath','./src/main/java','-subpackages','com.example.myproject','-d',javadocsDestinationDir,'-exclude','com.example.myproject.internal','-doctitle',project.getName() + " " + VERSION_NAME + " API",'-windowtitle',POM_NAME + " API",'-link',"http://docs.oracle.com/javase/8/docs/api/",'-Xdoclint:none','-quiet'
    ]
  }
}

问题是在为引用自动生成的类(如 BuildConfig 或 DaggerMyClientComponent)的类生成 javadoc 时,Javadoc 返回警告(Java 8)或错误(Java 11)

./src/main/java/com/example/myproject/MyClient.java:13: error: cannot find symbol
import com.example.myproject.internal.DaggerMyClientComponent;
                                              ^
  symbol:   class DaggerMyClientComponent
  location: package com.example.myproject.internal
./src/main/java/com/example/myproject/internal/storage/client/SdkVersionStorage.java:9: error: cannot find symbol
import com.example.myproject.BuildConfig;
                                     ^
  symbol:   class BuildConfig
  location: package com.example.myproject
./src/main/java/com/example/myproject/internal/utils/UserAgentHeader.java:8: error: cannot find symbol
import com.example.myproject.BuildConfig;
                                     ^
  symbol:   class BuildConfig
  location: package com.example.myproject

我不明白的一件事是两个错误来自内部类,这些内部类已经使用“exclude”参数从 javadoc 中排除。

最重要的是,我没有看到修复或抑制这些错误的选项。添加com.example.myproject.internal.DaggerMyClientComponent 这样的排除规则不起作用。

使用Android Studio生成Javadocs不是一个选项,我需要使用一个可以在CI(Bitrise)中使用的脚本。

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