From 87459fedd670e8e2304eba110c3cd9f644561d69 Mon Sep 17 00:00:00 2001 From: Dries Samyn <5557551+driessamyn@users.noreply.github.com> Date: Thu, 30 Jan 2025 20:58:08 +0000 Subject: [PATCH] Build: update to dokka v2 API. --- buildSrc/build.gradle.kts | 1 + .../kapper.library-conventions.gradle.kts | 18 ++++++++++++++---- .../kotlin/kapper.library-publish.gradle.kts | 3 ++- gradle.properties | 2 ++ gradle/libs.versions.toml | 4 +++- 5 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 gradle.properties diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index dc0fd52..dc1cd59 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -11,6 +11,7 @@ dependencies { // plugins implementation(libs.deployer.plugin) implementation(libs.dokka.plugin) + implementation(libs.dokka.javadoc.plugin) implementation(libs.git.semver.plugin) implementation(libs.ktlint.plugin) implementation(libs.kotlin.jvm.plugin) diff --git a/buildSrc/src/main/kotlin/kapper.library-conventions.gradle.kts b/buildSrc/src/main/kotlin/kapper.library-conventions.gradle.kts index 07fedbb..1219b24 100644 --- a/buildSrc/src/main/kotlin/kapper.library-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/kapper.library-conventions.gradle.kts @@ -9,6 +9,7 @@ plugins { id("org.jetbrains.kotlinx.kover") id("org.jlleitschuh.gradle.ktlint") id("org.jetbrains.dokka") + id("org.jetbrains.dokka-javadoc") id("com.github.jmongard.git-semver-plugin") } @@ -117,7 +118,8 @@ tasks.withType().configureEach dependsOn(tasks.ktlintFormat) } -val integrationTestImplementation by configurations.getting { +@Suppress("unused") +val integrationTestImplementation: Configuration by configurations.getting { extendsFrom(configurations.implementation.get()) } @@ -141,8 +143,16 @@ tasks.withType().configureEach { } } -tasks.register("dokkaJavadocJar") { - dependsOn(tasks.dokkaJavadoc) - from(tasks.dokkaJavadoc.flatMap { it.outputDirectory }) +@Suppress("unused") +val dokkaJavadocJar by tasks.registering(Jar::class) { + description = "A Javadoc JAR containing Dokka Javadoc" + from(tasks.dokkaGeneratePublicationJavadoc.flatMap { it.outputDirectory }) archiveClassifier.set("javadoc") } + +@Suppress("unused") +val dokkaHtmlJar by tasks.registering(Jar::class) { + description = "A HTML Documentation JAR containing Dokka HTML" + from(tasks.dokkaGeneratePublicationHtml.flatMap { it.outputDirectory }) + archiveClassifier.set("html-doc") +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/kapper.library-publish.gradle.kts b/buildSrc/src/main/kotlin/kapper.library-publish.gradle.kts index a3b57dd..013feee 100644 --- a/buildSrc/src/main/kotlin/kapper.library-publish.gradle.kts +++ b/buildSrc/src/main/kotlin/kapper.library-publish.gradle.kts @@ -23,7 +23,8 @@ publishing { version = info.version from(components["kotlin"]) artifact(tasks["sourcesJar"]) - artifact(tasks["javadocJar"]) + artifact(tasks["dokkaJavadocJar"]) + artifact(tasks["dokkaHtmlJar"]) } } } diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..5c31149 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,2 @@ +org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled +org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a842fab..673e524 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,4 +1,5 @@ [versions] +dokka = "2.0.0" junit-jupiter = "5.11.4" kotest = "6.0.0.M1" kotlin = "2.1.0" @@ -29,7 +30,8 @@ test-containers-junit-postgresql = { module = "org.testcontainers:postgresql", v # PLUGINS ## This way because buildSrc is not supported for plugins deployer-plugin = { module = "io.deepmedia.tools.deployer:io.deepmedia.tools.deployer.gradle.plugin", version = "0.17.0" } -dokka-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version = "2.0.0" } +dokka-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } +dokka-javadoc-plugin = { module = "org.jetbrains.dokka-javadoc:org.jetbrains.dokka-javadoc.gradle.plugin", version.ref = "dokka" } git-semver-plugin = { module = "com.github.jmongard:git-semver-plugin", version = "0.14.0" } ktlint-plugin = { module = "org.jlleitschuh.gradle:ktlint-gradle", version = "12.1.2" } kotlin-jvm-plugin = { module = "org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin", version.ref = "kotlin" }