From 17ad0a97d818e7f2bf6eb2267f3866fc63ac49af Mon Sep 17 00:00:00 2001 From: Konstantin Tskhovrebov Date: Mon, 27 Apr 2020 14:40:55 +0300 Subject: [PATCH] Add commonized dependencies to metadata compilation. --- .../internal/KotlinNativePlatformDependencies.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/KotlinNativePlatformDependencies.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/KotlinNativePlatformDependencies.kt index eda25293ea7..6e539e4e60a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/KotlinNativePlatformDependencies.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/KotlinNativePlatformDependencies.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle.targets.native.internal import org.gradle.api.Project import org.jetbrains.kotlin.compilerRunner.konanHome +import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull import org.jetbrains.kotlin.gradle.internal.isInIdeaSync import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet @@ -15,7 +16,10 @@ import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.KOTLIN_NA import org.jetbrains.kotlin.gradle.plugin.compareVersionNumbers import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.plugin.mpp.CompilationSourceSetUtil +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinSharedNativeCompilation +import org.jetbrains.kotlin.gradle.targets.metadata.getMetadataCompilationForSourceSet import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled import org.jetbrains.kotlin.gradle.targets.native.internal.NativePlatformDependency.* import org.jetbrains.kotlin.gradle.utils.SingleWarningPerBuild @@ -39,13 +43,18 @@ internal fun Project.setUpKotlinNativePlatformDependencies() { val allowCommonizer = compareVersionNumbers(kotlinVersion, "1.4") >= 0 && isKotlinGranularMetadataEnabled && !isNativeDependencyPropagationEnabled // temporary fix: turn on commonizer only when native deps propagation is disabled - && isInIdeaSync val dependencyResolver = NativePlatformDependencyResolver(this, kotlinVersion) findSourceSetsToAddDependencies(allowCommonizer).forEach { (sourceSet: KotlinSourceSet, sourceSetDeps: Set) -> sourceSetDeps.forEach { sourceSetDep: NativePlatformDependency -> dependencyResolver.addForResolve(sourceSetDep) { resolvedFiles: Set -> + //add commonized klibs to metadata compilation + if (sourceSetDep is CommonizedCommon) { + getMetadataCompilationForSourceSet(sourceSet)?.let { compilation -> + compilation.compileDependencyFiles += project.files(resolvedFiles) + } + } resolvedFiles.forEach { resolvedFile -> dependencies.add(sourceSet.implementationMetadataConfigurationName, dependencies.create(files(resolvedFile))) }