From 6d7e428d89e7302a8fc97d42f87110d41dc6b3a9 Mon Sep 17 00:00:00 2001 From: Konstantin Tskhovrebov Date: Thu, 16 Apr 2020 16:15:49 +0300 Subject: [PATCH] Get first platform from platformCompilations instead host platform. Fixed #KMM-234 --- .../targets/metadata/KotlinMetadataTargetConfigurator.kt | 7 ++++++- .../gradle/targets/native/KotlinNativeCompilation.kt | 4 ++-- .../targets/native/KotlinNativeCompilationFactory.kt | 6 ++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt index 5b43a10eb45..5cb9309b31a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt @@ -262,7 +262,12 @@ class KotlinMetadataTargetConfigurator(kotlinPluginVersion: String) : val isNativeSourceSet = platformCompilations.all { compilation -> compilation.target is KotlinNativeTarget } val compilationFactory: KotlinCompilationFactory> = 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) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilation.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilation.kt index 3073364eec7..40dfe5ec812 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilation.kt @@ -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 { override val friendArtifacts: FileCollection diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilationFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilationFactory.kt index df2dc901138..868d2bfab0e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilationFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilationFactory.kt @@ -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 { override val itemClass: Class get() = KotlinSharedNativeCompilation::class.java override fun create(name: String): KotlinSharedNativeCompilation = - KotlinSharedNativeCompilation(target, name) + KotlinSharedNativeCompilation(target, konanTarget, name) } \ No newline at end of file