[Gradle, JS] KotlinDependencyHandler extends from KotlinNpmDependencyHandler to provide these functions in interface
#KT-38683 fixed
This commit is contained in:
+1
-1
@@ -11,7 +11,7 @@ import org.gradle.api.artifacts.ExternalModuleDependency
|
||||
import org.gradle.api.artifacts.ProjectDependency
|
||||
import org.gradle.util.ConfigureUtil
|
||||
|
||||
interface KotlinDependencyHandler {
|
||||
interface KotlinDependencyHandler : KotlinNpmDependencyHandler {
|
||||
fun api(dependencyNotation: Any): Dependency?
|
||||
fun api(dependencyNotation: String, configure: ExternalModuleDependency.() -> Unit): ExternalModuleDependency
|
||||
fun <T : Dependency> api(dependency: T, configure: T.() -> Unit): T
|
||||
|
||||
+1
-3
@@ -11,7 +11,6 @@ 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.directoryNpmDependency
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.moduleName
|
||||
@@ -21,8 +20,7 @@ import java.io.File
|
||||
class DefaultKotlinDependencyHandler(
|
||||
val parent: HasKotlinDependencies,
|
||||
val project: Project
|
||||
) : KotlinDependencyHandler,
|
||||
KotlinNpmDependencyHandler {
|
||||
) : KotlinDependencyHandler {
|
||||
override fun api(dependencyNotation: Any): Dependency? =
|
||||
addDependencyByAnyNotation(parent.apiConfigurationName, dependencyNotation)
|
||||
|
||||
|
||||
+18
-18
@@ -22,6 +22,24 @@ interface NpmDependencyExtension {
|
||||
operator fun invoke(directory: File): NpmDependency
|
||||
}
|
||||
|
||||
internal fun Project.addNpmDependencyExtension() {
|
||||
val extensions = (dependencies as ExtensionAware).extensions
|
||||
|
||||
NpmDependency.Scope.values()
|
||||
.forEach { scope ->
|
||||
val extension = scope.name
|
||||
.removePrefix(NpmDependency.Scope.NORMAL.name)
|
||||
.toLowerCase()
|
||||
|
||||
extensions
|
||||
.add(
|
||||
TypeOf.typeOf<NpmDependencyExtension>(NpmDependencyExtension::class.java),
|
||||
lowerCamelCaseName(extension, "npm"),
|
||||
DefaultNpmDependencyExtension(this, scope)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private class DefaultNpmDependencyExtension(
|
||||
private val project: Project,
|
||||
private val scope: NpmDependency.Scope
|
||||
@@ -94,21 +112,3 @@ private class DefaultNpmDependencyExtension(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun Project.addNpmDependencyExtension() {
|
||||
val extensions = (dependencies as ExtensionAware).extensions
|
||||
|
||||
NpmDependency.Scope.values()
|
||||
.forEach { scope ->
|
||||
val extension = scope.name
|
||||
.removePrefix(NpmDependency.Scope.NORMAL.name)
|
||||
.toLowerCase()
|
||||
|
||||
extensions
|
||||
.add(
|
||||
TypeOf.typeOf<NpmDependencyExtension>(NpmDependencyExtension::class.java),
|
||||
lowerCamelCaseName(extension, "npm"),
|
||||
DefaultNpmDependencyExtension(this, scope)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user