From b4b2efdc0869b7c04f59145d1db64c50ad773db1 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 6 May 2020 19:22:52 +0300 Subject: [PATCH] [Gradle, JS] Remove copypaste on name only npm dependency #KT-38683 fixed --- .../gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt | 8 ++++---- .../kotlin/gradle/targets/js/npm/NpmDependency.kt | 6 ++++++ .../gradle/targets/js/npm/NpmDependencyExtension.kt | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt index 9c748639c26..9107a3d9f7e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinNpmDependencyHandler import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency import org.jetbrains.kotlin.gradle.targets.js.npm.directoryNpmDependency import org.jetbrains.kotlin.gradle.targets.js.npm.moduleName +import org.jetbrains.kotlin.gradle.targets.js.npm.onlyNameNpmDependency import java.io.File class DefaultKotlinDependencyHandler( @@ -66,10 +67,6 @@ class DefaultKotlinDependencyHandler( override fun project(notation: Map): ProjectDependency = project.dependencies.project(notation) as ProjectDependency - override fun npm(name: String): Dependency { - throw IllegalArgumentException("NPM dependency '$name' doesn't have version. Please, set version explicitly.") - } - private fun addDependencyByAnyNotation( configurationName: String, dependencyNotation: Any @@ -93,6 +90,9 @@ class DefaultKotlinDependencyHandler( project.dependencies.add(configurationName, it) } + override fun npm(name: String): Dependency = + onlyNameNpmDependency(name) + override fun npm(name: String, version: String): NpmDependency = NpmDependency( project = project, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt index d76631e7d8c..82569599617 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt @@ -145,6 +145,12 @@ internal fun directoryNpmDependency( ) } +internal fun onlyNameNpmDependency( + name: String +): Nothing { + throw IllegalArgumentException("NPM dependency '$name' doesn't have version. Please, set version explicitly.") +} + internal fun String.isFileVersion() = startsWith(FILE_VERSION_PREFIX) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt index daa3c11d9b9..547c013d1bf 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependencyExtension.kt @@ -27,7 +27,7 @@ private class DefaultNpmDependencyExtension( private val scope: NpmDependency.Scope ) : NpmDependencyExtension, Closure(project.dependencies) { override fun invoke(name: String): NpmDependency = - throw IllegalArgumentException("NPM dependency '$name' doesn't have version. Please, set version explicitly.") + onlyNameNpmDependency(name) override operator fun invoke(name: String, version: String): NpmDependency = NpmDependency(