81 lines
1.9 KiB
Kotlin
81 lines
1.9 KiB
Kotlin
plugins {
|
|
jacoco
|
|
`jvm-test-suite`
|
|
alias(libs.plugins.kotlin.multiplatform)
|
|
alias(libs.plugins.android.library)
|
|
}
|
|
|
|
kotlin {
|
|
jvmToolchain(libs.versions.jdk.get().toInt())
|
|
|
|
jvm()
|
|
androidTarget()
|
|
|
|
sourceSets {
|
|
commonMain {
|
|
dependencies {
|
|
implementation(libs.bundles.logging)
|
|
}
|
|
}
|
|
|
|
commonTest {
|
|
dependencies {
|
|
implementation(libs.kotlin.test)
|
|
implementation(libs.atrium)
|
|
}
|
|
}
|
|
|
|
jvmTest {
|
|
tasks.register(name = "jacocoTestReport", type = JacocoReport::class) {
|
|
group = "verification"
|
|
description = "Generate Jacoco coverage report"
|
|
|
|
dependsOn(tasks.withType(Test::class))
|
|
|
|
val coverageSourceDirs = arrayOf(
|
|
"src/commonMain"
|
|
)
|
|
|
|
val buildDirectory = layout.buildDirectory
|
|
|
|
val classFiles = buildDirectory.dir("classes/kotlin/jvm").get().asFile
|
|
.walkBottomUp()
|
|
.toSet()
|
|
|
|
classDirectories.setFrom(classFiles)
|
|
sourceDirectories.setFrom(files(coverageSourceDirs))
|
|
|
|
buildDirectory.files("jacoco/jvmTest.exec").let {
|
|
executionData.setFrom(it)
|
|
}
|
|
|
|
reports {
|
|
xml.required = true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
android {
|
|
compileSdk = libs.versions.android.compileSdk.get().toInt()
|
|
namespace = "ch.dissem.yaep.domain"
|
|
|
|
defaultConfig {
|
|
minSdk = libs.versions.android.minSdk.get().toInt()
|
|
}
|
|
|
|
sourceSets {
|
|
getByName("test") {
|
|
resources.srcDirs("src/commonTest/resources")
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
enableAndroidTestCoverage = true
|
|
enableUnitTestCoverage = true
|
|
}
|
|
}
|
|
}
|