Hello , how to include non-public methods in the ...
# dokka
a
Hello , how to include non-public methods in the Dokka documentation for a multi-module project. I have the following configuration, but when I execute
gradlew dokkaHTMLMultiModule
, the private methods are not being included. Here is the Dokka configuration in the
build.gradle.kts
file:
Copy code
tasks.dokkaHtmlMultiModule.configure {
    outputDirectory.set(layout.buildDirectory.dir("DokkaMoltiModuleDoc"))
}
tasks.withType<org.jetbrains.dokka.gradle.DokkaTask>().configureEach {
    dokkaSourceSets {
        configureEach {
            includeNonPublic.set(true)
            skipEmptyPackages.set(true)
        }
    }
}
o
Hey The configuration part is mostly correct, though: 1. you need to configure
AbstractDokkaTask
- because in multimodule there are some additional tasks created which extend
AbstractDokkaTask
and not
DokkaTask
2. you need to add this configuration for subprojects and not to root project -
multiModule
task just aggregates results of running dokka in submodules 3. it's better to use
documentedVisibilities
instead of
includeNonPublic
Regarding point two, you can do it in 2 ways: 1. explicitly add configuration
tasks.withType<AbstractDokkaTask>().configureEach {...}
in build scripts of submodules (via convention plugin for example - this is suggested way by Gradle) 2. in root project (near
multiModule
task) add
subprojects { tasks.withType<AbstractDokkaTask>().configureEach {...} }
to configure all submodules in one place
a
@Oleg Yukhnevich I had to set up
DokkaTaskPartial
in sub-module Gradle build file like this :
Copy code
// App/build.gradle.kts 
import org.jetbrains.dokka.DokkaConfiguration.Visibility

...

tasks.withType<DokkaTaskPartial>().configureEach {
    outputDirectory.set(layout.buildDirectory.dir("Partial"))
    moduleName.set("Application")
    dokkaSourceSets.configureEach {
        documentedVisibilities.set(
            setOf(
                Visibility.PUBLIC,
                Visibility.PRIVATE,
                Visibility.PROTECTED,
            )
        )
        skipEmptyPackages.set(true)
        // other configurations...
    }
}
o
Yeah,
DokkaTaskPartial
is also fine
👍 1