[Gradle, JS] KT-37587 Dynamic resolve of karma.config.d

This commit is contained in:
Ilya Goncharov
2020-03-24 16:10:06 +03:00
parent adf3351a8b
commit eabd8cfb5f
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.gradle.targets.js.testing.*
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
import org.jetbrains.kotlin.gradle.tasks.KotlinTest import org.jetbrains.kotlin.gradle.tasks.KotlinTest
import org.jetbrains.kotlin.gradle.testing.internal.reportsDir import org.jetbrains.kotlin.gradle.testing.internal.reportsDir
import org.jetbrains.kotlin.gradle.utils.property
import org.slf4j.Logger import org.slf4j.Logger
import java.io.File import java.io.File
@@ -43,7 +44,9 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) :
private val envJsCollector = mutableMapOf<String, String>() private val envJsCollector = mutableMapOf<String, String>()
private val confJsWriters = mutableListOf<(Appendable) -> Unit>() private val confJsWriters = mutableListOf<(Appendable) -> Unit>()
private var sourceMaps = false private var sourceMaps = false
private var configDirectory: File? = project.projectDir.resolve("karma.config.d").takeIf { it.isDirectory } private var configDirectory: File by property {
project.projectDir.resolve("karma.config.d")
}
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency> override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency>
get() = requiredDependencies.toList() get() = requiredDependencies.toList()
@@ -440,10 +443,8 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) :
} }
private fun Appendable.appendFromConfigDir() { private fun Appendable.appendFromConfigDir() {
val configDirectory = configDirectory ?: return if (!configDirectory.isDirectory) {
return
check(configDirectory.isDirectory) {
"\"$configDirectory\" is not a directory"
} }
appendln() appendln()