(minor) Initialize compilations with the precise target type

This commit is contained in:
Sergey Igushkin
2020-06-06 00:04:57 +03:00
parent f4e4baa253
commit 1749cb9129
7 changed files with 9 additions and 7 deletions
@@ -46,6 +46,6 @@ abstract class KotlinOnlyTargetPreset<R : KotlinOnlyTarget<T>, T : KotlinCompila
return result return result
} }
protected abstract fun createCompilationFactory(forTarget: KotlinOnlyTarget<T>): KotlinCompilationFactory<T> protected abstract fun createCompilationFactory(forTarget: R): KotlinCompilationFactory<T>
protected abstract val platformType: KotlinPlatformType protected abstract val platformType: KotlinPlatformType
} }
@@ -83,7 +83,7 @@ open class KotlinJsTargetPreset(
) )
} }
override fun createCompilationFactory(forTarget: KotlinOnlyTarget<KotlinJsCompilation>): KotlinJsCompilationFactory { override fun createCompilationFactory(forTarget: KotlinJsTarget): KotlinJsCompilationFactory {
return KotlinJsCompilationFactory(project, forTarget, irPreset?.let { (forTarget as KotlinJsTarget).irTarget }) return KotlinJsCompilationFactory(project, forTarget, irPreset?.let { (forTarget as KotlinJsTarget).irTarget })
} }
@@ -59,7 +59,7 @@ open class KotlinJsIrTargetPreset(
//TODO[Ilya Goncharov] remove public morozov //TODO[Ilya Goncharov] remove public morozov
public override fun createCompilationFactory( public override fun createCompilationFactory(
forTarget: KotlinOnlyTarget<KotlinJsIrCompilation> forTarget: KotlinJsIrTarget
): KotlinCompilationFactory<KotlinJsIrCompilation> = ): KotlinCompilationFactory<KotlinJsIrCompilation> =
KotlinJsIrCompilationFactory(project, forTarget) KotlinJsIrCompilationFactory(project, forTarget)
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
open class KotlinJvmCompilation( open class KotlinJvmCompilation(
target: KotlinTarget, override val target: KotlinJvmTarget,
name: String name: String
) : AbstractKotlinCompilationToRunnableFiles<KotlinJvmOptions>(target, name), KotlinCompilationWithResources<KotlinJvmOptions> { ) : AbstractKotlinCompilationToRunnableFiles<KotlinJvmOptions>(target, name), KotlinCompilationWithResources<KotlinJvmOptions> {
override val processResourcesTaskName: String override val processResourcesTaskName: String
@@ -6,8 +6,10 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
class KotlinJvmCompilationFactory( class KotlinJvmCompilationFactory(
val target: KotlinOnlyTarget<KotlinJvmCompilation> val target: KotlinJvmTarget
) : KotlinCompilationFactory<KotlinJvmCompilation> { ) : KotlinCompilationFactory<KotlinJvmCompilation> {
override val itemClass: Class<KotlinJvmCompilation> override val itemClass: Class<KotlinJvmCompilation>
get() = KotlinJvmCompilation::class.java get() = KotlinJvmCompilation::class.java
@@ -24,7 +24,7 @@ class KotlinJvmTargetPreset(
override fun getName(): String = PRESET_NAME override fun getName(): String = PRESET_NAME
override fun createCompilationFactory(forTarget: KotlinOnlyTarget<KotlinJvmCompilation>): KotlinCompilationFactory<KotlinJvmCompilation> = override fun createCompilationFactory(forTarget: KotlinJvmTarget): KotlinCompilationFactory<KotlinJvmCompilation> =
KotlinJvmCompilationFactory(forTarget) KotlinJvmCompilationFactory(forTarget)
override fun createKotlinTargetConfigurator() = KotlinJvmTargetConfigurator(kotlinPluginVersion) override fun createKotlinTargetConfigurator() = KotlinJvmTargetConfigurator(kotlinPluginVersion)
@@ -22,7 +22,7 @@ class KotlinMetadataTargetPreset(
override fun getName(): String = PRESET_NAME override fun getName(): String = PRESET_NAME
override fun createCompilationFactory( override fun createCompilationFactory(
forTarget: KotlinOnlyTarget<AbstractKotlinCompilation<*>> forTarget: KotlinMetadataTarget
): KotlinCompilationFactory<AbstractKotlinCompilation<*>> = ): KotlinCompilationFactory<AbstractKotlinCompilation<*>> =
object : KotlinCompilationFactory<AbstractKotlinCompilation<*>> { object : KotlinCompilationFactory<AbstractKotlinCompilation<*>> {
override val itemClass: Class<AbstractKotlinCompilation<*>> override val itemClass: Class<AbstractKotlinCompilation<*>>