简体   繁体   English

Dokka-跳过为默认android包生成javadoc

[英]Dokka - skip generating javadoc for default android packages

I am trying to use Dokka plugin to generate Javadoc for android Kotlin application. 我正在尝试使用Dokka插件为Android Kotlin应用程序生成Javadoc。 I added the plugin to my gradle: 我将插件添加到了gradle中:

classpath "org.jetbrains.dokka:dokka-gradle-plugin:0.9.15"

Then I made a basic configuration following project instructions: 然后,按照项目说明进行了基本配置:

dokka {
    outputFormat = 'javadoc'
    outputDirectory = "$rootDir/docs"
    skipEmptyPackages = true
    noStdlibLink = true
}

I generate documentation using basic gradle command: 我使用基本的gradle命令生成文档:

[user@linux AppDir]$ bash gradlew dokka

Output is fine, but it includes multiple directories from android or plugins I have added to my project, for example: 输出很好,但是它包含来自Android或我添加到项目中的插件的多个目录,例如:

android.R
android.support
com.google
com.crashlytics
.
.
.
etc.

How do I skip these packages? 如何跳过这些软件包? Is there any way to generate dock only for my /app/scr/java folder, and files I created? 有什么方法只能为我的/ app / scr / java文件夹和我创建的文件生成扩展坞吗? Any help is appreciated. 任何帮助表示赞赏。

Dokka version 0.9.16 will include a bugfix to remove generated files from documentation . Dokka 0.9.16版将包含一个错误修正,用于从文档中删除生成的文件

In version 0.9.15, the following commit seemed to address that " Suppress output of android.R and other generated stuff in dokka-android ", but apparently after creating the suppresedFiles map with the needed information, it was not really used to filter sourceSets . 在0.9.15版中,以下提交似乎解决了“ 抑制android.R和dokka-android中其他生成的东西的输出 ”的问题,但是显然在创建带有所需信息的suppresedFiles映射之后,它并没有真正用于过滤sourceSets


UPDATE : Dokka 0.9.16 has been released with the fix, among other improvements. 更新Dokka 0.9.16已随修复程序一起发布,并进行了其他改进。

#224 Filtered out Android generated classes from docs #224从文档中过滤掉Android生成的类

Here is a working example with Dokka 0.9.16 : 这是Dokka 0.9.16的工作示例:

task dokka(overwrite: true, type: org.jetbrains.dokka.gradle.DokkaAndroidTask) {
    outputFormat = 'javadoc'
    outputDirectory = "$buildDir/docs"

    // Do not create index pages for empty packages
    skipEmptyPackages = true

    //Do not output deprecated members. Applies globally, can be overridden by packageOptions
    skipDeprecated = false

    //No default documentation link to kotlin-stdlib
    noStdlibLink = false
}

If you use Android then the type is important: org.jetbrains.dokka.gradle.DokkaAndroidTask 如果使用Android,则类型很重要: org.jetbrains.dokka.gradle.DokkaAndroidTask

Not DokkaTask but DokkaAndroidTask . 不是DokkaTask而是DokkaAndroidTask

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM