diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt index fed4ab70f53..3bd73b559a7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.setProperty import javax.inject.Inject -open class KotlinJsTarget +abstract class KotlinJsTarget @Inject constructor( project: Project, @@ -70,9 +70,9 @@ constructor( if (irTarget == null) super.kotlinComponents else { - val mainCompilation = compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME) + val mainCompilation = compilations.getByName(MAIN_COMPILATION_NAME) val usageContexts = createUsageContexts(mainCompilation) + - irTarget!!.createUsageContexts(irTarget!!.compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME)) + irTarget!!.createUsageContexts(irTarget!!.compilations.getByName(MAIN_COMPILATION_NAME)) val componentName = if (project.kotlinExtension is KotlinMultiplatformExtension) @@ -96,7 +96,7 @@ constructor( return usageContexts + DefaultKotlinUsageContext( - compilation = compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME), + compilation = compilations.getByName(MAIN_COMPILATION_NAME), usage = project.usageByName("java-api-jars"), dependencyConfigurationName = commonFakeApiElementsConfigurationName, overrideConfigurationArtifacts = project.setProperty { emptyList() } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsTargetDsl.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsTargetDsl.kt index 641c1399314..926b4c52dc6 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsTargetDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsTargetDsl.kt @@ -5,10 +5,9 @@ package org.jetbrains.kotlin.gradle.targets.js.dsl -import groovy.lang.Closure +import org.gradle.api.Action import org.gradle.api.GradleException import org.gradle.api.NamedDomainObjectContainer -import org.gradle.util.ConfigureUtil import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation @@ -39,17 +38,17 @@ interface KotlinJsTargetDsl : KotlinTarget { fun browser() = browser { } fun browser(body: KotlinJsBrowserDsl.() -> Unit) - fun browser(fn: Closure<*>) { + fun browser(fn: Action) { browser { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } fun nodejs() = nodejs { } fun nodejs(body: KotlinJsNodeDsl.() -> Unit) - fun nodejs(fn: Closure<*>) { + fun nodejs(fn: Action) { nodejs { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } @@ -77,16 +76,16 @@ interface KotlinJsSubTargetDsl { fun distribution(body: Distribution.() -> Unit) @ExperimentalDistributionDsl - fun distribution(fn: Closure<*>) { + fun distribution(fn: Action) { distribution { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } fun testTask(body: KotlinJsTest.() -> Unit) - fun testTask(fn: Closure<*>) { + fun testTask(fn: Action) { testTask { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } @@ -95,23 +94,23 @@ interface KotlinJsSubTargetDsl { interface KotlinJsBrowserDsl : KotlinJsSubTargetDsl { fun commonWebpackConfig(body: KotlinWebpackConfig.() -> Unit) - fun commonWebpackConfig(fn: Closure<*>) { + fun commonWebpackConfig(fn: Action) { commonWebpackConfig { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } fun runTask(body: KotlinWebpack.() -> Unit) - fun runTask(fn: Closure<*>) { + fun runTask(fn: Action) { runTask { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } fun webpackTask(body: KotlinWebpack.() -> Unit) - fun webpackTask(fn: Closure<*>) { + fun webpackTask(fn: Action) { webpackTask { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } @@ -119,9 +118,9 @@ interface KotlinJsBrowserDsl : KotlinJsSubTargetDsl { fun dceTask(body: KotlinJsDce.() -> Unit) @ExperimentalDceDsl - fun dceTask(fn: Closure<*>) { + fun dceTask(fn: Action) { dceTask { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinWasmTargetDsl.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinWasmTargetDsl.kt index aa8a34719ec..284af38dfa4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinWasmTargetDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinWasmTargetDsl.kt @@ -5,8 +5,7 @@ package org.jetbrains.kotlin.gradle.targets.js.dsl -import groovy.lang.Closure -import org.gradle.util.ConfigureUtil +import org.gradle.api.Action import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.targets.js.binaryen.BinaryenExec import org.jetbrains.kotlin.gradle.targets.js.d8.D8Exec @@ -24,17 +23,17 @@ interface KotlinWasmSubTargetContainerDsl : KotlinTarget { interface KotlinWasmTargetDsl : KotlinJsTargetDsl { fun d8() = d8 { } fun d8(body: KotlinWasmD8Dsl.() -> Unit) - fun d8(fn: Closure<*>) { + fun d8(fn: Action) { d8 { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } fun applyBinaryen() = applyBinaryen { } fun applyBinaryen(body: BinaryenExec.() -> Unit) - fun applyBinaryen(fn: Closure<*>) { + fun applyBinaryen(fn: Action) { applyBinaryen { - ConfigureUtil.configure(fn, this) + fn.execute(this) } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt index 07b5275f939..c19ac710f0a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt @@ -10,7 +10,6 @@ import org.gradle.api.provider.Provider import org.gradle.api.tasks.Copy import org.gradle.language.base.plugins.LifecycleBasePlugin import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce -import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.report.BuildMetricsReporterService @@ -31,7 +30,7 @@ import org.jetbrains.kotlin.gradle.utils.newFileProperty import java.io.File import javax.inject.Inject -open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : +abstract class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : KotlinJsIrSubTarget(target, "browser"), KotlinJsBrowserDsl { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinD8Ir.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinD8Ir.kt index d8c7293a135..7eecec75509 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinD8Ir.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinD8Ir.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.tasks.locateTask import org.jetbrains.kotlin.gradle.tasks.withType import javax.inject.Inject -open class KotlinD8Ir @Inject constructor(target: KotlinJsIrTarget) : +abstract class KotlinD8Ir @Inject constructor(target: KotlinJsIrTarget) : KotlinJsIrSubTargetBase(target, "d8"), KotlinWasmD8Dsl { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt index 7ada88b6406..7d3d79971d7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.setProperty import javax.inject.Inject -open class KotlinJsIrTarget +abstract class KotlinJsIrTarget @Inject constructor( project: Project, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt index 6fa5fe70a00..dcf5d0520fa 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.gradle.tasks.locateTask import org.jetbrains.kotlin.gradle.tasks.withType import javax.inject.Inject -open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) : +abstract class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) : KotlinJsIrSubTargetBase(target, "node"), KotlinJsNodeDsl { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt index 0f735701801..3ca68ba2b7a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt @@ -37,7 +37,7 @@ import java.io.File import javax.inject.Inject import org.jetbrains.kotlin.gradle.tasks.KotlinJsDce as KotlinJsDceTask -open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : +abstract class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : KotlinJsSubTarget(target, "browser"), KotlinJsBrowserDsl { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinNodeJs.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinNodeJs.kt index e3c9079b27d..af8740244af 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinNodeJs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinNodeJs.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.gradle.tasks.dependsOn import org.jetbrains.kotlin.gradle.tasks.withType import javax.inject.Inject -open class KotlinNodeJs @Inject constructor(target: KotlinJsTarget) : +abstract class KotlinNodeJs @Inject constructor(target: KotlinJsTarget) : KotlinJsSubTarget(target, "node"), KotlinJsNodeDsl { override val testTaskDescription: String