|
@@ -70,28 +70,43 @@ fun Project.configureKotlinTestSettings() {
|
|
|
tasks.withType(Test::class) {
|
|
tasks.withType(Test::class) {
|
|
|
useJUnitPlatform()
|
|
useJUnitPlatform()
|
|
|
}
|
|
}
|
|
|
|
|
+ val b = "Auto-set for project '${project.path}'. (configureKotlinTestSettings)"
|
|
|
when {
|
|
when {
|
|
|
isKotlinJvmProject -> {
|
|
isKotlinJvmProject -> {
|
|
|
dependencies {
|
|
dependencies {
|
|
|
- "testImplementation"(kotlin("test-junit5"))
|
|
|
|
|
|
|
+ "testImplementation"(kotlin("test-junit5"))?.because(b)
|
|
|
|
|
|
|
|
- "testApi"("org.junit.jupiter:junit-jupiter-api:${Versions.junit}")
|
|
|
|
|
- "testRuntimeOnly"("org.junit.jupiter:junit-jupiter-engine:${Versions.junit}")
|
|
|
|
|
|
|
+ "testApi"("org.junit.jupiter:junit-jupiter-api:${Versions.junit}")?.because(b)
|
|
|
|
|
+ "testRuntimeOnly"("org.junit.jupiter:junit-jupiter-engine:${Versions.junit}")?.because(b)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
isKotlinMpp -> {
|
|
isKotlinMpp -> {
|
|
|
kotlinSourceSets?.forEach { sourceSet ->
|
|
kotlinSourceSets?.forEach { sourceSet ->
|
|
|
- if (sourceSet.name == "common") {
|
|
|
|
|
|
|
+ fun configureJvmTest(sourceSet: KotlinSourceSet) {
|
|
|
sourceSet.dependencies {
|
|
sourceSet.dependencies {
|
|
|
- implementation(kotlin("test"))
|
|
|
|
|
- implementation(kotlin("test-annotations-common"))
|
|
|
|
|
|
|
+ implementation(kotlin("test-junit5"))?.because(b)
|
|
|
|
|
+
|
|
|
|
|
+ implementation("org.junit.jupiter:junit-jupiter-api:${Versions.junit}")?.because(b)
|
|
|
|
|
+ runtimeOnly("org.junit.jupiter:junit-jupiter-engine:${Versions.junit}")?.because(b)
|
|
|
}
|
|
}
|
|
|
- } else {
|
|
|
|
|
- sourceSet.dependencies {
|
|
|
|
|
- implementation(kotlin("test-junit5"))
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- implementation("org.junit.jupiter:junit-jupiter-api:${Versions.junit}")
|
|
|
|
|
- implementation("org.junit.jupiter:junit-jupiter-engine:${Versions.junit}")
|
|
|
|
|
|
|
+ val target = kotlinTargets.orEmpty()
|
|
|
|
|
+ .find { it.name == sourceSet.name.substringBeforeLast("Main").substringBeforeLast("Test") }
|
|
|
|
|
+
|
|
|
|
|
+ when {
|
|
|
|
|
+ sourceSet.name == "commonTest" -> {
|
|
|
|
|
+ if (target?.platformType == KotlinPlatformType.jvm || target?.platformType == KotlinPlatformType.androidJvm) {
|
|
|
|
|
+ configureJvmTest(sourceSet)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sourceSet.dependencies {
|
|
|
|
|
+ implementation(kotlin("test"))?.because(b)
|
|
|
|
|
+ implementation(kotlin("test-annotations-common"))?.because(b)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ sourceSet.name.contains("test", ignoreCase = true) -> {
|
|
|
|
|
+ configureJvmTest(sourceSet)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|