[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.ExternalModuleDependency
|
||||||
import org.gradle.api.artifacts.ProjectDependency
|
import org.gradle.api.artifacts.ProjectDependency
|
||||||
import org.gradle.util.ConfigureUtil
|
import org.gradle.util.ConfigureUtil
|
||||||
import java.io.File
|
|
||||||
|
|
||||||
interface KotlinDependencyHandler {
|
interface KotlinDependencyHandler {
|
||||||
fun api(dependencyNotation: Any): Dependency?
|
fun api(dependencyNotation: Any): Dependency?
|
||||||
@@ -53,33 +52,6 @@ interface KotlinDependencyHandler {
|
|||||||
project(listOf("path", "configuration").zip(listOfNotNull(path, configuration)).toMap())
|
project(listOf("path", "configuration").zip(listOfNotNull(path, configuration)).toMap())
|
||||||
|
|
||||||
fun project(notation: Map<String, Any?>): ProjectDependency
|
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 {
|
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.gradle.api.artifacts.ProjectDependency
|
||||||
import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies
|
import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
|
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.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 org.jetbrains.kotlin.gradle.targets.js.npm.moduleName
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class DefaultKotlinDependencyHandler(
|
class DefaultKotlinDependencyHandler(
|
||||||
val parent: HasKotlinDependencies,
|
val parent: HasKotlinDependencies,
|
||||||
val project: Project
|
val project: Project
|
||||||
) : KotlinDependencyHandler {
|
) : KotlinDependencyHandler,
|
||||||
|
KotlinNpmDependencyHandler {
|
||||||
override fun api(dependencyNotation: Any): Dependency? =
|
override fun api(dependencyNotation: Any): Dependency? =
|
||||||
addDependencyByAnyNotation(parent.apiConfigurationName, dependencyNotation)
|
addDependencyByAnyNotation(parent.apiConfigurationName, dependencyNotation)
|
||||||
|
|
||||||
@@ -99,7 +101,11 @@ class DefaultKotlinDependencyHandler(
|
|||||||
)
|
)
|
||||||
|
|
||||||
override fun npm(name: String, directory: File): NpmDependency =
|
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 =
|
override fun npm(directory: File): NpmDependency =
|
||||||
npm(
|
npm(
|
||||||
@@ -119,7 +125,11 @@ class DefaultKotlinDependencyHandler(
|
|||||||
)
|
)
|
||||||
|
|
||||||
override fun devNpm(name: String, directory: File): NpmDependency =
|
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 =
|
override fun devNpm(directory: File): NpmDependency =
|
||||||
devNpm(
|
devNpm(
|
||||||
@@ -136,7 +146,11 @@ class DefaultKotlinDependencyHandler(
|
|||||||
)
|
)
|
||||||
|
|
||||||
override fun optionalNpm(name: String, directory: File): NpmDependency =
|
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 =
|
override fun optionalNpm(directory: File): NpmDependency =
|
||||||
optionalNpm(
|
optionalNpm(
|
||||||
@@ -156,16 +170,11 @@ class DefaultKotlinDependencyHandler(
|
|||||||
name: String,
|
name: String,
|
||||||
directory: File,
|
directory: File,
|
||||||
scope: NpmDependency.Scope
|
scope: NpmDependency.Scope
|
||||||
): NpmDependency {
|
): NpmDependency =
|
||||||
check(directory.isDirectory) {
|
directoryNpmDependency(
|
||||||
"Dependency on local path should point on directory but $directory found"
|
project,
|
||||||
}
|
name,
|
||||||
|
directory,
|
||||||
return NpmDependency(
|
scope
|
||||||
project = project,
|
|
||||||
name = name,
|
|
||||||
version = fileVersion(directory),
|
|
||||||
scope = scope
|
|
||||||
)
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+18
@@ -127,6 +127,24 @@ data class NpmDependency(
|
|||||||
override fun getReason(): String? = reason
|
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() =
|
internal fun String.isFileVersion() =
|
||||||
startsWith(FILE_VERSION_PREFIX)
|
startsWith(FILE_VERSION_PREFIX)
|
||||||
|
|
||||||
|
|||||||
+5
-7
@@ -37,15 +37,13 @@ private class DefaultNpmDependencyExtension(
|
|||||||
scope = scope
|
scope = scope
|
||||||
)
|
)
|
||||||
|
|
||||||
override operator fun invoke(name: String, directory: File): NpmDependency {
|
override operator fun invoke(name: String, directory: File): NpmDependency =
|
||||||
check(directory.isDirectory) {
|
directoryNpmDependency(
|
||||||
"Dependency '$name' on local path should point on directory but '$directory' found"
|
project = project,
|
||||||
}
|
|
||||||
return invoke(
|
|
||||||
name = name,
|
name = name,
|
||||||
version = fileVersion(directory)
|
directory = directory,
|
||||||
|
scope = scope
|
||||||
)
|
)
|
||||||
}
|
|
||||||
|
|
||||||
override operator fun invoke(directory: File): NpmDependency =
|
override operator fun invoke(directory: File): NpmDependency =
|
||||||
invoke(
|
invoke(
|
||||||
|
|||||||
Reference in New Issue
Block a user