From 81b21d13e5d047a89e48fa955a0dc9a9f634a5ba Mon Sep 17 00:00:00 2001 From: Varun Patni Date: Sun, 19 Oct 2025 13:35:40 -0500 Subject: [PATCH] Migrate to Dokka v2.1.0 This commit migrates SpringBoot from the outdated Dokkatoo to the now generally available Dokka v2.1.0 for automated documentation generation. Closes #47672 Signed-off-by: Varun Patni --- buildSrc/build.gradle | 3 ++- .../springframework/boot/build/JavaConventions.java | 2 +- .../boot/build/KotlinConventions.java | 13 ++++++------- core/spring-boot/build.gradle | 2 +- documentation/spring-boot-docs/build.gradle | 12 ++++++------ .../src/docs/{dokkatoo => dokka}/dokka-overview.md | 0 module/spring-boot-resttestclient/build.gradle | 2 +- 7 files changed, 17 insertions(+), 17 deletions(-) rename documentation/spring-boot-docs/src/docs/{dokkatoo => dokka}/dokka-overview.md (100%) diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index b789eedec2d0..f8e2a2553db8 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -19,6 +19,7 @@ plugins { id "io.spring.javaformat" version "${javaFormatVersion}" id "checkstyle" id "eclipse" + id "org.jetbrains.dokka" version "2.1.0" } repositories { @@ -51,7 +52,7 @@ dependencies { implementation("com.tngtech.archunit:archunit:1.4.1") implementation("commons-codec:commons-codec:${commonsCodecVersion}") implementation("de.undercouch.download:de.undercouch.download.gradle.plugin:5.5.0") - implementation("dev.adamko.dokkatoo:dokkatoo-plugin:2.3.1") + implementation("org.jetbrains.dokka:dokka-gradle-plugin:2.1.0") implementation("dev.detekt:detekt-gradle-plugin:2.0.0-alpha.0") implementation("io.spring.gradle.antora:spring-antora-plugin:0.0.1") implementation("io.spring.javaformat:spring-javaformat-gradle-plugin:${javaFormatVersion}") diff --git a/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java b/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java index b17a438de670..6753e3d732b6 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java @@ -278,7 +278,7 @@ private void configureDependencyManagement(Project project) { configurations .matching((configuration) -> (configuration.getName().endsWith("Classpath") || JavaPlugin.ANNOTATION_PROCESSOR_CONFIGURATION_NAME.equals(configuration.getName())) - && (!configuration.getName().contains("dokkatoo"))) + && (!configuration.getName().contains("dokka"))) .all((configuration) -> configuration.extendsFrom(dependencyManagement)); Dependency springBootParent = project.getDependencies() .enforcedPlatform(project.getDependencies() diff --git a/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java b/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java index 21fba0f4f4d7..66310055231a 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java @@ -18,14 +18,14 @@ import java.net.URI; -import dev.adamko.dokkatoo.DokkatooExtension; -import dev.adamko.dokkatoo.formats.DokkatooHtmlPlugin; import dev.detekt.gradle.Detekt; import dev.detekt.gradle.extensions.DetektExtension; import dev.detekt.gradle.plugin.DetektPlugin; import org.gradle.api.Project; import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.SourceSetContainer; +import org.jetbrains.dokka.gradle.DokkaExtension; +import org.jetbrains.dokka.gradle.formats.DokkaHtmlPlugin; import org.jetbrains.kotlin.gradle.dsl.JvmTarget; import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions; import org.jetbrains.kotlin.gradle.dsl.KotlinVersion; @@ -59,7 +59,7 @@ class KotlinConventions { void apply(Project project) { project.getPlugins().withId("org.jetbrains.kotlin.jvm", (plugin) -> { project.getTasks().withType(KotlinCompile.class, this::configure); - project.getPlugins().withType(DokkatooHtmlPlugin.class, (dokkatooPlugin) -> configureDokkatoo(project)); + project.getPlugins().withType(DokkaHtmlPlugin.class, (dokkaPlugin) -> configureDokka(project)); configureDetekt(project); }); } @@ -74,10 +74,9 @@ private void configure(KotlinCompile compile) { .addAll("-Xsuppress-version-warnings", "-Xannotation-default-target=param-property"); } - private void configureDokkatoo(Project project) { - DokkatooExtension dokkatoo = project.getExtensions().getByType(DokkatooExtension.class); - dokkatoo.getVersions().getJetbrainsDokka().set("2.1.0-Beta"); - dokkatoo.getDokkatooSourceSets().configureEach((sourceSet) -> { + private void configureDokka(Project project) { + DokkaExtension dokka = project.getExtensions().getByType(DokkaExtension.class); + dokka.getDokkaSourceSets().configureEach((sourceSet) -> { if (SourceSet.MAIN_SOURCE_SET_NAME.equals(sourceSet.getName())) { sourceSet.getSourceRoots().setFrom(project.file("src/main/kotlin")); sourceSet.getClasspath() diff --git a/core/spring-boot/build.gradle b/core/spring-boot/build.gradle index 5b6c9fb4ab5d..5b287771a45c 100644 --- a/core/spring-boot/build.gradle +++ b/core/spring-boot/build.gradle @@ -15,7 +15,7 @@ */ plugins { - id "dev.adamko.dokkatoo-html" + id "org.jetbrains.dokka" id "java-library" id "java-test-fixtures" id "org.jetbrains.kotlin.jvm" diff --git a/documentation/spring-boot-docs/build.gradle b/documentation/spring-boot-docs/build.gradle index 9dde07734023..04d7c5bb2e10 100644 --- a/documentation/spring-boot-docs/build.gradle +++ b/documentation/spring-boot-docs/build.gradle @@ -21,7 +21,7 @@ import org.springframework.boot.build.docs.ConfigureJavadocLinks import org.springframework.boot.build.optional.OptionalDependenciesPlugin plugins { - id "dev.adamko.dokkatoo-html" + id "org.jetbrains.dokka" id "java" id "org.antora" id "org.jetbrains.kotlin.jvm" @@ -240,7 +240,7 @@ dependencies { testSlices(project(path: ":core:spring-boot-test-autoconfigure", configuration: "testSliceMetadata")) } -dokkatoo { +dokka { moduleName.set("Spring Boot Kotlin API") } @@ -438,7 +438,7 @@ antoraContributions { from(aggregatedJavadoc) { into "java" } - from(tasks.named("dokkatooGeneratePublicationHtml")) { + from(tasks.named("dokkaGeneratePublicationHtml")) { into "kotlin" } } @@ -505,8 +505,8 @@ antoraContributions { } } -dokkatoo { - dokkatooPublications.configureEach { - includes.from("src/docs/dokkatoo/dokka-overview.md") +dokka { + dokkaPublications.configureEach { + includes.from("src/docs/dokka/dokka-overview.md") } } diff --git a/documentation/spring-boot-docs/src/docs/dokkatoo/dokka-overview.md b/documentation/spring-boot-docs/src/docs/dokka/dokka-overview.md similarity index 100% rename from documentation/spring-boot-docs/src/docs/dokkatoo/dokka-overview.md rename to documentation/spring-boot-docs/src/docs/dokka/dokka-overview.md diff --git a/module/spring-boot-resttestclient/build.gradle b/module/spring-boot-resttestclient/build.gradle index fd06b31b16c4..a48bb43dad24 100644 --- a/module/spring-boot-resttestclient/build.gradle +++ b/module/spring-boot-resttestclient/build.gradle @@ -15,7 +15,7 @@ */ plugins { - id "dev.adamko.dokkatoo-html" + id "org.jetbrains.dokka" id "java-library" id "org.jetbrains.kotlin.jvm" id "org.springframework.boot.auto-configuration"