[Gradle, JS] Consider GString in npm dependencies parse in root dependencies
^KT-42462 fixed
This commit is contained in:
+12
-4
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.gradle.targets.js.npm
|
package org.jetbrains.kotlin.gradle.targets.js.npm
|
||||||
|
|
||||||
import groovy.lang.Closure
|
import groovy.lang.Closure
|
||||||
|
import groovy.lang.GString
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.plugins.ExtensionAware
|
import org.gradle.api.plugins.ExtensionAware
|
||||||
import org.gradle.api.reflect.TypeOf
|
import org.gradle.api.reflect.TypeOf
|
||||||
@@ -163,12 +164,15 @@ private abstract class NpmDependencyExtensionDelegate(
|
|||||||
override fun call(vararg args: Any?): NpmDependency {
|
override fun call(vararg args: Any?): NpmDependency {
|
||||||
if (args.size > 3) npmDeclarationException(args)
|
if (args.size > 3) npmDeclarationException(args)
|
||||||
|
|
||||||
val arg = args[0]
|
return when (val arg = args[0]) {
|
||||||
return when (arg) {
|
|
||||||
is String -> withName(
|
is String -> withName(
|
||||||
name = arg,
|
name = arg,
|
||||||
args = *args
|
args = *args
|
||||||
)
|
)
|
||||||
|
is GString -> withName(
|
||||||
|
name = arg.toString(),
|
||||||
|
args = *args
|
||||||
|
)
|
||||||
else -> processNonStringFirstArgument(arg, *args)
|
else -> processNonStringFirstArgument(arg, *args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -176,10 +180,9 @@ private abstract class NpmDependencyExtensionDelegate(
|
|||||||
protected abstract fun processNonStringFirstArgument(arg: Any?, vararg args: Any?): NpmDependency
|
protected abstract fun processNonStringFirstArgument(arg: Any?, vararg args: Any?): NpmDependency
|
||||||
|
|
||||||
private fun withName(name: String, vararg args: Any?): NpmDependency {
|
private fun withName(name: String, vararg args: Any?): NpmDependency {
|
||||||
val arg1 = if (args.size > 1) args[1] else null
|
|
||||||
val generateExternals = generateExternalsIfPossible(*args)
|
val generateExternals = generateExternalsIfPossible(*args)
|
||||||
|
|
||||||
return when (arg1) {
|
return when (val arg1 = if (args.size > 1) args[1] else null) {
|
||||||
null -> invoke(
|
null -> invoke(
|
||||||
name = name
|
name = name
|
||||||
)
|
)
|
||||||
@@ -188,6 +191,11 @@ private abstract class NpmDependencyExtensionDelegate(
|
|||||||
version = arg1,
|
version = arg1,
|
||||||
generateExternals = generateExternals
|
generateExternals = generateExternals
|
||||||
)
|
)
|
||||||
|
is GString -> invoke(
|
||||||
|
name = name,
|
||||||
|
version = arg1.toString(),
|
||||||
|
generateExternals = generateExternals
|
||||||
|
)
|
||||||
else -> processNamedNonStringSecondArgument(
|
else -> processNamedNonStringSecondArgument(
|
||||||
name,
|
name,
|
||||||
arg1,
|
arg1,
|
||||||
|
|||||||
Reference in New Issue
Block a user