[Gradle][Minor] Move VariantMappedCompilationDetails into separate source file
KT-54312
This commit is contained in:
committed by
Space Team
parent
b7c7ce3bf5
commit
47fc524b84
-42
@@ -58,48 +58,6 @@ interface CompilationDetailsWithRuntime<T : KotlinCommonOptions> : CompilationDe
|
||||
internal val CompilationDetails<*>.associateCompilationsClosure: Iterable<CompilationDetails<*>>
|
||||
get() = closure { it.associateCompilations }
|
||||
|
||||
internal open class VariantMappedCompilationDetails<T : KotlinCommonOptions>(
|
||||
open val variant: GradleKpmVariantInternal,
|
||||
override val target: KotlinTarget,
|
||||
defaultSourceSet: FragmentMappedKotlinSourceSet,
|
||||
) : AbstractCompilationDetails<T>(defaultSourceSet) {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override val compilationData: KotlinCompilationData<T>
|
||||
get() = variant.compilationData as KotlinCompilationData<T>
|
||||
|
||||
override fun whenSourceSetAdded(sourceSet: KotlinSourceSet) {
|
||||
compilation.defaultSourceSet.dependsOn(sourceSet)
|
||||
}
|
||||
|
||||
override fun associateWith(other: CompilationDetails<*>) {
|
||||
if (other !is VariantMappedCompilationDetails<*>)
|
||||
error("a mapped variant can't be associated with a legacy one")
|
||||
val otherModule = other.variant.containingModule
|
||||
if (otherModule === variant.containingModule)
|
||||
error("cannot associate $compilation with ${other.compilation} as they are mapped to the same $otherModule")
|
||||
variant.containingModule.dependencies { implementation(otherModule) }
|
||||
}
|
||||
|
||||
override val associateCompilations: Set<CompilationDetails<*>> get() = emptySet()
|
||||
|
||||
override val compileDependencyFilesHolder: GradleKpmDependencyFilesHolder
|
||||
get() = GradleKpmDependencyFilesHolder.ofVariantCompileDependencies(variant)
|
||||
|
||||
override val kotlinDependenciesHolder: HasKotlinDependencies
|
||||
get() = variant
|
||||
|
||||
}
|
||||
|
||||
internal open class VariantMappedCompilationDetailsWithRuntime<T : KotlinCommonOptions>(
|
||||
override val variant: GradleKpmVariantWithRuntimeInternal,
|
||||
target: KotlinTarget,
|
||||
defaultSourceSet: FragmentMappedKotlinSourceSet
|
||||
) : VariantMappedCompilationDetails<T>(variant, target, defaultSourceSet),
|
||||
CompilationDetailsWithRuntime<T> {
|
||||
override val runtimeDependencyFilesHolder: GradleKpmDependencyFilesHolder
|
||||
get() = GradleKpmDependencyFilesHolder.ofVariantRuntimeDependencies(variant)
|
||||
}
|
||||
|
||||
internal class WithJavaCompilationDetails<T : KotlinCommonOptions, CO : KotlinCommonCompilerOptions>(
|
||||
target: KotlinTarget,
|
||||
|
||||
-1
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.VariantMappedCompilationDetails
|
||||
import java.util.concurrent.Callable
|
||||
|
||||
internal open class GradleKpmAwareTargetConfigurator<T : KotlinTarget>(
|
||||
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* 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.pm20
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
|
||||
import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractCompilationDetails
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.CompilationDetails
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.CompilationDetailsWithRuntime
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.GradleKpmDependencyFilesHolder
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.ofVariantCompileDependencies
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.ofVariantRuntimeDependencies
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.kpm.FragmentMappedKotlinSourceSet
|
||||
|
||||
internal open class VariantMappedCompilationDetails<T : KotlinCommonOptions>(
|
||||
open val variant: GradleKpmVariantInternal,
|
||||
override val target: KotlinTarget,
|
||||
defaultSourceSet: FragmentMappedKotlinSourceSet,
|
||||
) : AbstractCompilationDetails<T>(defaultSourceSet) {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override val compilationData: KotlinCompilationData<T>
|
||||
get() = variant.compilationData as KotlinCompilationData<T>
|
||||
|
||||
override fun whenSourceSetAdded(sourceSet: KotlinSourceSet) {
|
||||
compilation.defaultSourceSet.dependsOn(sourceSet)
|
||||
}
|
||||
|
||||
override fun associateWith(other: CompilationDetails<*>) {
|
||||
if (other !is VariantMappedCompilationDetails<*>)
|
||||
error("a mapped variant can't be associated with a legacy one")
|
||||
val otherModule = other.variant.containingModule
|
||||
if (otherModule === variant.containingModule)
|
||||
error("cannot associate $compilation with ${other.compilation} as they are mapped to the same $otherModule")
|
||||
variant.containingModule.dependencies { implementation(otherModule) }
|
||||
}
|
||||
|
||||
override val associateCompilations: Set<CompilationDetails<*>> get() = emptySet()
|
||||
|
||||
override val compileDependencyFilesHolder: GradleKpmDependencyFilesHolder
|
||||
get() = GradleKpmDependencyFilesHolder.ofVariantCompileDependencies(variant)
|
||||
|
||||
override val kotlinDependenciesHolder: HasKotlinDependencies
|
||||
get() = variant
|
||||
|
||||
}
|
||||
|
||||
internal open class VariantMappedCompilationDetailsWithRuntime<T : KotlinCommonOptions>(
|
||||
override val variant: GradleKpmVariantWithRuntimeInternal,
|
||||
target: KotlinTarget,
|
||||
defaultSourceSet: FragmentMappedKotlinSourceSet
|
||||
) : VariantMappedCompilationDetails<T>(variant, target, defaultSourceSet),
|
||||
CompilationDetailsWithRuntime<T> {
|
||||
override val runtimeDependencyFilesHolder: GradleKpmDependencyFilesHolder
|
||||
get() = GradleKpmDependencyFilesHolder.ofVariantRuntimeDependencies(variant)
|
||||
}
|
||||
Reference in New Issue
Block a user