Get first platform from platformCompilations instead host platform.

Fixed #KMM-234
This commit is contained in:
Konstantin Tskhovrebov
2020-04-16 16:15:49 +03:00
parent 90fd2c6c4c
commit 6d7e428d89
3 changed files with 12 additions and 5 deletions
@@ -262,7 +262,12 @@ class KotlinMetadataTargetConfigurator(kotlinPluginVersion: String) :
val isNativeSourceSet = platformCompilations.all { compilation -> compilation.target is KotlinNativeTarget }
val compilationFactory: KotlinCompilationFactory<out AbstractKotlinCompilation<*>> = when {
isNativeSourceSet -> KotlinSharedNativeCompilationFactory(target)
isNativeSourceSet -> KotlinSharedNativeCompilationFactory(
target,
//get FIRST platform for metadata compiling
//todo: get commonized platform libraries for metadata compiling
(platformCompilations.first() as KotlinNativeCompilation).konanTarget
)
else -> KotlinCommonCompilationFactory(target)
}
@@ -97,8 +97,8 @@ class KotlinNativeCompilation(
get() = compileKotlinTask.kotlinOptions
}
class KotlinSharedNativeCompilation(override val target: KotlinMetadataTarget, name: String) :
AbstractKotlinNativeCompilation(target, HostManager.host, name),
class KotlinSharedNativeCompilation(override val target: KotlinMetadataTarget, konanTarget: KonanTarget, name: String) :
AbstractKotlinNativeCompilation(target, konanTarget, name),
KotlinMetadataCompilation<KotlinCommonOptions> {
override val friendArtifacts: FileCollection
@@ -7,6 +7,7 @@
package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget
class KotlinNativeCompilationFactory(
val target: KotlinNativeTarget
@@ -24,11 +25,12 @@ class KotlinNativeCompilationFactory(
}
class KotlinSharedNativeCompilationFactory(
val target: KotlinMetadataTarget
val target: KotlinMetadataTarget,
val konanTarget: KonanTarget
): KotlinCompilationFactory<KotlinSharedNativeCompilation> {
override val itemClass: Class<KotlinSharedNativeCompilation>
get() = KotlinSharedNativeCompilation::class.java
override fun create(name: String): KotlinSharedNativeCompilation =
KotlinSharedNativeCompilation(target, name)
KotlinSharedNativeCompilation(target, konanTarget, name)
}