From abf942b9280c23a977834ae2b725e056414f6351 Mon Sep 17 00:00:00 2001 From: subroh0508 Date: Wed, 6 May 2020 23:31:17 +0900 Subject: [PATCH] [Gradle, JS]Add optionalNpm methods --- .../gradle/plugin/HasKotlinDependencies.kt | 6 ++++++ .../mpp/DefaultKotlinDependencyHandler.kt | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt index ca41887d553..104a6e6026a 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt @@ -71,6 +71,12 @@ interface KotlinDependencyHandler { fun devNpm(directory: File): Dependency + fun optionalNpm(name: String, version: String = "*"): Dependency + + fun optionalNpm(name: String, directory: File): Dependency + + fun optionalNpm(directory: File): Dependency + fun peerNpm(name: String, version: String = "*"): Dependency } 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 e4ee69f6110..e60a39e9056 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 @@ -118,6 +118,23 @@ class DefaultKotlinDependencyHandler( directory = directory ) + override fun optionalNpm(name: String, version: String): NpmDependency = + NpmDependency( + project = project, + name = name, + version = version, + scope = NpmDependency.Scope.OPTIONAL + ) + + override fun optionalNpm(name: String, directory: File): NpmDependency = + directoryNpmDependency(name, directory, NpmDependency.Scope.OPTIONAL) + + override fun optionalNpm(directory: File): NpmDependency = + optionalNpm( + name = moduleName(directory), + directory = directory + ) + override fun peerNpm(name: String, version: String): NpmDependency = NpmDependency( project = project,