diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index ec83d4b7758..de2dcac7244 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.gradle.logging.kotlinWarn import org.jetbrains.kotlin.gradle.model.builder.KotlinModelBuilder import org.jetbrains.kotlin.gradle.plugin.mpp.* import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin -import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryType import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget @@ -332,7 +332,7 @@ internal class KotlinJsIrSourceSetProcessor( private fun registerJsLink( project: Project, taskName: String, - type: BuildVariantKind, + type: KotlinJsBinaryType, configureAction: (Kotlin2JsCompile) -> Unit ): TaskProvider { return tasksProvider.registerKotlinJsIrTask( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/BuildVariant.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsBinaryType.kt similarity index 54% rename from libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/BuildVariant.kt rename to libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsBinaryType.kt index d307b5427e2..add860862d7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/BuildVariant.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsBinaryType.kt @@ -5,17 +5,7 @@ package org.jetbrains.kotlin.gradle.targets.js.dsl -import org.gradle.api.Named - -class BuildVariant(private val name: String) : Named { - var kind: BuildVariantKind = BuildVariantKind.PRODUCTION - - override fun getName(): String { - return name - } -} - -enum class BuildVariantKind { +enum class KotlinJsBinaryType { PRODUCTION, DEVELOPMENT } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/JsBinaries.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/JsBinaries.kt index 043e3df595e..f4d9f34da35 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/JsBinaries.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/JsBinaries.kt @@ -9,14 +9,14 @@ import org.gradle.api.Project import org.gradle.api.tasks.TaskProvider import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation -import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryType import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsBinaryContainer.Companion.generateBinaryName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName sealed class JsBinary( internal val compilation: KotlinJsCompilation, internal val name: String, - internal val type: BuildVariantKind + internal val type: KotlinJsBinaryType ) { val linkTaskName: String = linkTaskName() @@ -43,7 +43,7 @@ sealed class JsBinary( class Executable( compilation: KotlinJsCompilation, name: String, - type: BuildVariantKind + type: KotlinJsBinaryType ) : JsBinary( compilation, name, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt index b847abb7c04..996bd25e186 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt @@ -102,7 +102,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : } } - if (type == BuildVariantKind.DEVELOPMENT) { + if (type == KotlinJsBinaryType.DEVELOPMENT) { target.runTask.dependsOn(runTask) commonRunTask.configure { it.dependsOn(runTask) @@ -166,7 +166,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : } } - if (type == BuildVariantKind.PRODUCTION) { + if (type == KotlinJsBinaryType.PRODUCTION) { assembleTask.dependsOn(webpackTask) val webpackCommonTask = project.registerTask( disambiguateCamelCased(WEBPACK_TASK_NAME) @@ -181,7 +181,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : } } - private fun KotlinWebpack.configureOptimization(kind: BuildVariantKind) { + private fun KotlinWebpack.configureOptimization(kind: KotlinJsBinaryType) { mode = getByKind( kind = kind, releaseValue = Mode.PRODUCTION, @@ -196,12 +196,12 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : } private fun getByKind( - kind: BuildVariantKind, + kind: KotlinJsBinaryType, releaseValue: T, debugValue: T ): T = when (kind) { - BuildVariantKind.PRODUCTION -> releaseValue - BuildVariantKind.DEVELOPMENT -> debugValue + KotlinJsBinaryType.PRODUCTION -> releaseValue + KotlinJsBinaryType.DEVELOPMENT -> debugValue } companion object { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt index e28ffb83a86..57273776c25 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt @@ -12,9 +12,9 @@ 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.KotlinJsBinaryType +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryType.DEVELOPMENT +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryType.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 @@ -68,18 +68,18 @@ constructor( ) internal fun getBinary( - buildVariantKind: BuildVariantKind + type: KotlinJsBinaryType ): JsBinary = - matching { it.type == buildVariantKind } + matching { it.type == type } .single() private fun createBinaries( compilation: KotlinJsCompilation, - buildVariantKinds: Collection = listOf(PRODUCTION, DEVELOPMENT), + types: Collection = listOf(PRODUCTION, DEVELOPMENT), jsBinaryType: JsBinaryType, - create: (compilation: KotlinJsCompilation, name: String, buildVariantKind: BuildVariantKind) -> T + create: (compilation: KotlinJsCompilation, name: String, type: KotlinJsBinaryType) -> T ) { - buildVariantKinds.forEach { buildVariantKind -> + types.forEach { buildVariantKind -> val name = generateBinaryName( compilation, buildVariantKind, @@ -102,12 +102,12 @@ constructor( companion object { internal fun generateBinaryName( compilation: KotlinJsCompilation, - buildVariantKind: BuildVariantKind, + type: KotlinJsBinaryType, jsBinaryType: JsBinaryType? ) = lowerCamelCaseName( compilation.name.let { if (it == KotlinCompilation.MAIN_COMPILATION_NAME) null else it }, - buildVariantKind.name.toLowerCase(), + type.name.toLowerCase(), jsBinaryType?.name?.toLowerCase() ) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrLink.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrLink.kt index 8a80b450117..0ac493c523f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrLink.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrLink.kt @@ -11,9 +11,9 @@ import org.gradle.api.tasks.* import org.gradle.api.tasks.incremental.IncrementalTaskInputs import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions -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.KotlinJsBinaryType +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryType.DEVELOPMENT +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryType.PRODUCTION import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile import org.jetbrains.kotlin.gradle.utils.newFileProperty import java.io.File @@ -21,7 +21,7 @@ import java.io.File @CacheableTask open class KotlinJsIrLink : Kotlin2JsCompile() { @Input - lateinit var type: BuildVariantKind + lateinit var type: KotlinJsBinaryType // Not check sources, only klib module @Internal diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt index 3c59620aed8..38c140baf9b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt @@ -13,7 +13,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests import org.jetbrains.kotlin.gradle.plugin.whenEvaluated import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun -import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryType import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetDsl import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin import org.jetbrains.kotlin.gradle.targets.js.npm.NpmResolverPlugin @@ -91,7 +91,7 @@ abstract class KotlinJsIrSubTarget( testJs.description = testTaskDescription val testExecutableTask = compilation.binaries.getBinary( - BuildVariantKind.DEVELOPMENT + KotlinJsBinaryType.DEVELOPMENT ).linkTask testJs.inputFileProperty.set( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt index 8563759a29d..36a26cb41f4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.gradle.targets.js.ir import org.gradle.language.base.plugins.LifecycleBasePlugin -import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryType import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest @@ -31,7 +31,7 @@ open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) : override fun configureRun( compilation: KotlinJsIrCompilation ) { - val developmentExecutable = compilation.binaries.getBinary(BuildVariantKind.DEVELOPMENT) + val developmentExecutable = compilation.binaries.getBinary(KotlinJsBinaryType.DEVELOPMENT) val runTaskHolder = NodeJsExec.create(compilation, disambiguateCamelCased(RUN_TASK_NAME)) { inputFileProperty.set(developmentExecutable.linkTask.map { it.outputFileProperty.get() }) @@ -42,7 +42,7 @@ open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) : override fun configureBuild( compilation: KotlinJsIrCompilation ) { - val productionExecutable = compilation.binaries.getBinary(BuildVariantKind.PRODUCTION) + val productionExecutable = compilation.binaries.getBinary(KotlinJsBinaryType.PRODUCTION) val assembleTask = project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME) assembleTask.dependsOn(productionExecutable.linkTask) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt index 6479463e736..843c94ab2ff 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt @@ -116,7 +116,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : it.outputs.upToDateWhen { false } when (type) { - BuildVariantKind.PRODUCTION -> { + KotlinJsBinaryType.PRODUCTION -> { // Breaking of Task Configuration Avoidance is not so critical // because this task is dependent on DCE task it.entry = dceTaskProvider.get() @@ -125,7 +125,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : it.resolveFromModulesFirst = true it.dependsOn(dceTaskProvider) } - BuildVariantKind.DEVELOPMENT -> { + KotlinJsBinaryType.DEVELOPMENT -> { it.dependsOn(compileKotlinTask) } } @@ -135,7 +135,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : } } - if (type == BuildVariantKind.DEVELOPMENT) { + if (type == KotlinJsBinaryType.DEVELOPMENT) { target.runTask.dependsOn(runTask) commonRunTask.configure { it.dependsOn(runTask) @@ -199,7 +199,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : it.destinationDirectory = distribution.directory when (type) { - BuildVariantKind.PRODUCTION -> { + KotlinJsBinaryType.PRODUCTION -> { // Breaking of Task Configuration Avoidance is not so critical // because this task is dependent on DCE task it.entry = dceTaskProvider.get() @@ -208,7 +208,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : it.resolveFromModulesFirst = true it.dependsOn(dceTaskProvider) } - BuildVariantKind.DEVELOPMENT -> { + KotlinJsBinaryType.DEVELOPMENT -> { it.dependsOn(compileKotlinTask) } } @@ -218,7 +218,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : } } - if (type == BuildVariantKind.PRODUCTION) { + if (type == KotlinJsBinaryType.PRODUCTION) { assembleTask.dependsOn(webpackTask) val webpackCommonTask = project.registerTask( disambiguateCamelCased(WEBPACK_TASK_NAME) @@ -262,7 +262,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : } } - private fun KotlinWebpack.configureOptimization(kind: BuildVariantKind) { + private fun KotlinWebpack.configureOptimization(kind: KotlinJsBinaryType) { mode = getByKind( kind = kind, releaseValue = Mode.PRODUCTION, @@ -277,12 +277,12 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : } private fun getByKind( - kind: BuildVariantKind, + kind: KotlinJsBinaryType, releaseValue: T, debugValue: T ): T = when (kind) { - BuildVariantKind.PRODUCTION -> releaseValue - BuildVariantKind.DEVELOPMENT -> debugValue + KotlinJsBinaryType.PRODUCTION -> releaseValue + KotlinJsBinaryType.DEVELOPMENT -> debugValue } companion object {