[Gradle, JS] Migrate on only name-version npm dependencies
#KT-32179 fixed
This commit is contained in:
+6
-2
@@ -44,8 +44,12 @@ interface KotlinDependencyHandler {
|
|||||||
|
|
||||||
fun project(notation: Map<String, Any?>): ProjectDependency
|
fun project(notation: Map<String, Any?>): ProjectDependency
|
||||||
|
|
||||||
fun npm(packageName: String, version: String = "*"): Dependency
|
fun npm(name: String, version: String = "*"): Dependency
|
||||||
fun npm(org: String, packageName: String, version: String = "*"): Dependency
|
|
||||||
|
@Deprecated(
|
||||||
|
message = "Use npm(name, version) instead. Name like in package.json"
|
||||||
|
)
|
||||||
|
fun npm(org: String? = null, packageName: String, version: String = "*"): Dependency
|
||||||
}
|
}
|
||||||
|
|
||||||
interface HasKotlinDependencies {
|
interface HasKotlinDependencies {
|
||||||
|
|||||||
+4
-4
@@ -79,9 +79,9 @@ class DefaultKotlinDependencyHandler(
|
|||||||
project.dependencies.add(configurationName, it)
|
project.dependencies.add(configurationName, it)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun npm(packageName: String, version: String) =
|
override fun npm(name: String, version: String): NpmDependency =
|
||||||
NpmDependency(project, null, packageName, version)
|
NpmDependency(project, name, version)
|
||||||
|
|
||||||
override fun npm(org: String, packageName: String, version: String) =
|
override fun npm(org: String?, packageName: String, version: String) =
|
||||||
NpmDependency(project, org, packageName, version)
|
npm("${if (org != null) "@$org/" else ""}$packageName", version)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -54,7 +54,7 @@ interface RequiredKotlinJsDependency {
|
|||||||
|
|
||||||
data class NpmPackageVersion(val name: String, var version: String) : RequiredKotlinJsDependency {
|
data class NpmPackageVersion(val name: String, var version: String) : RequiredKotlinJsDependency {
|
||||||
override fun createDependency(project: Project, scope: NpmDependency.Scope): Dependency =
|
override fun createDependency(project: Project, scope: NpmDependency.Scope): Dependency =
|
||||||
NpmDependency(project, null, name, version, scope)
|
NpmDependency(project, name, version, scope)
|
||||||
}
|
}
|
||||||
|
|
||||||
data class KotlinGradleNpmPackage(val simpleModuleName: String) : RequiredKotlinJsDependency {
|
data class KotlinGradleNpmPackage(val simpleModuleName: String) : RequiredKotlinJsDependency {
|
||||||
|
|||||||
+3
-4
@@ -21,7 +21,6 @@ import java.io.File
|
|||||||
|
|
||||||
data class NpmDependency(
|
data class NpmDependency(
|
||||||
internal val project: Project,
|
internal val project: Project,
|
||||||
private val org: String?,
|
|
||||||
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
|
||||||
@@ -37,7 +36,7 @@ data class NpmDependency(
|
|||||||
PEER
|
PEER
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getGroup(): String? = org
|
override fun getGroup(): String? = null
|
||||||
|
|
||||||
internal var parent: NpmDependency? = null
|
internal var parent: NpmDependency? = null
|
||||||
internal val dependencies = mutableSetOf<NpmDependency>()
|
internal val dependencies = mutableSetOf<NpmDependency>()
|
||||||
@@ -123,7 +122,7 @@ data class NpmDependency(
|
|||||||
return nodeJs.npmResolutionManager.getNpmDependencyResolvedCompilation(this)
|
return nodeJs.npmResolutionManager.getNpmDependencyResolvedCompilation(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
val key: String = if (org == null) name else "@$org/$name"
|
val key: String = name
|
||||||
|
|
||||||
override fun toString() = "$key: $version"
|
override fun toString() = "$key: $version"
|
||||||
|
|
||||||
@@ -139,7 +138,7 @@ data class NpmDependency(
|
|||||||
|
|
||||||
override fun getTargetComponentId() = DefaultLibraryBinaryIdentifier(project.path, key, "npm")
|
override fun getTargetComponentId() = DefaultLibraryBinaryIdentifier(project.path, key, "npm")
|
||||||
|
|
||||||
override fun copy(): Dependency = this.copy(org = org)
|
override fun copy(): Dependency = this.copy(name = name)
|
||||||
|
|
||||||
private var reason: String? = null
|
private var reason: String? = null
|
||||||
|
|
||||||
|
|||||||
+9
-27
@@ -11,56 +11,38 @@ import org.gradle.api.plugins.ExtensionAware
|
|||||||
import org.gradle.api.reflect.TypeOf
|
import org.gradle.api.reflect.TypeOf
|
||||||
|
|
||||||
interface NpmDependencyExtension {
|
interface NpmDependencyExtension {
|
||||||
operator fun invoke(packageName: String, version: String = "*"): NpmDependency
|
operator fun invoke(name: String, version: String = "*"): NpmDependency
|
||||||
|
|
||||||
operator fun invoke(org: String, packageName: String, version: String = "*"): NpmDependency
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Project.addNpmDependencyExtension() {
|
fun Project.addNpmDependencyExtension() {
|
||||||
val dependencies = this.dependencies as ExtensionAware
|
val dependencies = this.dependencies as ExtensionAware
|
||||||
|
|
||||||
val npmDependencyExtension: NpmDependencyExtension = object : NpmDependencyExtension, Closure<NpmDependency>(dependencies) {
|
val npmDependencyExtension: NpmDependencyExtension = object : NpmDependencyExtension, Closure<NpmDependency>(dependencies) {
|
||||||
override operator fun invoke(packageName: String, version: String): NpmDependency {
|
override operator fun invoke(name: String, version: String): NpmDependency {
|
||||||
return NpmDependency(this@addNpmDependencyExtension, null, packageName, version)
|
return NpmDependency(this@addNpmDependencyExtension, name, version)
|
||||||
}
|
|
||||||
|
|
||||||
override operator fun invoke(org: String, packageName: String, version: String): NpmDependency {
|
|
||||||
return NpmDependency(this@addNpmDependencyExtension, org, packageName, version)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun call(vararg args: Any?): NpmDependency {
|
override fun call(vararg args: Any?): NpmDependency {
|
||||||
val size = args.size
|
val size = args.size
|
||||||
if (size > 3) throw IllegalArgumentException(
|
if (size > 2) throw IllegalArgumentException(
|
||||||
"""
|
"""
|
||||||
Unable to add NPM dependency by $args
|
Unable to add NPM dependency by $args
|
||||||
- npm('packageName') -> packageName:*
|
- npm('name') -> name:*
|
||||||
- npm('packageName', 'version') -> packageName:version
|
- npm('name', 'version') -> name:version
|
||||||
- npm('org', 'packageName', 'version') -> org/packageName:version
|
|
||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
)
|
)
|
||||||
|
|
||||||
if (size == 3) {
|
val name = args[0] as String
|
||||||
val (org, packageName, version) = args
|
|
||||||
.map { it as String }
|
|
||||||
|
|
||||||
return invoke(
|
|
||||||
org = org,
|
|
||||||
packageName = packageName,
|
|
||||||
version = version
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
val packageName = args[0] as String
|
|
||||||
val version = if (size > 1) args[1] as String else null
|
val version = if (size > 1) args[1] as String else null
|
||||||
|
|
||||||
return if (version != null) {
|
return if (version != null) {
|
||||||
invoke(
|
invoke(
|
||||||
packageName = packageName,
|
name = name,
|
||||||
version = version
|
version = version
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
invoke(
|
invoke(
|
||||||
packageName = packageName
|
name = name
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -69,8 +69,7 @@ abstract class YarnBasics : NpmApi {
|
|||||||
val scopedName = dep.scopedName
|
val scopedName = dep.scopedName
|
||||||
val child = NpmDependency(
|
val child = NpmDependency(
|
||||||
src.project,
|
src.project,
|
||||||
scopedName.scope,
|
scopedName.toString(),
|
||||||
scopedName.name,
|
|
||||||
dep.version ?: "*"
|
dep.version ?: "*"
|
||||||
)
|
)
|
||||||
child.parent = src
|
child.parent = src
|
||||||
|
|||||||
Reference in New Issue
Block a user