diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/AbstractDukatTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/AbstractDukatTask.kt index 0bd51482bfd..76dfea79480 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/AbstractDukatTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/AbstractDukatTask.kt @@ -24,8 +24,8 @@ abstract class AbstractDukatTask( get() = true @get:Internal - override val requiredNpmDependencies: Collection - get() = listOf(nodeJs.versions.dukat) + override val requiredNpmDependencies: Set + get() = setOf(nodeJs.versions.dukat) /** * Package name for the generated file (by default filename.d.ts renamed to filename.d.kt) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt index 89c63e16ac0..d03c0480f28 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt @@ -44,8 +44,8 @@ constructor( get() = true @get:Internal - override val requiredNpmDependencies: Collection - get() = mutableListOf().also { + override val requiredNpmDependencies: Set + get() = mutableSetOf().also { if (sourceMapStackTraces) { it.add(nodeJs.versions.sourceMapSupport) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt index 16b271a0c26..949ff97eb65 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt @@ -128,14 +128,14 @@ open class NodeJsRootExtension(val rootProject: Project) : ConfigurationPhaseAwa } class TasksRequirements { - val byTask = mutableMapOf>() - val byCompilation = mutableMapOf>() + val byTask = mutableMapOf>() + private val byCompilation = mutableMapOf>() fun getTaskRequirements(compilation: KotlinJsCompilation): Collection = byCompilation[compilation] ?: listOf() fun addTaskRequirements(task: RequiresNpmDependencies) { - val requirements = task.requiredNpmDependencies.toList() + val requirements = task.requiredNpmDependencies byTask[task] = requirements diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/RequiresNpmDependencies.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/RequiresNpmDependencies.kt index 0cf81575e23..ebcf69a9cf0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/RequiresNpmDependencies.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/RequiresNpmDependencies.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -9,7 +9,8 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency interface RequiresNpmDependencies { + val compilation: KotlinJsCompilation val nodeModulesRequired: Boolean - val requiredNpmDependencies: Collection + val requiredNpmDependencies: Set } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/KotlinJsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/KotlinJsTest.kt index 0505b9f0008..26508264102 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/KotlinJsTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/KotlinJsTest.kt @@ -69,7 +69,7 @@ constructor( override val nodeModulesRequired: Boolean @Internal get() = testFramework!!.nodeModulesRequired - override val requiredNpmDependencies: Collection + override val requiredNpmDependencies: Set @Internal get() = testFramework!!.requiredNpmDependencies @Deprecated("Use useMocha instead", ReplaceWith("useMocha()")) 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 8aec508a936..333d6c980ca 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 @@ -52,8 +52,8 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : project.projectDir.resolve("karma.config.d") } - override val requiredNpmDependencies: Collection - get() = requiredDependencies.toList() + override val requiredNpmDependencies: Set + get() = requiredDependencies override val settingsState: String get() = "KotlinKarma($config)" diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt index f84711f8b5b..bd64118cd64 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/mocha/KotlinMocha.kt @@ -30,8 +30,8 @@ class KotlinMocha(override val compilation: KotlinJsCompilation) : override val settingsState: String get() = "mocha" - override val requiredNpmDependencies: Collection - get() = listOf( + override val requiredNpmDependencies: Set + get() = setOf( versions.kotlinJsTestRunner, versions.mocha, versions.sourceMapSupport diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt index 36066a75a73..5a9791f598d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt @@ -198,7 +198,7 @@ constructor( override val nodeModulesRequired: Boolean @Internal get() = true - override val requiredNpmDependencies: Collection + override val requiredNpmDependencies: Set @Internal get() = createRunner().config.getRequiredDependencies(versions) @TaskAction diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt index 58ccf469b0f..2b19633f756 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt @@ -40,7 +40,7 @@ data class KotlinWebpackConfig( val resolveFromModulesFirst: Boolean = false ) { fun getRequiredDependencies(versions: NpmVersions) = - mutableListOf().also { + mutableSetOf().also { it.add(versions.kotlinJsTestRunner) it.add(versions.webpack) it.add(versions.webpackCli)