[Gradle, JS] Generate externals inside top level dependencies with deprecation

This commit is contained in:
Ilya Goncharov
2022-10-28 17:20:49 +04:00
committed by Space Team
parent dbf31b206c
commit 8dbdfb4591
2 changed files with 83 additions and 2 deletions
@@ -183,7 +183,7 @@ interface HasKotlinDependencies {
get() = listOf(apiConfigurationName, implementationConfigurationName, compileOnlyConfigurationName, runtimeOnlyConfigurationName) get() = listOf(apiConfigurationName, implementationConfigurationName, compileOnlyConfigurationName, runtimeOnlyConfigurationName)
} }
internal fun warnNpmGenerateExternals(logger: Logger) { fun warnNpmGenerateExternals(logger: Logger) {
logger.warn( logger.warn(
""" """
| |
@@ -10,6 +10,7 @@ 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.warnNpmGenerateExternals
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
@@ -24,8 +25,34 @@ interface NpmDirectoryDependencyExtension : BaseNpmDependencyExtension {
operator fun invoke(directory: File): NpmDependency operator fun invoke(directory: File): NpmDependency
} }
interface NpmDependencyWithExternalsExtension : BaseNpmDependencyExtension {
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
operator fun invoke(
name: String,
version: String,
generateExternals: Boolean
): NpmDependency
}
interface NpmDirectoryDependencyWithExternalsExtension : NpmDirectoryDependencyExtension {
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
operator fun invoke(
name: String,
directory: File,
generateExternals: Boolean
): NpmDependency
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
operator fun invoke(
directory: File,
generateExternals: Boolean
): NpmDependency
}
interface NpmDependencyExtension : interface NpmDependencyExtension :
BaseNpmDependencyExtension, BaseNpmDependencyExtension,
NpmDependencyWithExternalsExtension,
NpmDirectoryDependencyWithExternalsExtension,
NpmDirectoryDependencyExtension NpmDirectoryDependencyExtension
interface DevNpmDependencyExtension : interface DevNpmDependencyExtension :
@@ -168,7 +195,7 @@ private abstract class NpmDependencyExtensionDelegate(
} }
private class DefaultNpmDependencyExtension( private class DefaultNpmDependencyExtension(
project: Project, private val project: Project,
scope: NpmDependency.Scope, scope: NpmDependency.Scope,
) : Closure<NpmDependency>(project.dependencies), ) : Closure<NpmDependency>(project.dependencies),
NpmDependencyExtension { NpmDependencyExtension {
@@ -180,6 +207,24 @@ private class DefaultNpmDependencyExtension(
override fun invoke(name: String, version: String): NpmDependency = override fun invoke(name: String, version: String): NpmDependency =
delegate.invoke(name, version) delegate.invoke(name, version)
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
override fun invoke(name: String, version: String, generateExternals: Boolean): NpmDependency {
warnNpmGenerateExternals(project.logger)
return invoke(name, version)
}
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
override fun invoke(name: String, directory: File, generateExternals: Boolean): NpmDependency {
warnNpmGenerateExternals(project.logger)
return invoke(name, directory)
}
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
override fun invoke(directory: File, generateExternals: Boolean): NpmDependency {
warnNpmGenerateExternals(project.logger)
return invoke(directory)
}
override fun invoke(name: String, directory: File): NpmDependency = override fun invoke(name: String, directory: File): NpmDependency =
delegate.invoke(name, directory) delegate.invoke(name, directory)
@@ -220,6 +265,24 @@ private fun defaultNpmDependencyDelegate(
project, project,
scope, scope,
) { ) {
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
override fun invoke(directory: File, generateExternals: Boolean): NpmDependency {
warnNpmGenerateExternals(project.logger)
return invoke(directory)
}
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
override fun invoke(name: String, version: String, generateExternals: Boolean): NpmDependency {
warnNpmGenerateExternals(project.logger)
return invoke(name, version)
}
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
override fun invoke(name: String, directory: File, generateExternals: Boolean): NpmDependency {
warnNpmGenerateExternals(project.logger)
return invoke(name, directory)
}
override operator fun invoke( override operator fun invoke(
name: String, name: String,
directory: File, directory: File,
@@ -273,6 +336,24 @@ private class DefaultPeerNpmDependencyExtension(
project, project,
PEER, PEER,
) { ) {
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
override fun invoke(directory: File, generateExternals: Boolean): NpmDependency {
warnNpmGenerateExternals(project.logger)
return invoke(directory)
}
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
override fun invoke(name: String, version: String, generateExternals: Boolean): NpmDependency {
warnNpmGenerateExternals(project.logger)
return invoke(name, version)
}
@Deprecated("Dukat integration is in redesigning process. Now it does not work.")
override fun invoke(name: String, directory: File, generateExternals: Boolean): NpmDependency {
warnNpmGenerateExternals(project.logger)
return invoke(name, directory)
}
override fun invoke( override fun invoke(
name: String, name: String,
directory: File, directory: File,