0

Gradle Dokkaプラグインバージョン0.9.16-eap-1を使用して、Kotlinコードのドキュメントを生成しています。

私は壊れていない窓のような人間なので、プラグインが明示的に基本クラスに文書化されているオーバーライドされたメソッドを文書化していないクラスのために1トンのメッセージを生成するということに挫折しました。例えば

No documentation for com.foo.Bar$read() (Bar.kt:6) 
No documentation for com.foo.Bar$toString() (Bar.kt:7) 

私は重複重複してすべてを文書化する必要がありますする必要はありませんので、これは、少し面倒です。このクラスDokkaの戒告の場合

package com.foo 
/** 
* A silly class to demonstrate silliness. 
*/ 
class Bar : java.io.InputStream() { 
    override fun read() = -1 
    override fun toString() = "BAZ!" 
} 

コピー&ペーストのドキュメント。 Dokka README.mdを見ると

、私は見るだけで、関連する設定オプションは以下のとおりです。

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 
     ... 
    } 
} 

しかし、私は文書化されていないものについての警告を抑制する必要はありません。それはちょうど悪いことです。私がしたいのは、文書化されていないoverrideのことについての警告を抑止することです。私は故意に自分自身を繰り返さないことを前提にしています。

override funの警告をオフにするオプションがあるかどうかは知っていますか?あなたの特定のケースでの使用に

+0

うーん。どうやら関数にはドキュメントが必要です(https://stackoverflow.com/a/35838071/7366707)。 – Moira

+0

私はあなたのコメントを理解していません... "should"とは何ですか?なぜそれはリンクから明らかですか? – 0xbe5077ed

+0

投稿から: "Dokkaは、継承されたメンバーに独自のドキュメンテーションがない場合は、常にドキュメントをベースメンバーから継承されたドキュメントにコピーします。"オーバーライドされたメンバーが文書化されていることを暗示する。また、ポストから:Javaでは '@ inheritdoc'と似たものはありません。 – Moira

答えて

0

@suppress

class MyAndroidActivity: Activity { 

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

} 

あなたは完全にドキュメントからオーバーライドされた機能を除外しますこの方法です。

しかし、あなたは文書でAPI呼び出しへの参照を保持したい場合は、単純に(それが警告を無効になります)の要素に近いドキュメント文字列に行空を追加します。

class MyAndroidActivity: Activity { 

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

} 
関連する問題