[Gradle, JS] Remove produceExecutable
This commit is contained in:
+10
@@ -8,11 +8,14 @@
|
||||
// Old package for compatibility
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp
|
||||
|
||||
import org.gradle.util.WrapUtil
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.JsBinary
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsBinaryContainer
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
|
||||
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
||||
import org.jetbrains.kotlin.gradle.utils.*
|
||||
@@ -21,6 +24,13 @@ open class KotlinJsCompilation(
|
||||
target: KotlinTarget,
|
||||
name: String
|
||||
) : AbstractKotlinCompilationToRunnableFiles<KotlinJsOptions>(target, name), KotlinCompilationWithResources<KotlinJsOptions> {
|
||||
internal val binaries: KotlinJsBinaryContainer =
|
||||
target.project.objects.newInstance(
|
||||
KotlinJsBinaryContainer::class.java,
|
||||
target,
|
||||
WrapUtil.toDomainObjectSet(JsBinary::class.java)
|
||||
)
|
||||
|
||||
override val processResourcesTaskName: String
|
||||
get() = disambiguateName("processResources")
|
||||
|
||||
|
||||
+10
-42
@@ -8,18 +8,19 @@ package org.jetbrains.kotlin.gradle.targets.js
|
||||
import org.gradle.api.NamedDomainObjectContainer
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.gradle.util.WrapUtil
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator.Companion.runTaskNameSuffix
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation.Companion.MAIN_COMPILATION_NAME
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.*
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.JsBinary
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsBinaryContainer
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinBrowserJs
|
||||
import org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinJsSubTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs
|
||||
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
||||
import org.jetbrains.kotlin.gradle.testing.internal.KotlinTestReport
|
||||
@@ -79,17 +80,13 @@ constructor(
|
||||
}
|
||||
}
|
||||
|
||||
var producingType: KotlinJsProducingType? = null
|
||||
|
||||
@Deprecated("Use produceExecutable instead", ReplaceWith("produceExecutable()"))
|
||||
override val binaries: KotlinJsBinaryContainer
|
||||
get() {
|
||||
return irTarget?.binaries
|
||||
?: project.objects.newInstance(
|
||||
KotlinJsBinaryContainer::class.java,
|
||||
this,
|
||||
WrapUtil.toDomainObjectSet(JsBinary::class.java)
|
||||
)
|
||||
irTarget?.let { throw IllegalStateException("Unfortunately you can't use binaries in 'both' mode") }
|
||||
return compilations.withType(KotlinJsCompilation::class.java)
|
||||
.named(MAIN_COMPILATION_NAME)
|
||||
.map { it.binaries }
|
||||
.get()
|
||||
}
|
||||
|
||||
var irTarget: KotlinJsIrTarget? = null
|
||||
@@ -150,35 +147,6 @@ constructor(
|
||||
irTarget?.nodejs(body)
|
||||
}
|
||||
|
||||
override fun produceExecutable() {
|
||||
produce(KotlinJsProducingType.EXECUTABLE) {
|
||||
(this as KotlinJsSubTarget).produceExecutable()
|
||||
}
|
||||
}
|
||||
|
||||
private fun produce(
|
||||
producingType: KotlinJsProducingType,
|
||||
producer: KotlinJsSubTargetDsl.() -> Unit = {}
|
||||
) {
|
||||
check(this.producingType == null || this.producingType == producingType) {
|
||||
"Only one producing type supported. Try to set $producingType but previously ${this.producingType} found"
|
||||
}
|
||||
|
||||
this.producingType = producingType
|
||||
|
||||
whenBrowserConfigured {
|
||||
if (this is KotlinBrowserJs) {
|
||||
producer()
|
||||
}
|
||||
}
|
||||
|
||||
whenNodejsConfigured {
|
||||
if (this is KotlinNodeJs) {
|
||||
producer()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun whenBrowserConfigured(body: KotlinJsBrowserDsl.() -> Unit) {
|
||||
if (browserLazyDelegate.isInitialized()) {
|
||||
browser(body)
|
||||
|
||||
-2
@@ -49,8 +49,6 @@ interface KotlinJsTargetDsl : KotlinTarget {
|
||||
}
|
||||
}
|
||||
|
||||
fun produceExecutable()
|
||||
|
||||
fun useCommonJs()
|
||||
|
||||
val binaries: KotlinJsBinaryContainer
|
||||
|
||||
+17
-11
@@ -11,10 +11,12 @@ import org.gradle.api.plugins.ExtensionAware
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinTargetWithBinaries
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind.DEVELOPMENT
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind.PRODUCTION
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinJsSubTarget
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -36,20 +38,24 @@ constructor(
|
||||
fun executable(
|
||||
compilation: KotlinJsCompilation = defaultCompilation
|
||||
) {
|
||||
if (compilation !is KotlinJsIrCompilation) {
|
||||
project.logger.warn(
|
||||
"binaries.executable configuration is useless with IR compiler." +
|
||||
"Use produceExecutable() instead"
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
(target as KotlinJsSubTargetContainerDsl).whenBrowserConfigured {
|
||||
(this as KotlinJsIrSubTarget).produceExecutable()
|
||||
if (target is KotlinJsIrTarget) {
|
||||
(this as KotlinJsIrSubTarget).produceExecutable()
|
||||
}
|
||||
|
||||
if (target is KotlinJsTarget) {
|
||||
(this as KotlinJsSubTarget).produceExecutable()
|
||||
}
|
||||
}
|
||||
|
||||
target.whenNodejsConfigured {
|
||||
(this as KotlinJsIrSubTarget).produceExecutable()
|
||||
(target as KotlinJsSubTargetContainerDsl).whenNodejsConfigured {
|
||||
if (target is KotlinJsIrTarget) {
|
||||
(this as KotlinJsIrSubTarget).produceExecutable()
|
||||
}
|
||||
|
||||
if (target is KotlinJsTarget) {
|
||||
(this as KotlinJsSubTarget).produceExecutable()
|
||||
}
|
||||
}
|
||||
|
||||
compilation.binaries.executableInternal(compilation)
|
||||
|
||||
-8
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.js.ir
|
||||
|
||||
import org.gradle.api.file.SourceDirectorySet
|
||||
import org.gradle.util.WrapUtil
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
@@ -17,13 +16,6 @@ class KotlinJsIrCompilation(
|
||||
name: String
|
||||
) : KotlinJsCompilation(target, name) {
|
||||
|
||||
internal val binaries: KotlinJsBinaryContainer =
|
||||
target.project.objects.newInstance(
|
||||
KotlinJsBinaryContainer::class.java,
|
||||
target,
|
||||
WrapUtil.toDomainObjectSet(JsBinary::class.java)
|
||||
)
|
||||
|
||||
internal val allSources: MutableSet<SourceDirectorySet> = mutableSetOf()
|
||||
|
||||
override fun addSourcesToCompileTask(sourceSet: KotlinSourceSet, addAsCommonSources: Lazy<Boolean>) {
|
||||
|
||||
-5
@@ -97,11 +97,6 @@ constructor(
|
||||
body(nodejs)
|
||||
}
|
||||
|
||||
@Deprecated("Use binaries.executable instead", ReplaceWith("binaries.executable()"))
|
||||
override fun produceExecutable() {
|
||||
project.logger.warn("produceExecutable configuration is useless with IR compiler")
|
||||
}
|
||||
|
||||
override fun whenBrowserConfigured(body: KotlinJsBrowserDsl.() -> Unit) {
|
||||
if (browserLazyDelegate.isInitialized()) {
|
||||
browser(body)
|
||||
|
||||
Reference in New Issue
Block a user