[Gradle, JS] Use set in task requirements

This commit is contained in:
Ilya Goncharov
2020-06-10 16:04:36 +03:00
parent 464c8eb77a
commit e51874d46a
9 changed files with 17 additions and 16 deletions
@@ -24,8 +24,8 @@ abstract class AbstractDukatTask(
get() = true get() = true
@get:Internal @get:Internal
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency> override val requiredNpmDependencies: Set<RequiredKotlinJsDependency>
get() = listOf(nodeJs.versions.dukat) get() = setOf(nodeJs.versions.dukat)
/** /**
* Package name for the generated file (by default filename.d.ts renamed to filename.d.kt) * Package name for the generated file (by default filename.d.ts renamed to filename.d.kt)
@@ -44,8 +44,8 @@ constructor(
get() = true get() = true
@get:Internal @get:Internal
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency> override val requiredNpmDependencies: Set<RequiredKotlinJsDependency>
get() = mutableListOf<RequiredKotlinJsDependency>().also { get() = mutableSetOf<RequiredKotlinJsDependency>().also {
if (sourceMapStackTraces) { if (sourceMapStackTraces) {
it.add(nodeJs.versions.sourceMapSupport) it.add(nodeJs.versions.sourceMapSupport)
} }
@@ -128,14 +128,14 @@ open class NodeJsRootExtension(val rootProject: Project) : ConfigurationPhaseAwa
} }
class TasksRequirements { class TasksRequirements {
val byTask = mutableMapOf<RequiresNpmDependencies, Collection<RequiredKotlinJsDependency>>() val byTask = mutableMapOf<RequiresNpmDependencies, Set<RequiredKotlinJsDependency>>()
val byCompilation = mutableMapOf<KotlinJsCompilation, MutableList<RequiresNpmDependencies>>() private val byCompilation = mutableMapOf<KotlinJsCompilation, MutableList<RequiresNpmDependencies>>()
fun getTaskRequirements(compilation: KotlinJsCompilation): Collection<RequiresNpmDependencies> = fun getTaskRequirements(compilation: KotlinJsCompilation): Collection<RequiresNpmDependencies> =
byCompilation[compilation] ?: listOf() byCompilation[compilation] ?: listOf()
fun addTaskRequirements(task: RequiresNpmDependencies) { fun addTaskRequirements(task: RequiresNpmDependencies) {
val requirements = task.requiredNpmDependencies.toList() val requirements = task.requiredNpmDependencies
byTask[task] = requirements byTask[task] = requirements
@@ -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. * 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 import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency
interface RequiresNpmDependencies { interface RequiresNpmDependencies {
val compilation: KotlinJsCompilation val compilation: KotlinJsCompilation
val nodeModulesRequired: Boolean val nodeModulesRequired: Boolean
val requiredNpmDependencies: Collection<RequiredKotlinJsDependency> val requiredNpmDependencies: Set<RequiredKotlinJsDependency>
} }
@@ -69,7 +69,7 @@ constructor(
override val nodeModulesRequired: Boolean override val nodeModulesRequired: Boolean
@Internal get() = testFramework!!.nodeModulesRequired @Internal get() = testFramework!!.nodeModulesRequired
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency> override val requiredNpmDependencies: Set<RequiredKotlinJsDependency>
@Internal get() = testFramework!!.requiredNpmDependencies @Internal get() = testFramework!!.requiredNpmDependencies
@Deprecated("Use useMocha instead", ReplaceWith("useMocha()")) @Deprecated("Use useMocha instead", ReplaceWith("useMocha()"))
@@ -52,8 +52,8 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) :
project.projectDir.resolve("karma.config.d") project.projectDir.resolve("karma.config.d")
} }
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency> override val requiredNpmDependencies: Set<RequiredKotlinJsDependency>
get() = requiredDependencies.toList() get() = requiredDependencies
override val settingsState: String override val settingsState: String
get() = "KotlinKarma($config)" get() = "KotlinKarma($config)"
@@ -30,8 +30,8 @@ class KotlinMocha(override val compilation: KotlinJsCompilation) :
override val settingsState: String override val settingsState: String
get() = "mocha" get() = "mocha"
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency> override val requiredNpmDependencies: Set<RequiredKotlinJsDependency>
get() = listOf( get() = setOf(
versions.kotlinJsTestRunner, versions.kotlinJsTestRunner,
versions.mocha, versions.mocha,
versions.sourceMapSupport versions.sourceMapSupport
@@ -198,7 +198,7 @@ constructor(
override val nodeModulesRequired: Boolean override val nodeModulesRequired: Boolean
@Internal get() = true @Internal get() = true
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency> override val requiredNpmDependencies: Set<RequiredKotlinJsDependency>
@Internal get() = createRunner().config.getRequiredDependencies(versions) @Internal get() = createRunner().config.getRequiredDependencies(versions)
@TaskAction @TaskAction
@@ -40,7 +40,7 @@ data class KotlinWebpackConfig(
val resolveFromModulesFirst: Boolean = false val resolveFromModulesFirst: Boolean = false
) { ) {
fun getRequiredDependencies(versions: NpmVersions) = fun getRequiredDependencies(versions: NpmVersions) =
mutableListOf<RequiredKotlinJsDependency>().also { mutableSetOf<RequiredKotlinJsDependency>().also {
it.add(versions.kotlinJsTestRunner) it.add(versions.kotlinJsTestRunner)
it.add(versions.webpack) it.add(versions.webpack)
it.add(versions.webpackCli) it.add(versions.webpackCli)