[Gradle, JS] Remove KotlinJsIrType on BuildVariantKind

This commit is contained in:
Ilya Goncharov
2020-02-12 15:17:35 +03:00
parent 1de720cdd0
commit e518998da3
6 changed files with 24 additions and 25 deletions
@@ -55,7 +55,7 @@ class Kotlin2JsIrGradlePluginIT : AbstractKotlin2JsGradlePluginIT(true) {
tasks { tasks {
named("compileProductionKotlinJs").configure { named("compileProductionKotlinJs").configure {
this as org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink this as org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink
type = org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.DEVELOPMENT type = org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind.DEVELOPMENT
} }
} }
""".trimIndent() """.trimIndent()
@@ -37,9 +37,9 @@ import org.jetbrains.kotlin.gradle.logging.kotlinWarn
import org.jetbrains.kotlin.gradle.model.builder.KotlinModelBuilder import org.jetbrains.kotlin.gradle.model.builder.KotlinModelBuilder
import org.jetbrains.kotlin.gradle.plugin.mpp.* import org.jetbrains.kotlin.gradle.plugin.mpp.*
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin
import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
import org.jetbrains.kotlin.gradle.tasks.* import org.jetbrains.kotlin.gradle.tasks.*
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@@ -328,7 +328,7 @@ internal class KotlinJsIrSourceSetProcessor(
return registerJsLink( return registerJsLink(
project, project,
taskName, taskName,
KotlinJsIrType.PRODUCTION, BuildVariantKind.PRODUCTION,
configureAction configureAction
) )
} }
@@ -337,7 +337,7 @@ internal class KotlinJsIrSourceSetProcessor(
return registerJsLink( return registerJsLink(
project, project,
taskName, taskName,
KotlinJsIrType.DEVELOPMENT, BuildVariantKind.DEVELOPMENT,
configureAction configureAction
) )
} }
@@ -348,7 +348,7 @@ internal class KotlinJsIrSourceSetProcessor(
private fun registerJsLink( private fun registerJsLink(
project: Project, project: Project,
taskName: String, taskName: String,
type: KotlinJsIrType, type: BuildVariantKind,
configureAction: (Kotlin2JsCompile) -> Unit configureAction: (Kotlin2JsCompile) -> Unit
): TaskProvider<out KotlinJsIrLink> { ): TaskProvider<out KotlinJsIrLink> {
return tasksProvider.registerKotlinJsIrTask( return tasksProvider.registerKotlinJsIrTask(
@@ -9,11 +9,12 @@ import org.gradle.api.Project
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
sealed class JsBinary( sealed class JsBinary(
internal val name: String, internal val name: String,
internal val type: KotlinJsIrType, internal val type: BuildVariantKind,
internal val compilation: KotlinJsCompilation internal val compilation: KotlinJsCompilation
) { ) {
val linkTaskName: String = linkTaskName(type) val linkTaskName: String = linkTaskName(type)
@@ -21,7 +22,7 @@ sealed class JsBinary(
val linkTask: TaskProvider<KotlinJsIrLink> val linkTask: TaskProvider<KotlinJsIrLink>
get() = target.project.tasks.named(linkTaskName) as TaskProvider<KotlinJsIrLink> get() = target.project.tasks.named(linkTaskName) as TaskProvider<KotlinJsIrLink>
private fun linkTaskName(type: KotlinJsIrType): String = private fun linkTaskName(type: BuildVariantKind): String =
lowerCamelCaseName( lowerCamelCaseName(
"compile", "compile",
type.name.toLowerCase(), type.name.toLowerCase(),
@@ -39,7 +40,7 @@ sealed class JsBinary(
class Executable( class Executable(
name: String, name: String,
type: KotlinJsIrType, type: BuildVariantKind,
compilation: KotlinJsCompilation compilation: KotlinJsCompilation
) : JsBinary( ) : JsBinary(
name, name,
@@ -49,7 +50,7 @@ class Executable(
class TestExecutable( class TestExecutable(
name: String, name: String,
type: KotlinJsIrType, type: BuildVariantKind,
compilation: KotlinJsCompilation compilation: KotlinJsCompilation
) : JsBinary( ) : JsBinary(
name, name,
@@ -11,8 +11,9 @@ import org.gradle.api.plugins.ExtensionAware
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinBinaryContainer import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinBinaryContainer
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.DEVELOPMENT import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.PRODUCTION 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.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import javax.inject.Inject import javax.inject.Inject
@@ -48,9 +49,9 @@ constructor(
private fun <T : JsBinary> createBinaries( private fun <T : JsBinary> createBinaries(
baseName: String, baseName: String,
buildVariantKinds: Collection<KotlinJsIrType> = listOf(PRODUCTION, DEVELOPMENT), buildVariantKinds: Collection<BuildVariantKind> = listOf(PRODUCTION, DEVELOPMENT),
jsBinaryType: JsBinaryType, jsBinaryType: JsBinaryType,
create: (name: String, buildVariantKind: KotlinJsIrType, compilation: KotlinJsCompilation) -> T create: (name: String, buildVariantKind: BuildVariantKind, compilation: KotlinJsCompilation) -> T
) { ) {
buildVariantKinds.forEach { buildVariantKind -> buildVariantKinds.forEach { buildVariantKind ->
val name = generateBinaryName( val name = generateBinaryName(
@@ -83,7 +84,7 @@ constructor(
companion object { companion object {
internal fun generateBinaryName( internal fun generateBinaryName(
name: String, name: String,
buildVariantKind: KotlinJsIrType, buildVariantKind: BuildVariantKind,
jsBinaryType: JsBinaryType jsBinaryType: JsBinaryType
) = ) =
lowerCamelCaseName( lowerCamelCaseName(
@@ -11,8 +11,9 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.DEVELOPMENT import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.PRODUCTION 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.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
class KotlinJsIrCompilation( class KotlinJsIrCompilation(
@@ -29,7 +30,7 @@ class KotlinJsIrCompilation(
val developmentLinkTask: TaskProvider<KotlinJsIrLink> val developmentLinkTask: TaskProvider<KotlinJsIrLink>
get() = target.project.tasks.named(developmentLinkTaskName) as TaskProvider<KotlinJsIrLink> get() = target.project.tasks.named(developmentLinkTaskName) as TaskProvider<KotlinJsIrLink>
private fun linkTaskName(type: KotlinJsIrType): String = private fun linkTaskName(type: BuildVariantKind): String =
lowerCamelCaseName( lowerCamelCaseName(
"compile", "compile",
type.name.toLowerCase(), type.name.toLowerCase(),
@@ -11,8 +11,9 @@ import org.gradle.api.tasks.*
import org.gradle.api.tasks.incremental.IncrementalTaskInputs import org.gradle.api.tasks.incremental.IncrementalTaskInputs
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.DEVELOPMENT import org.jetbrains.kotlin.gradle.targets.js.dsl.BuildVariantKind
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.PRODUCTION 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.tasks.Kotlin2JsCompile import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
import org.jetbrains.kotlin.gradle.utils.newFileProperty import org.jetbrains.kotlin.gradle.utils.newFileProperty
import java.io.File import java.io.File
@@ -20,7 +21,7 @@ import java.io.File
@CacheableTask @CacheableTask
open class KotlinJsIrLink : Kotlin2JsCompile() { open class KotlinJsIrLink : Kotlin2JsCompile() {
@Input @Input
lateinit var type: KotlinJsIrType lateinit var type: BuildVariantKind
// Not check sources, only klib module // Not check sources, only klib module
@Internal @Internal
@@ -71,9 +72,4 @@ open class KotlinJsIrLink : Kotlin2JsCompile() {
PRODUCE_JS + PRODUCE_JS +
"$ENTRY_IR_MODULE=${entryModule.canonicalPath}" "$ENTRY_IR_MODULE=${entryModule.canonicalPath}"
} }
}
enum class KotlinJsIrType {
PRODUCTION,
DEVELOPMENT
} }