[Gradle][Minor] Move MetadataCompilationDetails into separate source file

KT-54312
This commit is contained in:
Sebastian Sellmair
2022-09-27 15:01:21 +02:00
committed by Space Team
parent 12e4dfd5bc
commit d08bd626a6
2 changed files with 45 additions and 31 deletions
@@ -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<Compil
get() = closure { it.associateCompilations }
internal class MetadataCompilationDetails(
target: KotlinTarget,
name: String,
defaultSourceSet: KotlinSourceSet,
) : DefaultCompilationDetails<KotlinMultiplatformCommonOptions, KotlinMultiplatformCommonCompilerOptions>(
target,
name,
defaultSourceSet,
{
object : HasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> {
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,
@@ -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<KotlinMultiplatformCommonOptions, CompilerMultiplatformCommonOptions>(
target,
name,
defaultSourceSet,
{
object : HasCompilerOptions<CompilerMultiplatformCommonOptions> {
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 })
})
}