[Gradle, JS] Use unique representation for npm dependency

This commit is contained in:
Ilya Goncharov
2020-06-09 18:52:10 +03:00
parent 92c224b616
commit aab4fd7225
2 changed files with 7 additions and 2 deletions
@@ -87,7 +87,7 @@ data class NpmDependency(
val key: String = name
override fun toString() = "$scope $key: $version, $generateExternals"
override fun toString() = "$key: $version"
override fun getFiles(): FileCollection = project.files(resolve(true))
@@ -110,6 +110,9 @@ data class NpmDependency(
}
override fun getReason(): String? = reason
fun uniqueRepresentation() =
"$scope $key:$version, $generateExternals"
}
internal fun directoryNpmDependency(
@@ -11,6 +11,7 @@ import org.gradle.api.tasks.*
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.KotlinCompilationNpmResolver
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.PACKAGE_JSON_UMBRELLA_TASK_NAME
@@ -40,7 +41,8 @@ open class KotlinPackageJsonTask : DefaultTask() {
.getTaskRequirements(compilation)
.flatMap { it.requiredNpmDependencies }
.map { it.createDependency(project) }
.map { it.toString() }
.filterIsInstance<NpmDependency>()
.map { it.uniqueRepresentation() }
@get:Nested
internal val producerInputs: KotlinCompilationNpmResolver.PackageJsonProducerInputs