[Gradle, JS] Remove copypaste on directoryNpmDependency
#KT-38683 fixed
This commit is contained in:
-28
@@ -10,7 +10,6 @@ import org.gradle.api.artifacts.Dependency
|
||||
import org.gradle.api.artifacts.ExternalModuleDependency
|
||||
import org.gradle.api.artifacts.ProjectDependency
|
||||
import org.gradle.util.ConfigureUtil
|
||||
import java.io.File
|
||||
|
||||
interface KotlinDependencyHandler {
|
||||
fun api(dependencyNotation: Any): Dependency?
|
||||
@@ -53,33 +52,6 @@ interface KotlinDependencyHandler {
|
||||
project(listOf("path", "configuration").zip(listOfNotNull(path, configuration)).toMap())
|
||||
|
||||
fun project(notation: Map<String, Any?>): ProjectDependency
|
||||
|
||||
fun npm(name: String): Dependency
|
||||
|
||||
fun npm(name: String, version: String): Dependency
|
||||
|
||||
fun npm(name: String, directory: File): Dependency
|
||||
|
||||
fun npm(directory: File): Dependency
|
||||
|
||||
@Deprecated(
|
||||
message = "Use npm(name, version) instead. Name like in package.json"
|
||||
)
|
||||
fun npm(org: String? = null, packageName: String, version: String = "*"): Dependency
|
||||
|
||||
fun devNpm(name: String, version: String): Dependency
|
||||
|
||||
fun devNpm(name: String, directory: File): Dependency
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
interface HasKotlinDependencies {
|
||||
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin
|
||||
|
||||
import org.gradle.api.artifacts.Dependency
|
||||
import java.io.File
|
||||
|
||||
interface KotlinNpmDependencyHandler {
|
||||
fun npm(name: String): Dependency
|
||||
|
||||
fun npm(name: String, version: String): Dependency
|
||||
|
||||
fun npm(name: String, directory: File): Dependency
|
||||
|
||||
fun npm(directory: File): Dependency
|
||||
|
||||
@Deprecated(
|
||||
message = "Use npm(name, version) instead. Name like in package.json"
|
||||
)
|
||||
fun npm(org: String? = null, packageName: String, version: String = "*"): Dependency
|
||||
|
||||
fun devNpm(name: String, version: String): Dependency
|
||||
|
||||
fun devNpm(name: String, directory: File): Dependency
|
||||
|
||||
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
|
||||
}
|
||||
+25
-16
@@ -11,15 +11,17 @@ import org.gradle.api.artifacts.ExternalModuleDependency
|
||||
import org.gradle.api.artifacts.ProjectDependency
|
||||
import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinNpmDependencyHandler
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.fileVersion
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.directoryNpmDependency
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.moduleName
|
||||
import java.io.File
|
||||
|
||||
class DefaultKotlinDependencyHandler(
|
||||
val parent: HasKotlinDependencies,
|
||||
val project: Project
|
||||
) : KotlinDependencyHandler {
|
||||
) : KotlinDependencyHandler,
|
||||
KotlinNpmDependencyHandler {
|
||||
override fun api(dependencyNotation: Any): Dependency? =
|
||||
addDependencyByAnyNotation(parent.apiConfigurationName, dependencyNotation)
|
||||
|
||||
@@ -99,7 +101,11 @@ class DefaultKotlinDependencyHandler(
|
||||
)
|
||||
|
||||
override fun npm(name: String, directory: File): NpmDependency =
|
||||
directoryNpmDependency(name, directory, NpmDependency.Scope.NORMAL)
|
||||
directoryNpmDependency(
|
||||
name,
|
||||
directory,
|
||||
NpmDependency.Scope.NORMAL
|
||||
)
|
||||
|
||||
override fun npm(directory: File): NpmDependency =
|
||||
npm(
|
||||
@@ -119,7 +125,11 @@ class DefaultKotlinDependencyHandler(
|
||||
)
|
||||
|
||||
override fun devNpm(name: String, directory: File): NpmDependency =
|
||||
directoryNpmDependency(name, directory, NpmDependency.Scope.DEV)
|
||||
directoryNpmDependency(
|
||||
name,
|
||||
directory,
|
||||
NpmDependency.Scope.DEV
|
||||
)
|
||||
|
||||
override fun devNpm(directory: File): NpmDependency =
|
||||
devNpm(
|
||||
@@ -136,7 +146,11 @@ class DefaultKotlinDependencyHandler(
|
||||
)
|
||||
|
||||
override fun optionalNpm(name: String, directory: File): NpmDependency =
|
||||
directoryNpmDependency(name, directory, NpmDependency.Scope.OPTIONAL)
|
||||
directoryNpmDependency(
|
||||
name,
|
||||
directory,
|
||||
NpmDependency.Scope.OPTIONAL
|
||||
)
|
||||
|
||||
override fun optionalNpm(directory: File): NpmDependency =
|
||||
optionalNpm(
|
||||
@@ -156,16 +170,11 @@ class DefaultKotlinDependencyHandler(
|
||||
name: String,
|
||||
directory: File,
|
||||
scope: NpmDependency.Scope
|
||||
): NpmDependency {
|
||||
check(directory.isDirectory) {
|
||||
"Dependency on local path should point on directory but $directory found"
|
||||
}
|
||||
|
||||
return NpmDependency(
|
||||
project = project,
|
||||
name = name,
|
||||
version = fileVersion(directory),
|
||||
scope = scope
|
||||
): NpmDependency =
|
||||
directoryNpmDependency(
|
||||
project,
|
||||
name,
|
||||
directory,
|
||||
scope
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+18
@@ -127,6 +127,24 @@ data class NpmDependency(
|
||||
override fun getReason(): String? = reason
|
||||
}
|
||||
|
||||
internal fun directoryNpmDependency(
|
||||
project: Project,
|
||||
name: String,
|
||||
directory: File,
|
||||
scope: NpmDependency.Scope
|
||||
): NpmDependency {
|
||||
check(directory.isDirectory) {
|
||||
"Dependency on local path should point on directory but $directory found"
|
||||
}
|
||||
|
||||
return NpmDependency(
|
||||
project = project,
|
||||
name = name,
|
||||
version = fileVersion(directory),
|
||||
scope = scope
|
||||
)
|
||||
}
|
||||
|
||||
internal fun String.isFileVersion() =
|
||||
startsWith(FILE_VERSION_PREFIX)
|
||||
|
||||
|
||||
+5
-7
@@ -37,15 +37,13 @@ private class DefaultNpmDependencyExtension(
|
||||
scope = scope
|
||||
)
|
||||
|
||||
override operator fun invoke(name: String, directory: File): NpmDependency {
|
||||
check(directory.isDirectory) {
|
||||
"Dependency '$name' on local path should point on directory but '$directory' found"
|
||||
}
|
||||
return invoke(
|
||||
override operator fun invoke(name: String, directory: File): NpmDependency =
|
||||
directoryNpmDependency(
|
||||
project = project,
|
||||
name = name,
|
||||
version = fileVersion(directory)
|
||||
directory = directory,
|
||||
scope = scope
|
||||
)
|
||||
}
|
||||
|
||||
override operator fun invoke(directory: File): NpmDependency =
|
||||
invoke(
|
||||
|
||||
Reference in New Issue
Block a user