KDoc / Dokka: игнорировать унаследованные методы в подклассе

#android #kotlin #kotlin-dokka #kdoc

#Android #kotlin #kotlin-dokka #kdoc

Вопрос:

Я создаю документацию, используя KDoc / Dokka для библиотеки Android.

У меня есть пользовательское представление, которое расширяется LinearLayout .

Проблема в том, что LinearLayout содержит сотни общедоступных методов. Dokka генерирует пустую документацию для всех этих методов, хотя я не использовал и не переопределял их в своем собственном коде.

Это полностью скрывает любой из моих собственных методов и делает документацию практически бесполезной.

Как я могу запретить dokka генерировать документацию для унаследованных методов?

Ответ №1:

В настоящее время это не поддерживается, возможно, мы добавим какой-нибудь флаг, чтобы включить / выключить его.

Вы можете следить за этой проблемой:https://github.com/Kotlin/dokka/issues/1501

Ответ №2:

Из ответа @andrzej-ratajczak можно использовать следующее

 pluginsMapConfiguration.set(
  ["org.jetbrains.dokka.base.DokkaBase": """{ "separateInheritedMembers": true}"""]
)
  

вот пример моего собственного модуля

 dokkaHtml {
    moduleName = "${project.name}"

    dokkaSourceSets {
        configureEach {
            // Suppress a package
            perPackageOption {
                // will match all packages and sub-packages
                matchingRegex.set(".*\.internal.*")
                suppress.set(true)
            }

            // separate inherited members to avoid polluting our public API
            // https://github.com/Kotlin/dokka/issues/1501
            pluginsMapConfiguration.set(
                    ["org.jetbrains.dokka.base.DokkaBase": """{ "separateInheritedMembers": true}"""]
            )

        }
    }
}