diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/CompilationDetails.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/CompilationDetails.kt index 696192096ec..3b4698aa703 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/CompilationDetails.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/CompilationDetails.kt @@ -397,6 +397,11 @@ internal open class MetadataMappedCompilationDetails( defaultSourceSet: KotlinSourceSet, final override val compilationData: AbstractKotlinFragmentMetadataCompilationData ) : AbstractCompilationDetails(defaultSourceSet) { + + @Suppress("UNCHECKED_CAST") + override val compilation: KotlinCompilation + get() = target.compilations.getByName(defaultSourceSet.name) as KotlinCompilation + override val compileDependencyFilesHolder: GradleKpmDependencyFilesHolder = GradleKpmDependencyFilesHolder.ofMetadataCompilationDependencies(compilationData) @@ -411,7 +416,8 @@ internal open class MetadataMappedCompilationDetails( get() = emptySet() override fun whenSourceSetAdded(sourceSet: KotlinSourceSet) { - throw UnsupportedOperationException("metadata compilations have predefined sources") + if (sourceSet != defaultSourceSet) + throw UnsupportedOperationException("metadata compilations have predefined sources") } }