From bbff41cafea6a9fd43f6b9f137a1503b1c4d6de1 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Sun, 24 Mar 2024 22:52:13 +0100 Subject: [PATCH] Fix Dokkatoo configurations default visibility (#204) * don't make Dokkatoo Configurations visible by default, Gradle adds an automatic link to assemble tasks for some weird reason * fix dokkatooPlugin conf name --- .../main/kotlin/dokka-convention.gradle.kts | 2 +- .../src/main/kotlin/internal/gradleUtils.kt | 2 +- .../kotlin/DokkatooBaseTasksLinksTest.kt | 41 +++++++++++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 modules/dokkatoo-plugin/src/testFunctional/kotlin/DokkatooBaseTasksLinksTest.kt diff --git a/examples/java-example/dokkatoo/buildSrc/src/main/kotlin/dokka-convention.gradle.kts b/examples/java-example/dokkatoo/buildSrc/src/main/kotlin/dokka-convention.gradle.kts index 5d7686f3..962e507b 100644 --- a/examples/java-example/dokkatoo/buildSrc/src/main/kotlin/dokka-convention.gradle.kts +++ b/examples/java-example/dokkatoo/buildSrc/src/main/kotlin/dokka-convention.gradle.kts @@ -20,5 +20,5 @@ dependencies { dokkatooPluginHtml("org.jetbrains.dokka:kotlin-as-java-plugin") dokkatooPluginJavadoc("org.jetbrains.dokka:kotlin-as-java-plugin") dokkatooPluginJekyll("org.jetbrains.dokka:kotlin-as-java-plugin") - dokkatooPluginMarkdown("org.jetbrains.dokka:kotlin-as-java-plugin") + dokkatooPluginGfm("org.jetbrains.dokka:kotlin-as-java-plugin") } diff --git a/modules/dokkatoo-plugin/src/main/kotlin/internal/gradleUtils.kt b/modules/dokkatoo-plugin/src/main/kotlin/internal/gradleUtils.kt index a83ef269..30f6bc6f 100644 --- a/modules/dokkatoo-plugin/src/main/kotlin/internal/gradleUtils.kt +++ b/modules/dokkatoo-plugin/src/main/kotlin/internal/gradleUtils.kt @@ -51,7 +51,7 @@ internal fun Configuration.declarable( * ``` */ internal fun Configuration.consumable( - visible: Boolean = true, + visible: Boolean = false, ) { isCanBeResolved = false isCanBeConsumed = true diff --git a/modules/dokkatoo-plugin/src/testFunctional/kotlin/DokkatooBaseTasksLinksTest.kt b/modules/dokkatoo-plugin/src/testFunctional/kotlin/DokkatooBaseTasksLinksTest.kt new file mode 100644 index 00000000..089ff737 --- /dev/null +++ b/modules/dokkatoo-plugin/src/testFunctional/kotlin/DokkatooBaseTasksLinksTest.kt @@ -0,0 +1,41 @@ +package dev.adamko.dokkatoo + +import dev.adamko.dokkatoo.utils.addArguments +import dev.adamko.dokkatoo.utils.build +import dev.adamko.dokkatoo.utils.name +import dev.adamko.dokkatoo.utils.projects.initMultiModuleProject +import io.kotest.core.spec.style.FunSpec +import io.kotest.datatest.withData +import io.kotest.inspectors.shouldForAll +import io.kotest.inspectors.shouldForOne +import io.kotest.matchers.shouldBe +import io.kotest.matchers.string.shouldNotContainIgnoringCase + +class DokkatooBaseTasksLinksTest : FunSpec({ + + context("Verify that the base lifecycle tasks do not trigger Dokkatoo tasks") { + val project = initMultiModuleProject("TaskLinks") + + withData( + "assemble", + "build", + "check", + "clean", + ) { baseTask -> + project.runner + .addArguments( + baseTask, + "--quiet", + ) + .build { + tasks.shouldForOne { it.path shouldBe ":${baseTask}" } + tasks.shouldForOne { it.path shouldBe ":subproject-goodbye:${baseTask}" } + tasks.shouldForOne { it.path shouldBe ":subproject-hello:${baseTask}" } + + tasks.shouldForAll { task -> + task.name shouldNotContainIgnoringCase "dokkatoo" + } + } + } + } +})