[Gradle, JS] In case when default generate kotlin externals will be changed, nothing will be broken
KT-38331
This commit is contained in:
+10
-8
@@ -82,12 +82,12 @@ internal fun Project.addNpmDependencyExtension() {
|
|||||||
DEV -> DefaultNpmDependencyExtension(
|
DEV -> DefaultNpmDependencyExtension(
|
||||||
this,
|
this,
|
||||||
scope,
|
scope,
|
||||||
false
|
null
|
||||||
)
|
)
|
||||||
PEER -> NpmDependencyWithoutDirectoryExtension(
|
PEER -> NpmDependencyWithoutDirectoryExtension(
|
||||||
this,
|
this,
|
||||||
scope,
|
scope,
|
||||||
false
|
null
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,11 +103,14 @@ internal fun Project.addNpmDependencyExtension() {
|
|||||||
private abstract class AbstractNpmDependencyExtension(
|
private abstract class AbstractNpmDependencyExtension(
|
||||||
protected val project: Project,
|
protected val project: Project,
|
||||||
protected val scope: NpmDependency.Scope,
|
protected val scope: NpmDependency.Scope,
|
||||||
protected val defaultGenerateKotlinExternals: Boolean
|
protected val _defaultGenerateKotlinExternals: Boolean?
|
||||||
) : NpmDependencyExtension,
|
) : NpmDependencyExtension,
|
||||||
DevNpmDependencyExtension,
|
DevNpmDependencyExtension,
|
||||||
PeerNpmDependencyExtension,
|
PeerNpmDependencyExtension,
|
||||||
Closure<NpmDependency>(project.dependencies) {
|
Closure<NpmDependency>(project.dependencies) {
|
||||||
|
private val defaultGenerateKotlinExternals: Boolean
|
||||||
|
get() = _defaultGenerateKotlinExternals ?: false
|
||||||
|
|
||||||
override fun invoke(name: String): NpmDependency =
|
override fun invoke(name: String): NpmDependency =
|
||||||
onlyNameNpmDependency(name)
|
onlyNameNpmDependency(name)
|
||||||
|
|
||||||
@@ -215,19 +218,18 @@ private abstract class AbstractNpmDependencyExtension(
|
|||||||
protected fun generateKotlinExternalsIfPossible(vararg args: Any?): Boolean {
|
protected fun generateKotlinExternalsIfPossible(vararg args: Any?): Boolean {
|
||||||
val arg2 = (if (args.size > 2) args[2] else null) as? Boolean
|
val arg2 = (if (args.size > 2) args[2] else null) as? Boolean
|
||||||
|
|
||||||
if (arg2 != null && !defaultGenerateKotlinExternals) {
|
if (arg2 != null && _defaultGenerateKotlinExternals == null) {
|
||||||
npmDeclarationException(args)
|
npmDeclarationException(args)
|
||||||
}
|
}
|
||||||
|
|
||||||
return arg2
|
return arg2 ?: defaultGenerateKotlinExternals
|
||||||
?: defaultGenerateKotlinExternals
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class DefaultNpmDependencyExtension(
|
private class DefaultNpmDependencyExtension(
|
||||||
project: Project,
|
project: Project,
|
||||||
scope: NpmDependency.Scope,
|
scope: NpmDependency.Scope,
|
||||||
defaultGenerateKotlinExternals: Boolean
|
defaultGenerateKotlinExternals: Boolean?
|
||||||
) : AbstractNpmDependencyExtension(
|
) : AbstractNpmDependencyExtension(
|
||||||
project,
|
project,
|
||||||
scope,
|
scope,
|
||||||
@@ -285,7 +287,7 @@ private class DefaultNpmDependencyExtension(
|
|||||||
private class NpmDependencyWithoutDirectoryExtension(
|
private class NpmDependencyWithoutDirectoryExtension(
|
||||||
project: Project,
|
project: Project,
|
||||||
scope: NpmDependency.Scope,
|
scope: NpmDependency.Scope,
|
||||||
defaultGenerateKotlinExternals: Boolean
|
defaultGenerateKotlinExternals: Boolean?
|
||||||
) : AbstractNpmDependencyExtension(
|
) : AbstractNpmDependencyExtension(
|
||||||
project,
|
project,
|
||||||
scope,
|
scope,
|
||||||
|
|||||||
Reference in New Issue
Block a user