[Gradle, JS] Remove generateExternals
This commit is contained in:
committed by
Space Team
parent
5ed3c20160
commit
1d97b9b936
-59
@@ -68,51 +68,20 @@ interface KotlinDependencyHandler {
|
|||||||
fun platform(notation: Any, configureAction: Action<in Dependency>): Dependency =
|
fun platform(notation: Any, configureAction: Action<in Dependency>): Dependency =
|
||||||
project.dependencies.platform(notation, configureAction)
|
project.dependencies.platform(notation, configureAction)
|
||||||
|
|
||||||
@Deprecated("Declaring NPM dependency without version is forbidden")
|
|
||||||
fun npm(name: String): Dependency
|
|
||||||
|
|
||||||
fun npm(
|
fun npm(
|
||||||
name: String,
|
name: String,
|
||||||
version: String,
|
version: String,
|
||||||
generateExternals: Boolean
|
|
||||||
): Dependency
|
): Dependency
|
||||||
|
|
||||||
fun npm(
|
|
||||||
name: String,
|
|
||||||
version: String
|
|
||||||
): Dependency = npm(
|
|
||||||
name = name,
|
|
||||||
version = version,
|
|
||||||
generateExternals = DEFAULT_GENERATE_EXTERNALS
|
|
||||||
)
|
|
||||||
|
|
||||||
fun npm(
|
fun npm(
|
||||||
name: String,
|
name: String,
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): Dependency
|
): Dependency
|
||||||
|
|
||||||
fun npm(
|
|
||||||
name: String,
|
|
||||||
directory: File
|
|
||||||
): Dependency = npm(
|
|
||||||
name = name,
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = DEFAULT_GENERATE_EXTERNALS
|
|
||||||
)
|
|
||||||
|
|
||||||
fun npm(
|
fun npm(
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): Dependency
|
): Dependency
|
||||||
|
|
||||||
fun npm(
|
|
||||||
directory: File
|
|
||||||
): Dependency = npm(
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = DEFAULT_GENERATE_EXTERNALS
|
|
||||||
)
|
|
||||||
|
|
||||||
fun devNpm(
|
fun devNpm(
|
||||||
name: String,
|
name: String,
|
||||||
version: String
|
version: String
|
||||||
@@ -130,45 +99,17 @@ interface KotlinDependencyHandler {
|
|||||||
fun optionalNpm(
|
fun optionalNpm(
|
||||||
name: String,
|
name: String,
|
||||||
version: String,
|
version: String,
|
||||||
generateExternals: Boolean
|
|
||||||
): Dependency
|
): Dependency
|
||||||
|
|
||||||
fun optionalNpm(
|
|
||||||
name: String,
|
|
||||||
version: String
|
|
||||||
): Dependency = optionalNpm(
|
|
||||||
name = name,
|
|
||||||
version = version,
|
|
||||||
generateExternals = DEFAULT_GENERATE_EXTERNALS
|
|
||||||
)
|
|
||||||
|
|
||||||
fun optionalNpm(
|
fun optionalNpm(
|
||||||
name: String,
|
name: String,
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): Dependency
|
): Dependency
|
||||||
|
|
||||||
fun optionalNpm(
|
|
||||||
name: String,
|
|
||||||
directory: File
|
|
||||||
): Dependency = optionalNpm(
|
|
||||||
name = name,
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = DEFAULT_GENERATE_EXTERNALS
|
|
||||||
)
|
|
||||||
|
|
||||||
fun optionalNpm(
|
fun optionalNpm(
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): Dependency
|
): Dependency
|
||||||
|
|
||||||
fun optionalNpm(
|
|
||||||
directory: File
|
|
||||||
): Dependency = optionalNpm(
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = DEFAULT_GENERATE_EXTERNALS
|
|
||||||
)
|
|
||||||
|
|
||||||
fun peerNpm(
|
fun peerNpm(
|
||||||
name: String,
|
name: String,
|
||||||
version: String
|
version: String
|
||||||
|
|||||||
-8
@@ -1,8 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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
|
|
||||||
|
|
||||||
const val DEFAULT_GENERATE_EXTERNALS = false
|
|
||||||
-6
@@ -373,12 +373,6 @@ internal class PropertiesProvider private constructor(private val project: Proje
|
|||||||
val ignoreTcsmOverflow: Boolean
|
val ignoreTcsmOverflow: Boolean
|
||||||
get() = booleanProperty(IGNORE_TCSM_OVERFLOW) ?: false
|
get() = booleanProperty(IGNORE_TCSM_OVERFLOW) ?: false
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate kotlin/js external declarations from all .d.ts files found in npm modules
|
|
||||||
*/
|
|
||||||
val jsGenerateExternals: Boolean
|
|
||||||
get() = booleanProperty("kotlin.js.generate.externals") ?: DEFAULT_GENERATE_EXTERNALS
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Automaticaly discover external .d.ts declarations
|
* Automaticaly discover external .d.ts declarations
|
||||||
*/
|
*/
|
||||||
|
|||||||
-72
@@ -12,13 +12,11 @@ import org.gradle.api.artifacts.ModuleDependency
|
|||||||
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.PropertiesProvider
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmModule
|
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmModule
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.ComputedCapability
|
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.ComputedCapability
|
||||||
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.directoryNpmDependency
|
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 org.jetbrains.kotlin.gradle.targets.js.npm.onlyNameNpmDependency
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class DefaultKotlinDependencyHandler(
|
class DefaultKotlinDependencyHandler(
|
||||||
@@ -103,67 +101,32 @@ class DefaultKotlinDependencyHandler(
|
|||||||
project.dependencies.add(configurationName, it)
|
project.dependencies.add(configurationName, it)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun npm(name: String): Dependency =
|
|
||||||
onlyNameNpmDependency(name)
|
|
||||||
|
|
||||||
override fun npm(
|
override fun npm(
|
||||||
name: String,
|
name: String,
|
||||||
version: String,
|
version: String,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
NpmDependency(
|
NpmDependency(
|
||||||
project = project,
|
project = project,
|
||||||
name = name,
|
name = name,
|
||||||
version = version,
|
version = version,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun npm(
|
|
||||||
name: String,
|
|
||||||
version: String
|
|
||||||
): NpmDependency =
|
|
||||||
npm(
|
|
||||||
name = name,
|
|
||||||
version = version,
|
|
||||||
generateExternals = defaultGenerateExternals()
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun npm(
|
override fun npm(
|
||||||
name: String,
|
name: String,
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
directoryNpmDependency(
|
directoryNpmDependency(
|
||||||
name = name,
|
name = name,
|
||||||
directory = directory,
|
directory = directory,
|
||||||
scope = NpmDependency.Scope.NORMAL,
|
scope = NpmDependency.Scope.NORMAL,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun npm(
|
|
||||||
name: String,
|
|
||||||
directory: File
|
|
||||||
): NpmDependency =
|
|
||||||
npm(
|
|
||||||
name = name,
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = defaultGenerateExternals()
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun npm(
|
override fun npm(
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
npm(
|
npm(
|
||||||
name = moduleName(directory),
|
name = moduleName(directory),
|
||||||
directory = directory,
|
directory = directory,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun npm(directory: File): NpmDependency =
|
|
||||||
npm(
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = defaultGenerateExternals()
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun devNpm(
|
override fun devNpm(
|
||||||
@@ -185,7 +148,6 @@ class DefaultKotlinDependencyHandler(
|
|||||||
name = name,
|
name = name,
|
||||||
directory = directory,
|
directory = directory,
|
||||||
scope = NpmDependency.Scope.DEV,
|
scope = NpmDependency.Scope.DEV,
|
||||||
generateExternals = false
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun devNpm(directory: File): NpmDependency =
|
override fun devNpm(directory: File): NpmDependency =
|
||||||
@@ -197,59 +159,30 @@ class DefaultKotlinDependencyHandler(
|
|||||||
override fun optionalNpm(
|
override fun optionalNpm(
|
||||||
name: String,
|
name: String,
|
||||||
version: String,
|
version: String,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
NpmDependency(
|
NpmDependency(
|
||||||
project = project,
|
project = project,
|
||||||
name = name,
|
name = name,
|
||||||
version = version,
|
version = version,
|
||||||
scope = NpmDependency.Scope.OPTIONAL,
|
scope = NpmDependency.Scope.OPTIONAL,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun optionalNpm(
|
|
||||||
name: String,
|
|
||||||
version: String
|
|
||||||
): NpmDependency =
|
|
||||||
optionalNpm(
|
|
||||||
name,
|
|
||||||
version,
|
|
||||||
defaultGenerateExternals()
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun optionalNpm(
|
override fun optionalNpm(
|
||||||
name: String,
|
name: String,
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
directoryNpmDependency(
|
directoryNpmDependency(
|
||||||
name = name,
|
name = name,
|
||||||
directory = directory,
|
directory = directory,
|
||||||
scope = NpmDependency.Scope.OPTIONAL,
|
scope = NpmDependency.Scope.OPTIONAL,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun optionalNpm(name: String, directory: File): NpmDependency =
|
|
||||||
optionalNpm(
|
|
||||||
name = name,
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = defaultGenerateExternals()
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun optionalNpm(
|
override fun optionalNpm(
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
optionalNpm(
|
optionalNpm(
|
||||||
name = moduleName(directory),
|
name = moduleName(directory),
|
||||||
directory = directory,
|
directory = directory,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun optionalNpm(directory: File): NpmDependency =
|
|
||||||
optionalNpm(
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = defaultGenerateExternals()
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun peerNpm(
|
override fun peerNpm(
|
||||||
@@ -263,20 +196,15 @@ class DefaultKotlinDependencyHandler(
|
|||||||
scope = NpmDependency.Scope.PEER
|
scope = NpmDependency.Scope.PEER
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun defaultGenerateExternals(): Boolean =
|
|
||||||
PropertiesProvider(project).jsGenerateExternals
|
|
||||||
|
|
||||||
private fun directoryNpmDependency(
|
private fun directoryNpmDependency(
|
||||||
name: String,
|
name: String,
|
||||||
directory: File,
|
directory: File,
|
||||||
scope: NpmDependency.Scope,
|
scope: NpmDependency.Scope,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
directoryNpmDependency(
|
directoryNpmDependency(
|
||||||
project = project,
|
project = project,
|
||||||
name = name,
|
name = name,
|
||||||
directory = directory,
|
directory = directory,
|
||||||
scope = scope,
|
scope = scope,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
-9
@@ -26,7 +26,6 @@ data class NpmDependency(
|
|||||||
private val name: String,
|
private val name: String,
|
||||||
private val version: String,
|
private val version: String,
|
||||||
val scope: Scope = Scope.NORMAL,
|
val scope: Scope = Scope.NORMAL,
|
||||||
val generateExternals: Boolean = false
|
|
||||||
) : SelfResolvingDependency,
|
) : SelfResolvingDependency,
|
||||||
SelfResolvingDependencyInternal,
|
SelfResolvingDependencyInternal,
|
||||||
ResolvableDependency,
|
ResolvableDependency,
|
||||||
@@ -118,7 +117,6 @@ internal fun directoryNpmDependency(
|
|||||||
name: String,
|
name: String,
|
||||||
directory: File,
|
directory: File,
|
||||||
scope: NpmDependency.Scope,
|
scope: NpmDependency.Scope,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency {
|
): NpmDependency {
|
||||||
check(directory.isDirectory) {
|
check(directory.isDirectory) {
|
||||||
"Dependency on local path should point on directory but $directory found"
|
"Dependency on local path should point on directory but $directory found"
|
||||||
@@ -129,16 +127,9 @@ internal fun directoryNpmDependency(
|
|||||||
name = name,
|
name = name,
|
||||||
version = fileVersion(directory),
|
version = fileVersion(directory),
|
||||||
scope = scope,
|
scope = scope,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun onlyNameNpmDependency(
|
|
||||||
name: String
|
|
||||||
): Nothing {
|
|
||||||
throw IllegalArgumentException("NPM dependency '$name' doesn't have version. Please, set version explicitly.")
|
|
||||||
}
|
|
||||||
|
|
||||||
fun String.isFileVersion() =
|
fun String.isFileVersion() =
|
||||||
startsWith(FILE_VERSION_PREFIX)
|
startsWith(FILE_VERSION_PREFIX)
|
||||||
|
|
||||||
|
|||||||
+2
-5
@@ -14,18 +14,15 @@ data class NpmDependencyDeclaration(
|
|||||||
@Input
|
@Input
|
||||||
val name: String,
|
val name: String,
|
||||||
@Input
|
@Input
|
||||||
val version: String,
|
val version: String
|
||||||
@Input
|
|
||||||
val generateExternals: Boolean
|
|
||||||
) : Serializable
|
) : Serializable
|
||||||
|
|
||||||
fun NpmDependencyDeclaration.uniqueRepresentation() =
|
fun NpmDependencyDeclaration.uniqueRepresentation() =
|
||||||
"$scope $name:$version, $generateExternals"
|
"$scope $name:$version"
|
||||||
|
|
||||||
internal fun NpmDependency.toDeclaration(): NpmDependencyDeclaration =
|
internal fun NpmDependency.toDeclaration(): NpmDependencyDeclaration =
|
||||||
NpmDependencyDeclaration(
|
NpmDependencyDeclaration(
|
||||||
scope = this.scope,
|
scope = this.scope,
|
||||||
name = this.name,
|
name = this.name,
|
||||||
version = this.version,
|
version = this.version,
|
||||||
generateExternals = this.generateExternals
|
|
||||||
)
|
)
|
||||||
+14
-129
@@ -10,15 +10,11 @@ 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
|
||||||
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency.Scope.*
|
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency.Scope.*
|
||||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
interface BaseNpmDependencyExtension {
|
interface BaseNpmDependencyExtension {
|
||||||
@Deprecated("Declaring NPM dependency without version is forbidden")
|
|
||||||
operator fun invoke(name: String): NpmDependency
|
|
||||||
|
|
||||||
operator fun invoke(name: String, version: String): NpmDependency
|
operator fun invoke(name: String, version: String): NpmDependency
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -28,32 +24,9 @@ interface NpmDirectoryDependencyExtension : BaseNpmDependencyExtension {
|
|||||||
operator fun invoke(directory: File): NpmDependency
|
operator fun invoke(directory: File): NpmDependency
|
||||||
}
|
}
|
||||||
|
|
||||||
interface NpmDependencyWithExternalsExtension : BaseNpmDependencyExtension {
|
|
||||||
operator fun invoke(
|
|
||||||
name: String,
|
|
||||||
version: String,
|
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency
|
|
||||||
}
|
|
||||||
|
|
||||||
interface NpmDirectoryDependencyWithExternalsExtension : NpmDirectoryDependencyExtension {
|
|
||||||
operator fun invoke(
|
|
||||||
name: String,
|
|
||||||
directory: File,
|
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency
|
|
||||||
|
|
||||||
operator fun invoke(
|
|
||||||
directory: File,
|
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency
|
|
||||||
}
|
|
||||||
|
|
||||||
interface NpmDependencyExtension :
|
interface NpmDependencyExtension :
|
||||||
BaseNpmDependencyExtension,
|
BaseNpmDependencyExtension,
|
||||||
NpmDependencyWithExternalsExtension,
|
NpmDirectoryDependencyExtension
|
||||||
NpmDirectoryDependencyExtension,
|
|
||||||
NpmDirectoryDependencyWithExternalsExtension
|
|
||||||
|
|
||||||
interface DevNpmDependencyExtension :
|
interface DevNpmDependencyExtension :
|
||||||
BaseNpmDependencyExtension,
|
BaseNpmDependencyExtension,
|
||||||
@@ -77,11 +50,12 @@ internal fun Project.addNpmDependencyExtension() {
|
|||||||
NORMAL, OPTIONAL -> DefaultNpmDependencyExtension(
|
NORMAL, OPTIONAL -> DefaultNpmDependencyExtension(
|
||||||
this,
|
this,
|
||||||
scope,
|
scope,
|
||||||
PropertiesProvider(this).jsGenerateExternals
|
|
||||||
)
|
)
|
||||||
|
|
||||||
DEV -> DefaultDevNpmDependencyExtension(
|
DEV -> DefaultDevNpmDependencyExtension(
|
||||||
this
|
this
|
||||||
)
|
)
|
||||||
|
|
||||||
PEER -> DefaultPeerNpmDependencyExtension(
|
PEER -> DefaultPeerNpmDependencyExtension(
|
||||||
this
|
this
|
||||||
)
|
)
|
||||||
@@ -107,72 +81,40 @@ private fun scopePrefix(scope: NpmDependency.Scope): String {
|
|||||||
private abstract class NpmDependencyExtensionDelegate(
|
private abstract class NpmDependencyExtensionDelegate(
|
||||||
protected val project: Project,
|
protected val project: Project,
|
||||||
protected val scope: NpmDependency.Scope,
|
protected val scope: NpmDependency.Scope,
|
||||||
protected val _defaultGenerateExternals: Boolean?
|
|
||||||
) : NpmDependencyExtension,
|
) : NpmDependencyExtension,
|
||||||
DevNpmDependencyExtension,
|
DevNpmDependencyExtension,
|
||||||
PeerNpmDependencyExtension,
|
PeerNpmDependencyExtension,
|
||||||
Closure<NpmDependency>(project.dependencies) {
|
Closure<NpmDependency>(project.dependencies) {
|
||||||
protected val defaultGenerateExternals: Boolean
|
|
||||||
get() = _defaultGenerateExternals ?: false
|
|
||||||
|
|
||||||
override fun invoke(name: String): NpmDependency =
|
|
||||||
onlyNameNpmDependency(name)
|
|
||||||
|
|
||||||
override operator fun invoke(
|
override operator fun invoke(
|
||||||
name: String,
|
name: String,
|
||||||
version: String,
|
version: String,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
NpmDependency(
|
NpmDependency(
|
||||||
project = project,
|
project = project,
|
||||||
name = name,
|
name = name,
|
||||||
version = version,
|
version = version,
|
||||||
scope = scope,
|
scope = scope,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun invoke(name: String, version: String): NpmDependency =
|
|
||||||
invoke(
|
|
||||||
name = name,
|
|
||||||
version = version,
|
|
||||||
generateExternals = defaultGenerateExternals
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun invoke(name: String, directory: File): NpmDependency =
|
|
||||||
invoke(
|
|
||||||
name = name,
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = defaultGenerateExternals
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun invoke(directory: File): NpmDependency =
|
override fun invoke(directory: File): NpmDependency =
|
||||||
invoke(
|
invoke(
|
||||||
directory = directory,
|
directory = directory,
|
||||||
generateExternals = defaultGenerateExternals
|
|
||||||
)
|
|
||||||
|
|
||||||
override operator fun invoke(
|
|
||||||
directory: File,
|
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
|
||||||
invoke(
|
|
||||||
name = moduleName(directory),
|
|
||||||
directory = directory,
|
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun call(vararg args: Any?): NpmDependency {
|
override fun call(vararg args: Any?): NpmDependency {
|
||||||
if (args.size > 3) npmDeclarationException(args)
|
if (args.size > 2) npmDeclarationException(args)
|
||||||
|
|
||||||
return when (val arg = args[0]) {
|
return when (val arg = args[0]) {
|
||||||
is String -> withName(
|
is String -> withName(
|
||||||
name = arg,
|
name = arg,
|
||||||
args = args
|
args = args
|
||||||
)
|
)
|
||||||
|
|
||||||
is GString -> withName(
|
is GString -> withName(
|
||||||
name = arg.toString(),
|
name = arg.toString(),
|
||||||
args = args
|
args = args
|
||||||
)
|
)
|
||||||
|
|
||||||
else -> processNonStringFirstArgument(arg, *args)
|
else -> processNonStringFirstArgument(arg, *args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -180,26 +122,24 @@ 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 generateExternals = generateExternalsIfPossible(*args)
|
|
||||||
|
|
||||||
return when (val arg1 = if (args.size > 1) args[1] else null) {
|
return when (val arg1 = if (args.size > 1) args[1] else null) {
|
||||||
null -> @Suppress("DEPRECATION") invoke(
|
null -> throw IllegalArgumentException(
|
||||||
name = name
|
"NPM dependency '$name' doesn't have version. Please, set version explicitly."
|
||||||
)
|
)
|
||||||
|
|
||||||
is String -> invoke(
|
is String -> invoke(
|
||||||
name = name,
|
name = name,
|
||||||
version = arg1,
|
version = arg1,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
)
|
||||||
|
|
||||||
is GString -> invoke(
|
is GString -> invoke(
|
||||||
name = name,
|
name = name,
|
||||||
version = arg1.toString(),
|
version = arg1.toString(),
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
)
|
||||||
|
|
||||||
else -> processNamedNonStringSecondArgument(
|
else -> processNamedNonStringSecondArgument(
|
||||||
name,
|
name,
|
||||||
arg1,
|
arg1,
|
||||||
generateExternals,
|
|
||||||
*args
|
*args
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -208,7 +148,6 @@ private abstract class NpmDependencyExtensionDelegate(
|
|||||||
protected abstract fun processNamedNonStringSecondArgument(
|
protected abstract fun processNamedNonStringSecondArgument(
|
||||||
name: String,
|
name: String,
|
||||||
arg: Any?,
|
arg: Any?,
|
||||||
generateExternals: Boolean,
|
|
||||||
vararg args: Any?
|
vararg args: Any?
|
||||||
): NpmDependency
|
): NpmDependency
|
||||||
|
|
||||||
@@ -225,34 +164,18 @@ private abstract class NpmDependencyExtensionDelegate(
|
|||||||
protected open fun possibleVariants(): List<Pair<String, String>> {
|
protected open fun possibleVariants(): List<Pair<String, String>> {
|
||||||
return listOf("${scopePrefix(scope)}('name', 'version')" to "name:version")
|
return listOf("${scopePrefix(scope)}('name', 'version')" to "name:version")
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun generateExternalsIfPossible(vararg args: Any?): Boolean {
|
|
||||||
val arg2 = (if (args.size > 2) args[2] else null) as? Boolean
|
|
||||||
|
|
||||||
if (arg2 != null && _defaultGenerateExternals == null) {
|
|
||||||
npmDeclarationException(args)
|
|
||||||
}
|
|
||||||
|
|
||||||
return arg2 ?: defaultGenerateExternals
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class DefaultNpmDependencyExtension(
|
private class DefaultNpmDependencyExtension(
|
||||||
project: Project,
|
project: Project,
|
||||||
scope: NpmDependency.Scope,
|
scope: NpmDependency.Scope,
|
||||||
defaultGenerateExternals: Boolean?
|
|
||||||
) : Closure<NpmDependency>(project.dependencies),
|
) : Closure<NpmDependency>(project.dependencies),
|
||||||
NpmDependencyExtension {
|
NpmDependencyExtension {
|
||||||
private val delegate = defaultNpmDependencyDelegate(
|
private val delegate = defaultNpmDependencyDelegate(
|
||||||
project,
|
project,
|
||||||
scope,
|
scope,
|
||||||
defaultGenerateExternals
|
|
||||||
)
|
)
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
|
||||||
override fun invoke(name: String): NpmDependency =
|
|
||||||
delegate.invoke(name)
|
|
||||||
|
|
||||||
override fun invoke(name: String, version: String): NpmDependency =
|
override fun invoke(name: String, version: String): NpmDependency =
|
||||||
delegate.invoke(name, version)
|
delegate.invoke(name, version)
|
||||||
|
|
||||||
@@ -262,15 +185,6 @@ private class DefaultNpmDependencyExtension(
|
|||||||
override fun invoke(directory: File): NpmDependency =
|
override fun invoke(directory: File): NpmDependency =
|
||||||
delegate.invoke(directory)
|
delegate.invoke(directory)
|
||||||
|
|
||||||
override fun invoke(name: String, version: String, generateExternals: Boolean): NpmDependency =
|
|
||||||
delegate.invoke(name, version, generateExternals)
|
|
||||||
|
|
||||||
override fun invoke(name: String, directory: File, generateExternals: Boolean): NpmDependency =
|
|
||||||
delegate.invoke(name, directory, generateExternals)
|
|
||||||
|
|
||||||
override fun invoke(directory: File, generateExternals: Boolean): NpmDependency =
|
|
||||||
delegate.invoke(directory, generateExternals)
|
|
||||||
|
|
||||||
override fun call(vararg args: Any?): NpmDependency =
|
override fun call(vararg args: Any?): NpmDependency =
|
||||||
delegate.call(*args)
|
delegate.call(*args)
|
||||||
}
|
}
|
||||||
@@ -282,13 +196,8 @@ private class DefaultDevNpmDependencyExtension(
|
|||||||
private val delegate = defaultNpmDependencyDelegate(
|
private val delegate = defaultNpmDependencyDelegate(
|
||||||
project,
|
project,
|
||||||
DEV,
|
DEV,
|
||||||
null
|
|
||||||
)
|
)
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
|
||||||
override fun invoke(name: String): NpmDependency =
|
|
||||||
delegate.invoke(name)
|
|
||||||
|
|
||||||
override fun invoke(name: String, version: String): NpmDependency =
|
override fun invoke(name: String, version: String): NpmDependency =
|
||||||
delegate.invoke(name, version)
|
delegate.invoke(name, version)
|
||||||
|
|
||||||
@@ -305,34 +214,28 @@ private class DefaultDevNpmDependencyExtension(
|
|||||||
private fun defaultNpmDependencyDelegate(
|
private fun defaultNpmDependencyDelegate(
|
||||||
project: Project,
|
project: Project,
|
||||||
scope: NpmDependency.Scope,
|
scope: NpmDependency.Scope,
|
||||||
defaultGenerateExternals: Boolean?
|
|
||||||
): NpmDependencyExtensionDelegate {
|
): NpmDependencyExtensionDelegate {
|
||||||
return object : NpmDependencyExtensionDelegate(
|
return object : NpmDependencyExtensionDelegate(
|
||||||
project,
|
project,
|
||||||
scope,
|
scope,
|
||||||
defaultGenerateExternals
|
|
||||||
) {
|
) {
|
||||||
override operator fun invoke(
|
override operator fun invoke(
|
||||||
name: String,
|
name: String,
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
directoryNpmDependency(
|
directoryNpmDependency(
|
||||||
project = project,
|
project = project,
|
||||||
name = name,
|
name = name,
|
||||||
directory = directory,
|
directory = directory,
|
||||||
scope = scope,
|
scope = scope,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun processNonStringFirstArgument(arg: Any?, vararg args: Any?): NpmDependency {
|
override fun processNonStringFirstArgument(arg: Any?, vararg args: Any?): NpmDependency {
|
||||||
val generateExternals = generateExternalsIfPossible(args)
|
|
||||||
|
|
||||||
return when (arg) {
|
return when (arg) {
|
||||||
is File -> invoke(
|
is File -> invoke(
|
||||||
directory = arg,
|
directory = arg,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
)
|
||||||
|
|
||||||
else -> npmDeclarationException(args)
|
else -> npmDeclarationException(args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -340,34 +243,23 @@ private fun defaultNpmDependencyDelegate(
|
|||||||
override fun processNamedNonStringSecondArgument(
|
override fun processNamedNonStringSecondArgument(
|
||||||
name: String,
|
name: String,
|
||||||
arg: Any?,
|
arg: Any?,
|
||||||
generateExternals: Boolean,
|
|
||||||
vararg args: Any?
|
vararg args: Any?
|
||||||
): NpmDependency {
|
): NpmDependency {
|
||||||
return when (arg) {
|
return when (arg) {
|
||||||
is File -> invoke(
|
is File -> invoke(
|
||||||
name = name,
|
name = name,
|
||||||
directory = arg,
|
directory = arg,
|
||||||
generateExternals = generateExternals
|
|
||||||
)
|
)
|
||||||
|
|
||||||
else -> npmDeclarationException(args)
|
else -> npmDeclarationException(args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun possibleVariants(): List<Pair<String, String>> {
|
override fun possibleVariants(): List<Pair<String, String>> {
|
||||||
val result = super.possibleVariants() + listOf(
|
return super.possibleVariants() + listOf(
|
||||||
"${scopePrefix(scope)}(File)" to "File.name:File",
|
"${scopePrefix(scope)}(File)" to "File.name:File",
|
||||||
"${scopePrefix(scope)}('name', File)" to "name:File"
|
"${scopePrefix(scope)}('name', File)" to "name:File"
|
||||||
)
|
)
|
||||||
|
|
||||||
if (_defaultGenerateExternals == null) {
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
return result
|
|
||||||
.map { (first, second) ->
|
|
||||||
val value = first.replace(")", ", generateExternals = $defaultGenerateExternals)")
|
|
||||||
value to second
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -379,12 +271,10 @@ private class DefaultPeerNpmDependencyExtension(
|
|||||||
private val delegate: NpmDependencyExtensionDelegate = object : NpmDependencyExtensionDelegate(
|
private val delegate: NpmDependencyExtensionDelegate = object : NpmDependencyExtensionDelegate(
|
||||||
project,
|
project,
|
||||||
PEER,
|
PEER,
|
||||||
null
|
|
||||||
) {
|
) {
|
||||||
override fun invoke(
|
override fun invoke(
|
||||||
name: String,
|
name: String,
|
||||||
directory: File,
|
directory: File,
|
||||||
generateExternals: Boolean
|
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
npmDeclarationException(arrayOf(name, directory))
|
npmDeclarationException(arrayOf(name, directory))
|
||||||
|
|
||||||
@@ -394,16 +284,11 @@ private class DefaultPeerNpmDependencyExtension(
|
|||||||
override fun processNamedNonStringSecondArgument(
|
override fun processNamedNonStringSecondArgument(
|
||||||
name: String,
|
name: String,
|
||||||
arg: Any?,
|
arg: Any?,
|
||||||
generateExternals: Boolean,
|
|
||||||
vararg args: Any?
|
vararg args: Any?
|
||||||
): NpmDependency =
|
): NpmDependency =
|
||||||
npmDeclarationException(args)
|
npmDeclarationException(args)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
|
||||||
override fun invoke(name: String): NpmDependency =
|
|
||||||
delegate.invoke(name)
|
|
||||||
|
|
||||||
override fun invoke(name: String, version: String): NpmDependency =
|
override fun invoke(name: String, version: String): NpmDependency =
|
||||||
delegate.invoke(name, version)
|
delegate.invoke(name, version)
|
||||||
|
|
||||||
|
|||||||
-1
@@ -55,7 +55,6 @@ constructor(
|
|||||||
scope = it.scope,
|
scope = it.scope,
|
||||||
name = it.name,
|
name = it.name,
|
||||||
version = it.version,
|
version = it.version,
|
||||||
generateExternals = it.generateExternals
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-1
@@ -32,7 +32,6 @@ class KotlinCompilationNpmResolution(
|
|||||||
name = it.name,
|
name = it.name,
|
||||||
version = it.version,
|
version = it.version,
|
||||||
scope = it.scope,
|
scope = it.scope,
|
||||||
generateExternals = it.generateExternals
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
-1
@@ -455,7 +455,6 @@ internal class KotlinCompilationNpmResolver(
|
|||||||
scope = NpmDependency.Scope.DEV,
|
scope = NpmDependency.Scope.DEV,
|
||||||
name = dukatPackageVersion.name,
|
name = dukatPackageVersion.name,
|
||||||
version = dukatPackageVersion.version,
|
version = dukatPackageVersion.version,
|
||||||
generateExternals = false
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
} else emptySet()
|
} else emptySet()
|
||||||
|
|||||||
Reference in New Issue
Block a user