[Gradle][MPP] Fix isSharedNative condition in getHostSpecificSourceSets
^KT-48135 WIP
This commit is contained in:
committed by
Space
parent
74594c05ca
commit
244094501b
+4
-4
@@ -120,6 +120,7 @@ class KotlinMetadataTargetConfigurator :
|
||||
val tasksProvider = KotlinTasksProvider()
|
||||
KotlinCommonSourceSetProcessor(compilation, tasksProvider)
|
||||
}
|
||||
|
||||
is KotlinSharedNativeCompilation -> NativeSharedCompilationProcessor(compilation)
|
||||
else -> error("unsupported compilation type ${compilation::class.qualifiedName}")
|
||||
}
|
||||
@@ -306,6 +307,7 @@ class KotlinMetadataTargetConfigurator :
|
||||
target,
|
||||
platformCompilations.map { (it as AbstractKotlinNativeCompilation).konanTarget }
|
||||
)
|
||||
|
||||
else -> KotlinCommonCompilationFactory(target)
|
||||
}
|
||||
|
||||
@@ -567,10 +569,8 @@ internal fun createMetadataDependencyTransformationClasspath(
|
||||
}
|
||||
|
||||
internal fun isSharedNativeSourceSet(sourceSet: KotlinSourceSet): Boolean {
|
||||
val compilations = sourceSet.internal.compilations
|
||||
return compilations.isNotEmpty() && compilations.all {
|
||||
it.platformType == KotlinPlatformType.common || it.platformType == KotlinPlatformType.native
|
||||
}
|
||||
val compilations = sourceSet.internal.compilations.filterNot { it.platformType == KotlinPlatformType.common }
|
||||
return compilations.isNotEmpty() && compilations.all { it.platformType == KotlinPlatformType.native }
|
||||
}
|
||||
|
||||
internal fun dependsOnClosureWithInterCompilationDependencies(sourceSet: KotlinSourceSet): Set<KotlinSourceSet> =
|
||||
|
||||
+1
-8
@@ -16,12 +16,8 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinNativeBinaryContainer
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.isNativeShared
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.variantsContainingFragment
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.internal
|
||||
import org.jetbrains.kotlin.gradle.targets.metadata.*
|
||||
import org.jetbrains.kotlin.gradle.targets.metadata.filesWithUnpackedArchives
|
||||
import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled
|
||||
import org.jetbrains.kotlin.gradle.targets.native.KotlinNativeBinaryTestRun
|
||||
import org.jetbrains.kotlin.gradle.targets.native.KotlinNativeHostTestRun
|
||||
import org.jetbrains.kotlin.gradle.targets.native.KotlinNativeSimulatorTestRun
|
||||
@@ -181,10 +177,7 @@ internal fun getHostSpecificFragments(
|
||||
internal fun getHostSpecificSourceSets(project: Project): Set<KotlinSourceSet> {
|
||||
return getHostSpecificElements(
|
||||
project.kotlinExtension.sourceSets,
|
||||
isNativeShared = { sourceSet ->
|
||||
val compilations = sourceSet.internal.compilations
|
||||
compilations.isNotEmpty() && compilations.all { it.platformType == KotlinPlatformType.native }
|
||||
},
|
||||
isNativeShared = { sourceSet -> isSharedNativeSourceSet(sourceSet) },
|
||||
getKonanTargets = { sourceSet ->
|
||||
sourceSet.internal.compilations
|
||||
.filterIsInstance<KotlinNativeCompilation>()
|
||||
|
||||
Reference in New Issue
Block a user