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 {
jacoco
alias(libs.plugins.kotlin.kover)
alias(libs.plugins.android.application)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose)
alias(libs.plugins.jetbrains.kotlin.android)
alias(libs.plugins.kotlin.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.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
@@ -8,13 +7,14 @@ import org.sonarqube.gradle.SonarTask
plugins {
alias(libs.plugins.versions)
alias(libs.plugins.sonarqube)
alias(libs.plugins.kotlin.kover)
alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.compose) apply false
alias(libs.plugins.compose.compiler) apply false
alias(libs.plugins.kotlin.multiplatform) 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 {
@@ -22,17 +22,9 @@ sonar {
property("sonar.projectKey", "YAEP")
property("sonar.projectName", "YAEP")
val reports = subprojects
.flatMap { p ->
p.tasks.withType<JacocoReportTask>()
}
.map { t ->
"${t.outputReportDir.asFile.get()}/report.xml"
}
property(
"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>() }
.filter { it.variantName != "release" }
)
dependsOn(
subprojects
.flatMap { it.tasks.withType<JacocoReportTask>() }
.filter { it.variantName != "release" }
)
dependsOn("koverXmlReport")
}
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
plugins {
jacoco
alias(libs.plugins.kotlin.kover)
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library)
alias(libs.plugins.compose)
@@ -63,6 +63,18 @@ android {
compose = true
}
sourceSets {
getByName("test") {
resources.srcDirs("src/commonTest/resources")
}
}
buildTypes {
debug {
enableAndroidTestCoverage = true
enableUnitTestCoverage = true
}
}
}
compose.resources {

View File

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

View File

@@ -1,5 +1,5 @@
plugins {
jacoco
alias(libs.plugins.kotlin.kover)
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library)
}
@@ -11,17 +11,13 @@ kotlin {
androidTarget()
sourceSets {
commonMain {
dependencies {
implementation(libs.bundles.logging)
}
commonMain.dependencies {
implementation(libs.bundles.logging)
}
commonTest {
dependencies {
implementation(libs.kotlin.test)
implementation(libs.atrium)
}
commonTest.dependencies {
implementation(libs.kotlin.test)
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" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
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" }
kotlin-kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.2" }