Get first platform from platformCompilations instead host platform.
Fixed #KMM-234
This commit is contained in:
+6
-1
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+4
-2
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user