[Gradle, JS] Rename BuildVariantKind on KotlinJsBinaryType
This commit is contained in:
+2
-2
@@ -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<out KotlinJsIrLink> {
|
||||
return tasksProvider.registerKotlinJsIrTask(
|
||||
|
||||
+1
-11
@@ -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
|
||||
}
|
||||
+3
-3
@@ -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,
|
||||
|
||||
+6
-6
@@ -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<Task>(
|
||||
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 <T> 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 {
|
||||
|
||||
+10
-10
@@ -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 <T : JsBinary> createBinaries(
|
||||
compilation: KotlinJsCompilation,
|
||||
buildVariantKinds: Collection<BuildVariantKind> = listOf(PRODUCTION, DEVELOPMENT),
|
||||
types: Collection<KotlinJsBinaryType> = 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()
|
||||
)
|
||||
}
|
||||
|
||||
+4
-4
@@ -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
|
||||
|
||||
+2
-2
@@ -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(
|
||||
|
||||
+3
-3
@@ -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)
|
||||
|
||||
+10
-10
@@ -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<Task>(
|
||||
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 <T> 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 {
|
||||
|
||||
Reference in New Issue
Block a user