diff --git a/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/BaseConventionPlugin.kt b/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/BaseConventionPlugin.kt index 835091cbd..f6123b5f4 100644 --- a/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/BaseConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/BaseConventionPlugin.kt @@ -3,7 +3,6 @@ package com.autonomousapps.convention import com.autonomousapps.convention.tasks.metalava.MetalavaConfigurer -import com.vanniktech.maven.publish.tasks.JavadocJar import org.gradle.api.Project import org.gradle.api.artifacts.VersionCatalogsExtension import org.gradle.api.plugins.JavaPluginExtension @@ -25,7 +24,7 @@ internal class BaseConventionPlugin(private val project: Project) { pluginManager.run { apply("com.vanniktech.maven.publish.base") apply("org.gradle.signing") - apply("org.jetbrains.dokka") + apply("org.jetbrains.dokka-javadoc") apply("com.autonomousapps.dependency-analysis") apply("com.autonomousapps.testkit") } @@ -61,13 +60,6 @@ internal class BaseConventionPlugin(private val project: Project) { t.isReproducibleFileOrder = true } - tasks.withType(DokkaTask::class.java).configureEach { t -> - t.notCompatibleWithConfigurationCache("Uses 'project' at execution time") - } - tasks.withType(JavadocJar::class.java).configureEach { t -> - t.notCompatibleWithConfigurationCache("Uses 'project' at execution time") - } - // We only use the Jupiter platform (JUnit 5) configurations.all { it.exclude(mapOf("group" to "junit", "module" to "junit")) diff --git a/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/LibKotlinConventionPlugin.kt b/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/LibKotlinConventionPlugin.kt index ed0f7193a..de65affe7 100644 --- a/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/LibKotlinConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/LibKotlinConventionPlugin.kt @@ -27,8 +27,7 @@ public abstract class LibKotlinConventionPlugin : Plugin { extensions.getByType(MavenPublishBaseExtension::class.java).run { configure( KotlinJvm( - // TODO(tsr): dokkaHtml is from Dokka v1. Does not exist in Dokka v2. See gradle.properties. - javadocJar = JavadocJar.Dokka("dokkaHtml"), + javadocJar = JavadocJar.Dokka("dokkaGeneratePublicationJavadoc"), sourcesJar = true, ) ) diff --git a/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/PluginConventionPlugin.kt b/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/PluginConventionPlugin.kt index eef09012a..b4ba6fcdf 100644 --- a/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/PluginConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/PluginConventionPlugin.kt @@ -3,14 +3,12 @@ package com.autonomousapps.convention import com.autonomousapps.convention.internal.kotlin.KotlinConfigurer -import com.gradle.publish.PublishTask import com.vanniktech.maven.publish.GradlePublishPlugin import com.vanniktech.maven.publish.MavenPublishBaseExtension import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.artifacts.VersionCatalog import org.gradle.api.artifacts.VersionCatalogsExtension -import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven import org.gradle.api.tasks.compile.GroovyCompile import org.gradle.plugin.devel.tasks.ValidatePlugins @@ -30,7 +28,6 @@ public abstract class PluginConventionPlugin : Plugin { configureKotlin() configurePlugins() configurePublishing() - disableConfigurationCache() } private fun Project.configureGroovy(versionCatalog: VersionCatalog) { @@ -61,13 +58,4 @@ public abstract class PluginConventionPlugin : Plugin { configure(GradlePublishPlugin()) } } - - private fun Project.disableConfigurationCache() { - tasks.withType(PublishTask::class.java).configureEach { t -> - t.notCompatibleWithConfigurationCache("Various problems") - } - tasks.withType(AbstractPublishToMaven::class.java) { t -> - t.notCompatibleWithConfigurationCache("Various problems") - } - } } diff --git a/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/internal/kotlin/KotlinConfigurer.kt b/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/internal/kotlin/KotlinConfigurer.kt index efbc04d51..9af46aca4 100644 --- a/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/internal/kotlin/KotlinConfigurer.kt +++ b/build-logic/convention/src/main/kotlin/com/autonomousapps/convention/internal/kotlin/KotlinConfigurer.kt @@ -12,8 +12,6 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile internal class KotlinConfigurer(private val project: Project) { private val versionCatalog = project.extensions.getByType(VersionCatalogsExtension::class.java).named("libs") - - private val dokka = versionCatalog.findLibrary("kotlin.dokka").get() private val javaTarget = versionCatalog.findVersion("javaTarget").orElseThrow().requiredVersion private val kotlin = versionCatalog.findVersion("kotlin").get().requiredVersion @@ -21,16 +19,11 @@ internal class KotlinConfigurer(private val project: Project) { private val kotlinVersion = KotlinVersion.fromVersion(kotlin.substringBeforeLast('.')) fun configure(): Unit = project.run { - configureDokka() configureKotlinExtension() configureKotlinTarget() configureKotlinVersion() } - private fun Project.configureDokka() { - dependencies.add("dokkaHtmlPlugin", dokka) - } - private fun Project.configureKotlinExtension() { project.extensions.getByType(KotlinJvmProjectExtension::class.java).run { explicitApi() diff --git a/gradle.properties b/gradle.properties index efdba18b1..0ba7df878 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,9 +14,5 @@ VERSION=3.7.1-SNAPSHOT # https://kotlinlang.org/docs/gradle-configure-project.html#dependency-on-the-standard-library kotlin.stdlib.default.dependency=false -# TODO(tsr): switch these around when migration to Dokka v2 complete. -org.jetbrains.dokka.experimental.gradle.pluginMode=V2EnabledWithHelpers -#org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled - # Uncomment to use maven local #systemProp.local=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e84057860..a86a344f0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,8 +26,7 @@ junit = "5.14.1" kotlin = "2.3.20" kotlinForAndroidtests = "2.3.20" kotlinMetadata = "2.3.20" -# TODO(tsr): update Dokka -kotlinDokka = "2.0.0" +kotlinDokka = "2.2.0" # Cannot be called kotlin-editor as it causes `libs.versions.kotlin.get()` to fail kotlineditor-core = "0.20" kotlineditor-relocated = "0.20.0" @@ -62,7 +61,6 @@ junit-engine = { module = "org.junit.jupiter:junit-jupiter-engine" } junit-launcher = { module = "org.junit.platform:junit-platform-launcher" } junit-params = { module = "org.junit.jupiter:junit-jupiter-params" } kotlin-bom = { module = "org.jetbrains.kotlin:kotlin-bom", version.ref = "kotlin" } -kotlin-dokka = { module = "org.jetbrains.dokka:kotlin-as-java-plugin", version.ref = "kotlinDokka" } kotlinDokkaGradlePlugin = { module = "org.jetbrains.dokka-javadoc:org.jetbrains.dokka-javadoc.gradle.plugin", version.ref = "kotlinDokka" } kotlin-editor-core = { module = "app.cash.kotlin-editor:core", version.ref = "kotlineditor-core" } kotlin-editor-grammar = { module = "app.cash.kotlin-editor:grammar", version.ref = "kotlineditor-core" }