From 18f2ba889e3684f3fabe5cdf8db058e978488818 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Thu, 5 Sep 2019 19:28:16 +0300 Subject: [PATCH] Make envJsCollector as map --- .../targets/js/testing/karma/KotlinKarma.kt | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt index a8b16dd5fa8..7d265969667 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt @@ -39,7 +39,7 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF private val requiredDependencies = mutableSetOf() private val configurators = mutableListOf<(KotlinJsTest) -> Unit>() - private val envJsWriters = mutableListOf<(Appendable) -> Unit>() + private val envJsCollector = mutableMapOf() private val confJsWriters = mutableListOf<(Appendable) -> Unit>() private var sourceMaps = false private var configDirectory: File? = project.projectDir.resolve("karma.config.d").takeIf { it.isDirectory } @@ -119,16 +119,8 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF private fun usePuppeteer(envVar: String) { requiredDependencies.add(versions.puppeteer) - envJsWriters.add { - it.appendln() - //language=JavaScript 1.8 - it.appendln( - """ - // puppeteer - process.env.$envVar = require('puppeteer').executablePath() - """.trimIndent() - ) - } + //language=JavaScript 1.8 + envJsCollector[envVar] = "require('puppeteer').executablePath()" } private fun useMocha() { @@ -259,7 +251,12 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF val karmaConfJs = npmProject.dir.resolve("karma.conf.js") karmaConfJs.printWriter().use { confWriter -> - envJsWriters.forEach { it(confWriter) } + confWriter.println("// environment variables") + envJsCollector.forEach { (envVar, value) -> + //language=JavaScript 1.8 + confWriter.println("process.env.$envVar = $value") + } + confWriter.println() confWriter.println("module.exports = function(config) {") confWriter.println()