Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Inheritance 抑制Dokka对“的投诉”;没有com.foo.Bar$toString()的文档;?_Inheritance_Documentation_Kotlin_Gradle Plugin_Kotlin Dokka - Fatal编程技术网

Inheritance 抑制Dokka对“的投诉”;没有com.foo.Bar$toString()的文档;?

Inheritance 抑制Dokka对“的投诉”;没有com.foo.Bar$toString()的文档;?,inheritance,documentation,kotlin,gradle-plugin,kotlin-dokka,Inheritance,Documentation,Kotlin,Gradle Plugin,Kotlin Dokka,我正在使用Gradle Dokka插件版本0.9.16-eap-1为一些Kotlin代码生成文档 我是一个没有坏掉的windows类型的人,因此对于插件为我没有明确记录在基类中充分记录的重写方法的类生成大量消息感到有点沮丧,例如: 对于这一类,Dokka谴责: No documentation for com.foo.Bar$read() (Bar.kt:6) No documentation for com.foo.Bar$toString() (Bar.kt:7) 这有点乏味,因为我不想用

我正在使用Gradle Dokka插件版本0.9.16-eap-1为一些Kotlin代码生成文档

我是一个没有坏掉的windows类型的人,因此对于插件为我没有明确记录在基类中充分记录的重写方法的类生成大量消息感到有点沮丧,例如:

对于这一类,Dokka谴责:

No documentation for com.foo.Bar$read() (Bar.kt:6)
No documentation for com.foo.Bar$toString() (Bar.kt:7)
这有点乏味,因为我不想用复制粘贴文档冗余地记录所有内容

查看,我看到的唯一相关配置选项是:

dokka {
    ...
    // Emit warnings about not documented members. Applies globally, also can be overridden by packageOptions
    reportNotDocumented = true 
    ...
    // Allows to customize documentation generation options on a per-package basis
    // Repeat for multiple packageOptions
    packageOptions {
        ...
        reportUndocumented = true // Emit warnings about not documented members 
        ...
    }
}
但我不想压制有关未记录内容的警告。那也同样糟糕。我所要做的就是抑制关于未记录的
覆盖
funs的警告,假设我故意不重复自己,不重复自己


有人知道是否有一个选项可以关闭警告,只用于
覆盖乐趣

针对您的特定情况使用@suppress

class MyAndroidActivity: Activity {

    /** @suppress */
    override fun onCreate(savedInstanceState: Bundle?) {
        ...
    }

}
这样,您将从文档中完全排除重写的函数

但是,如果要在文档中保留对API调用的引用,只需在元素附近添加一个空的单行docstring(它将禁用警告):


您可能需要添加以下内容:

// No default documentation link to kotlin-stdlib
  noStdlibLink = false
最终结果可能是:

dokka {
        // refer https://github.com/Kotlin/dokka#output-formats
        outputFormat = 'html'
        outputDirectory = "$buildDir/javadoc"
        // Do not create index pages for empty packages
        skipEmptyPackages = true
        // No default documentation link to kotlin-stdlib
        noStdlibLink = false
    }
由于nostliblink=false将通过提供指向kotlin stdlib的链接为继承函数生成文档。你可以参考更多

我使用了dokka版本0.9.17

输出将是:

任务:应用程序:dokka最新


嗯。显然是功能。我不明白你的评论。。。你说的“应该”是什么意思?为什么从链接中可以明显看出这一点?从帖子中:“如果继承的成员没有自己的文档,Dokka总是将文档从一个基础成员复制到一个继承的成员。”这意味着重写的成员是文档化的。同样来自帖子:事实上,Java.Hmmm中没有类似的
@inheritdoc
。但我不是问Dokka在插入继承文档方面做了什么。我在问如何让它停止用毫无意义的警告消息污染我的构建日志。但这并不能真正解决问题。真正的问题在于Dokka无法继承Kotlin stdlib文档。另一种方法是自动抑制重写的属性和FUN。
// No default documentation link to kotlin-stdlib
  noStdlibLink = false
dokka {
        // refer https://github.com/Kotlin/dokka#output-formats
        outputFormat = 'html'
        outputDirectory = "$buildDir/javadoc"
        // Do not create index pages for empty packages
        skipEmptyPackages = true
        // No default documentation link to kotlin-stdlib
        noStdlibLink = false
    }
BUILD SUCCESSFUL in 1m 13s
104 actionable tasks: 35 executed, 69 up-to-date
5:53:38 PM: Task execution finished 'dokka'.