From d9b5f4d8edeeb91a321f3c7330c76c98a02df350 Mon Sep 17 00:00:00 2001 From: "Sergey.Shanshin" Date: Mon, 6 Jan 2025 12:12:20 +0100 Subject: [PATCH] Fixed creation of Kover Agent arguments file Previously parent directory hasn't been creating for an arguments file Fixes #721 --- .../test/functional/cases/DefaultConfigTests.kt | 11 +++++++++++ .../aggregation/project/KoverProjectGradlePlugin.kt | 3 ++- .../instrumentation/JvmTestTaskInstrumentation.kt | 2 +- .../plugin/tools/kover/KoverOnlineInstrumentation.kt | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/kover-gradle-plugin/src/functionalTest/kotlin/kotlinx/kover/gradle/plugin/test/functional/cases/DefaultConfigTests.kt b/kover-gradle-plugin/src/functionalTest/kotlin/kotlinx/kover/gradle/plugin/test/functional/cases/DefaultConfigTests.kt index b9b0ef59..bcca08b3 100644 --- a/kover-gradle-plugin/src/functionalTest/kotlin/kotlinx/kover/gradle/plugin/test/functional/cases/DefaultConfigTests.kt +++ b/kover-gradle-plugin/src/functionalTest/kotlin/kotlinx/kover/gradle/plugin/test/functional/cases/DefaultConfigTests.kt @@ -19,4 +19,15 @@ internal class DefaultConfigTests { checkDefaultReports() } } + + @GeneratedTest() + fun BuildConfigurator.testCleanCheck() { + addProjectWithKover { + sourcesFrom("simple") + } + + run("clean", "check") { + checkDefaultBinReport() + } + } } diff --git a/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/aggregation/project/KoverProjectGradlePlugin.kt b/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/aggregation/project/KoverProjectGradlePlugin.kt index a52644b2..2565c098 100644 --- a/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/aggregation/project/KoverProjectGradlePlugin.kt +++ b/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/aggregation/project/KoverProjectGradlePlugin.kt @@ -26,6 +26,7 @@ import org.gradle.api.tasks.compile.JavaCompile import org.gradle.api.tasks.testing.Test import org.gradle.kotlin.dsl.create import org.gradle.kotlin.dsl.named +import org.gradle.kotlin.dsl.register import org.gradle.kotlin.dsl.withType import java.io.File @@ -63,7 +64,7 @@ internal class KoverProjectGradlePlugin : Plugin { val artifactFile = layout.buildDirectory.file("kover/kover.artifact") // we create task immediately because of mustRunAfter - val generateArtifactTask = tasks.create("koverGenerateArtifact") + val generateArtifactTask = tasks.register("koverGenerateArtifact").get() generateArtifactTask.outputFile.set(artifactFile) // add tests diff --git a/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/aggregation/project/instrumentation/JvmTestTaskInstrumentation.kt b/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/aggregation/project/instrumentation/JvmTestTaskInstrumentation.kt index 5953199d..706a0d71 100644 --- a/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/aggregation/project/instrumentation/JvmTestTaskInstrumentation.kt +++ b/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/aggregation/project/instrumentation/JvmTestTaskInstrumentation.kt @@ -126,7 +126,7 @@ private fun buildKoverJvmAgentArgs( } private fun File.writeAgentArgs(binReportFile: File, includedClasses: Set, excludedClasses: Set) { - binReportFile.parentFile.mkdirs() + parentFile.mkdirs() val binReportPath = binReportFile.canonicalPath printWriter().use { pw -> diff --git a/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/plugin/tools/kover/KoverOnlineInstrumentation.kt b/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/plugin/tools/kover/KoverOnlineInstrumentation.kt index 4c094842..29379115 100644 --- a/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/plugin/tools/kover/KoverOnlineInstrumentation.kt +++ b/kover-gradle-plugin/src/main/kotlin/kotlinx/kover/gradle/plugin/tools/kover/KoverOnlineInstrumentation.kt @@ -20,7 +20,7 @@ internal fun buildJvmAgentArgs( } private fun File.writeAgentArgs(binReportFile: File, excludedClasses: Set, includedClasses: Set) { - binReportFile.parentFile.mkdirs() + parentFile.mkdirs() val binReportPath = binReportFile.canonicalPath printWriter().use { pw ->