From 97dcfbd3147f0b3e2f9dd53829e58c1243328309 Mon Sep 17 00:00:00 2001 From: Martin Bonnin Date: Mon, 30 Mar 2026 12:21:53 +0200 Subject: [PATCH] Update dokka and force users to specify the list of dokka projects --- gradle/libs.versions.toml | 2 +- librarian-gradle-plugin/api/librarian-gradle-plugin.api | 6 +++--- .../main/kotlin/com/gradleup/librarian/gradle/dokka.kt | 9 +++------ .../main/kotlin/com/gradleup/librarian/gradle/module.kt | 8 ++++++++ .../kotlin/com/gradleup/librarian/gradle/publishing.kt | 4 ++-- .../main/kotlin/com/gradleup/librarian/gradle/root.kt | 3 +-- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a447c18..c442858 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,7 +14,7 @@ clikt = "com.github.ajalt.clikt:clikt:3.5.0" tapmoc = "com.gradleup.tapmoc:tapmoc-gradle-plugin:0.3.2" tapmoc-at-build-time = "com.gradleup.tapmoc:tapmoc-gradle-plugin:0.2.1-SNAPSHOT-dda1362c1d0f8389f50b362a08967793e320cf29" coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0" -dokka = "org.jetbrains.dokka:dokka-gradle-plugin:2.1.0-Beta" +dokka = "org.jetbrains.dokka:dokka-gradle-plugin:2.2.0" google-auth = "com.google.auth:google-auth-library-oauth2-http:1.19.0" gradle-api = "dev.gradleplugins:gradle-api:8.8" gratatouille-gradle-plugin = "com.gradleup.gratatouille:com.gradleup.gratatouille.gradle.plugin:0.2.2" diff --git a/librarian-gradle-plugin/api/librarian-gradle-plugin.api b/librarian-gradle-plugin/api/librarian-gradle-plugin.api index 84afbe3..a8b81b3 100644 --- a/librarian-gradle-plugin/api/librarian-gradle-plugin.api +++ b/librarian-gradle-plugin/api/librarian-gradle-plugin.api @@ -24,7 +24,7 @@ public final class com/gradleup/librarian/gradle/Coordinates { public final class com/gradleup/librarian/gradle/DokkaKt { public static final fun Coordinates (Ljava/lang/String;)Lcom/gradleup/librarian/gradle/Coordinates; public static final fun configureDokka (Lorg/gradle/api/Project;)V - public static final fun configureDokkaAggregate (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Z)Lorg/gradle/api/tasks/TaskProvider; + public static final fun configureDokkaAggregate (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/util/List;)Lorg/gradle/api/tasks/TaskProvider; } public final class com/gradleup/librarian/gradle/Gcs { @@ -47,9 +47,9 @@ public final class com/gradleup/librarian/gradle/GeneratedVersionKt { } public final class com/gradleup/librarian/gradle/Kdoc { - public fun (ZLjava/util/List;)V - public final fun getIncludeSelf ()Z + public fun (Ljava/util/List;Ljava/util/List;)V public final fun getOlderVersions ()Ljava/util/List; + public final fun getProjects ()Ljava/util/List; } public final class com/gradleup/librarian/gradle/KmpKt { diff --git a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/dokka.kt b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/dokka.kt index ae30358..7d7b59d 100644 --- a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/dokka.kt +++ b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/dokka.kt @@ -42,7 +42,7 @@ fun Project.configureDokkaAggregate( currentVersion: String, olderVersions: List, aggregateConfiguration: String, - includeSelf: Boolean, + projectPaths: List, ): TaskProvider { val jar = configureDokkaInternal { dependencies.add( @@ -104,11 +104,8 @@ fun Project.configureDokkaAggregate( } } - allprojects { - if (it == this && !includeSelf) { - return@allprojects - } - dependencies.add("dokka", it) + projectPaths.forEach { + dependencies.add("dokka", dependencies.project(mapOf("path" to it))) } configurePublishingInternal { diff --git a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/module.kt b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/module.kt index f9fa452..909050e 100644 --- a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/module.kt +++ b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/module.kt @@ -47,6 +47,14 @@ internal fun Properties.olderVersions(): List { } } +internal fun Properties.projects(): List { + return getProperty("kdoc.projects")?.split(",") + .orEmpty() + .filter { + it.isNotEmpty() + } +} + internal fun Project.rootProperties(): Properties { val propertiesFile = rootDir.resolve(rootPropertiesFilename) check(propertiesFile.exists()) { diff --git a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/publishing.kt b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/publishing.kt index 4633fe8..df44c70 100644 --- a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/publishing.kt +++ b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/publishing.kt @@ -49,13 +49,13 @@ fun Gcs(properties: Properties): Gcs? { } class Kdoc( - val includeSelf: Boolean, + val projects: List, val olderVersions: List, ) fun Kdoc(properties: Properties): Kdoc { return Kdoc( - false, + properties.projects(), properties.olderVersions(), ) } diff --git a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/root.kt b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/root.kt index 260d1cd..39779ce 100644 --- a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/root.kt +++ b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/root.kt @@ -29,7 +29,6 @@ fun Project.librarianRoot() { ) } - fun Project.librarianRoot( group: String, version: String, @@ -58,7 +57,7 @@ fun Project.librarianRoot( currentVersion = version, olderVersions = kdoc.olderVersions, aggregateConfiguration = "nmcpAggregation", - includeSelf = kdoc.includeSelf, + projectPaths = kdoc.projects, ) val nmcpAggregation = extensions.getByType(NmcpAggregationExtension::class.java)