https://kotlinlang.org logo
#dokka
Title
# dokka
a

Adam S

02/14/2023, 11:05 AM
in the dokka-multimodule-example, how do childProjectA and childProjectB end up in the output directory? Are they copied there by the Dokka Gradle Plugin, or by DokkaGenerator? I found there is a ‘copyChild’ utility, but this isn’t used anywhere https://github.com/Kotlin/dokka/blob/e8423ecf9f430758398eabc0d35077fff17f1f6c/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleFileLayout.kt#L51-L55C2
i

Ignat Beresnev

02/14/2023, 6:43 PM
Hi! I think it's copied, although I don't know how or when. If you figure out - please share 🙂 What I think you can do to find out is to put breakpoints in
AllModulesPageGeneration
before/after each step, and refresh the output directory to see if the child output directories have been copied. This way you should be able to find the step that does the copying - something to get started
a

Adam S

02/14/2023, 8:46 PM
I think that the
dokkaMultiModule/childProjectA
and
dokkaMultiModule/childProjectB
dirs are created by the all-modules-page-plugin Dokka plugin. I don’t think that DokkaGradle does any copying, and I don’t think that DokkaGenerator directly produces the site into those sub dirs…
i

Ignat Beresnev

02/14/2023, 8:49 PM
Yeah,
AllModulesPageGeneration
is from the all-modules-page plugin. It's invoked when the
*MultiModule
task starts working (so after all the
*Partial
tasks complete, which use the
SingleModuleGeneration
)
DokkaGenerator
just calls whatever
Generation
implementation it finds registered for the extension point, link here
So if the
all-modules-page
plugin is applied,
DokkaGenerator
will be calling
AllModulesPageGeneration
6 Views