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 1c8d1c203a7..3eab0faece8 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 @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.gradle.plugin.mpp import org.gradle.api.Action import org.gradle.api.Project -import org.gradle.api.file.FileCollection import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.* @@ -56,36 +55,6 @@ internal val CompilationDetails<*>.associateCompilationsClosure: Iterable( - target, - name, - defaultSourceSet, - { - object : HasCompilerOptions { - override val options: KotlinMultiplatformCommonCompilerOptions = - target.project.objects.newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java) - } - }, - { - object : KotlinMultiplatformCommonOptions { - override val options: KotlinMultiplatformCommonCompilerOptions - get() = compilerOptions.options - } - } -) { - - override val friendArtifacts: FileCollection - get() = super.friendArtifacts.plus(run { - val project = target.project - val friendSourceSets = getVisibleSourceSetsFromAssociateCompilations(defaultSourceSet) - project.files(friendSourceSets.mapNotNull { target.compilations.findByName(it.name)?.output?.classesDirs }) - }) -} - internal open class JsCompilationDetails( target: KotlinTarget, compilationPurpose: String, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataCompilationDetails.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataCompilationDetails.kt new file mode 100644 index 00000000000..38ffffa0d00 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/MetadataCompilationDetails.kt @@ -0,0 +1,45 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle.plugin.mpp + +import org.gradle.api.file.FileCollection +import org.jetbrains.kotlin.gradle.dsl.CompilerMultiplatformCommonOptions +import org.jetbrains.kotlin.gradle.dsl.CompilerMultiplatformCommonOptionsDefault +import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonOptions +import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions +import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet +import org.jetbrains.kotlin.gradle.plugin.KotlinTarget +import org.jetbrains.kotlin.gradle.plugin.sources.getVisibleSourceSetsFromAssociateCompilations + +internal class MetadataCompilationDetails( + target: KotlinTarget, + name: String, + defaultSourceSet: KotlinSourceSet, +) : DefaultCompilationDetails( + target, + name, + defaultSourceSet, + { + object : HasCompilerOptions { + override val options: CompilerMultiplatformCommonOptions = + target.project.objects.newInstance(CompilerMultiplatformCommonOptionsDefault::class.java) + } + }, + { + object : KotlinMultiplatformCommonOptions { + override val options: CompilerMultiplatformCommonOptions + get() = compilerOptions.options + } + } +) { + + override val friendArtifacts: FileCollection + get() = super.friendArtifacts.plus(run { + val project = target.project + val friendSourceSets = getVisibleSourceSetsFromAssociateCompilations(defaultSourceSet) + project.files(friendSourceSets.mapNotNull { target.compilations.findByName(it.name)?.output?.classesDirs }) + }) +} \ No newline at end of file