[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<*>>
|
internal val CompilationDetails<*>.associateCompilationsClosure: Iterable<CompilationDetails<*>>
|
||||||
get() = closure { it.associateCompilations }
|
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>(
|
internal class WithJavaCompilationDetails<T : KotlinCommonOptions, CO : KotlinCommonCompilerOptions>(
|
||||||
target: KotlinTarget,
|
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.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinTarget
|
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.VariantMappedCompilationDetails
|
|
||||||
import java.util.concurrent.Callable
|
import java.util.concurrent.Callable
|
||||||
|
|
||||||
internal open class GradleKpmAwareTargetConfigurator<T : KotlinTarget>(
|
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