@@ -5,7 +5,8 @@ repositories.mavenCentral()
55plugins {
66 kotlin(" jvm" ) version " 2.3.10"
77 kotlin(" plugin.serialization" ) version " 2.3.10" apply false
8- id(" org.jetbrains.dokka" ) version " 1.9.20"
8+ id(" org.jetbrains.dokka" ) version " 2.1.0"
9+ id(" org.jetbrains.dokka-javadoc" ) version " 2.1.0"
910}
1011
1112subprojects {
@@ -18,14 +19,30 @@ subprojects {
1819 apply (plugin = kotlin(" jvm" ))
1920 apply (plugin = kotlin(" plugin.serialization" ))
2021 apply (plugin = " org.jetbrains.dokka" )
22+ apply (plugin = " org.jetbrains.dokka-javadoc" )
2123
2224 kotlin {
2325 compilerOptions.allWarningsAsErrors = true
2426 }
2527
26- fun NamedDomainObjectContainer<GradleDokkaSourceSetBuilder>.addMarkdown () = configureEach {
27- includes.from(project.files(), fileTree(" src/main/kotlin" ).include(" **/_doc.md" ))
28+ dokka {
29+ dokkaSourceSets.configureEach {
30+ // Package-level documentation
31+ val mdFiles = fileTree(" src/main/kotlin" ) {
32+ include(" **/_doc.md" )
33+ }
34+ mdFiles.files.forEach { mdFile ->
35+ // Avoid duplicate file name conflicts
36+ val relativePath = mdFile.relativeTo(project.file(" src/main/kotlin" )).path.replace(" /" , " -" ).replace(" \\ " , " -" )
37+ val uniqueFile = project.layout.buildDirectory.file(" tmp/dokka-includes/$relativePath " ).get().asFile
38+ uniqueFile.parentFile.mkdirs()
39+ mdFile.copyTo(uniqueFile, overwrite = true )
40+ includes.from(uniqueFile)
41+ }
42+ }
2843 }
29- tasks.withType<DokkaTask >().configureEach { dokkaSourceSets.addMarkdown() }
30- tasks.withType<DokkaTaskPartial >().configureEach { dokkaSourceSets.addMarkdown() }
44+ }
45+
46+ dependencies {
47+ subprojects.forEach { dokka(it) }
3148}
0 commit comments