Switch to kover for code coverage
Some checks failed
SonarQube Scan / SonarQube Trigger (push) Failing after 4m16s

This commit is contained in:
2025-10-14 22:18:11 +02:00
parent 90818d0bf1
commit cc33616663
6 changed files with 35 additions and 31 deletions

View File

@@ -1,9 +1,9 @@
plugins { plugins {
jacoco alias(libs.plugins.kotlin.kover)
alias(libs.plugins.android.application) alias(libs.plugins.android.application)
alias(libs.plugins.compose.compiler) alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose) alias(libs.plugins.compose)
alias(libs.plugins.jetbrains.kotlin.android) alias(libs.plugins.kotlin.android)
} }
android { android {

View File

@@ -1,4 +1,3 @@
import com.android.build.gradle.internal.coverage.JacocoReportTask
import com.android.build.gradle.internal.lint.AndroidLintTask import com.android.build.gradle.internal.lint.AndroidLintTask
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.dsl.JvmTarget
@@ -8,13 +7,14 @@ import org.sonarqube.gradle.SonarTask
plugins { plugins {
alias(libs.plugins.versions) alias(libs.plugins.versions)
alias(libs.plugins.sonarqube) alias(libs.plugins.sonarqube)
alias(libs.plugins.kotlin.kover)
alias(libs.plugins.android.application) apply false alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false alias(libs.plugins.android.library) apply false
alias(libs.plugins.compose) apply false alias(libs.plugins.compose) apply false
alias(libs.plugins.compose.compiler) apply false alias(libs.plugins.compose.compiler) apply false
alias(libs.plugins.kotlin.multiplatform) apply false alias(libs.plugins.kotlin.multiplatform) apply false
alias(libs.plugins.kotlin.jvm) apply false alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.jetbrains.kotlin.android) apply false alias(libs.plugins.kotlin.android) apply false
} }
sonar { sonar {
@@ -22,17 +22,9 @@ sonar {
property("sonar.projectKey", "YAEP") property("sonar.projectKey", "YAEP")
property("sonar.projectName", "YAEP") property("sonar.projectName", "YAEP")
val reports = subprojects
.flatMap { p ->
p.tasks.withType<JacocoReportTask>()
}
.map { t ->
"${t.outputReportDir.asFile.get()}/report.xml"
}
property( property(
"sonar.coverage.jacoco.xmlReportPaths", "sonar.coverage.jacoco.xmlReportPaths",
reports "${layout.buildDirectory.asFile.get()}/reports/kover/report.xml"
) )
} }
} }
@@ -43,11 +35,7 @@ tasks.withType<SonarTask>().configureEach {
.flatMap { it.tasks.withType<AndroidLintTask>() } .flatMap { it.tasks.withType<AndroidLintTask>() }
.filter { it.variantName != "release" } .filter { it.variantName != "release" }
) )
dependsOn( dependsOn("koverXmlReport")
subprojects
.flatMap { it.tasks.withType<JacocoReportTask>() }
.filter { it.variantName != "release" }
)
} }
tasks.withType<KotlinJvmCompile>().configureEach { tasks.withType<KotlinJvmCompile>().configureEach {
@@ -76,3 +64,10 @@ subprojects {
} }
} }
} }
dependencies {
kover(projects.domain)
kover(projects.commonUI)
kover(projects.desktop)
kover(projects.android)
}

View File

@@ -2,7 +2,7 @@ import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree
plugins { plugins {
jacoco alias(libs.plugins.kotlin.kover)
alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library) alias(libs.plugins.android.library)
alias(libs.plugins.compose) alias(libs.plugins.compose)
@@ -63,6 +63,18 @@ android {
compose = true compose = true
} }
sourceSets {
getByName("test") {
resources.srcDirs("src/commonTest/resources")
}
}
buildTypes {
debug {
enableAndroidTestCoverage = true
enableUnitTestCoverage = true
}
}
} }
compose.resources { compose.resources {

View File

@@ -1,7 +1,7 @@
import org.jetbrains.compose.desktop.application.dsl.TargetFormat import org.jetbrains.compose.desktop.application.dsl.TargetFormat
plugins { plugins {
jacoco alias(libs.plugins.kotlin.kover)
alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.compose.compiler) alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose) alias(libs.plugins.compose)

View File

@@ -1,5 +1,5 @@
plugins { plugins {
jacoco alias(libs.plugins.kotlin.kover)
alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library) alias(libs.plugins.android.library)
} }
@@ -11,17 +11,13 @@ kotlin {
androidTarget() androidTarget()
sourceSets { sourceSets {
commonMain { commonMain.dependencies {
dependencies { implementation(libs.bundles.logging)
implementation(libs.bundles.logging)
}
} }
commonTest { commonTest.dependencies {
dependencies { implementation(libs.kotlin.test)
implementation(libs.kotlin.test) implementation(libs.atrium)
implementation(libs.atrium)
}
} }
} }
} }

View File

@@ -40,5 +40,6 @@ kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
compose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" } compose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
sonarqube = { id = "org.sonarqube", version = "6.3.1.5724" } sonarqube = { id = "org.sonarqube", version = "6.3.1.5724" }
kotlin-kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.2" }