[Gradle] KotlinCompilationImplFactory.PostConfigure: Use DecoratedKotlinCompilation
to clear up dedicated usage KT-54312
This commit is contained in:
committed by
Space Team
parent
18392d98ea
commit
5f717ffd56
+2
-1
@@ -5,11 +5,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory
|
package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.DecoratedKotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.internal
|
import org.jetbrains.kotlin.gradle.plugin.sources.internal
|
||||||
|
|
||||||
internal object DefaultKotlinCompilationPostConfigure : KotlinCompilationImplFactory.PostConfigure {
|
internal object DefaultKotlinCompilationPostConfigure : KotlinCompilationImplFactory.PostConfigure {
|
||||||
override fun configure(compilation: InternalKotlinCompilation<*>) {
|
override fun configure(compilation: DecoratedKotlinCompilation<*>) {
|
||||||
/* Ensure proper tracking of compilations in the source sets */
|
/* Ensure proper tracking of compilations in the source sets */
|
||||||
compilation.allKotlinSourceSets.forAll { sourceSet ->
|
compilation.allKotlinSourceSets.forAll { sourceSet ->
|
||||||
sourceSet.internal.compilations.add(compilation)
|
sourceSet.internal.compilations.add(compilation)
|
||||||
|
|||||||
+5
-5
@@ -9,9 +9,10 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
|
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationOutput
|
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationOutput
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.DecoratedKotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.*
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationModuleManager.CompilationModule
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationModuleManager.CompilationModule
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.decoratedInstance
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.internal
|
import org.jetbrains.kotlin.gradle.plugin.mpp.internal
|
||||||
|
|
||||||
internal class KotlinCompilationImplFactory(
|
internal class KotlinCompilationImplFactory(
|
||||||
@@ -89,7 +90,7 @@ internal class KotlinCompilationImplFactory(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun interface PostConfigure {
|
fun interface PostConfigure {
|
||||||
fun configure(compilation: InternalKotlinCompilation<*>)
|
fun configure(compilation: DecoratedKotlinCompilation<*>)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun composite(vararg elements: PostConfigure?): PostConfigure = CompositePostConfigure(listOfNotNull(*elements))
|
fun composite(vararg elements: PostConfigure?): PostConfigure = CompositePostConfigure(listOfNotNull(*elements))
|
||||||
@@ -121,7 +122,7 @@ internal class KotlinCompilationImplFactory(
|
|||||||
var postConfigureAction: PostConfigure? = this.postConfigureAction
|
var postConfigureAction: PostConfigure? = this.postConfigureAction
|
||||||
target.compilations.whenObjectAdded { added ->
|
target.compilations.whenObjectAdded { added ->
|
||||||
if (added.compilationName == compilationName) {
|
if (added.compilationName == compilationName) {
|
||||||
postConfigureAction?.configure(added.internal)
|
postConfigureAction?.configure(added.internal.decoratedInstance)
|
||||||
postConfigureAction = null
|
postConfigureAction = null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -142,7 +143,7 @@ private class CompositePreConfigure(
|
|||||||
private class CompositePostConfigure(
|
private class CompositePostConfigure(
|
||||||
private val elements: List<KotlinCompilationImplFactory.PostConfigure>
|
private val elements: List<KotlinCompilationImplFactory.PostConfigure>
|
||||||
) : KotlinCompilationImplFactory.PostConfigure {
|
) : KotlinCompilationImplFactory.PostConfigure {
|
||||||
override fun configure(compilation: InternalKotlinCompilation<*>) {
|
override fun configure(compilation: DecoratedKotlinCompilation<*>) {
|
||||||
elements.forEach { element -> element.configure(compilation) }
|
elements.forEach { element -> element.configure(compilation) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -150,4 +151,3 @@ private class CompositePostConfigure(
|
|||||||
private object EmptyPreConfigure : KotlinCompilationImplFactory.PreConfigure {
|
private object EmptyPreConfigure : KotlinCompilationImplFactory.PreConfigure {
|
||||||
override fun configure(compilation: KotlinCompilationImpl) = Unit
|
override fun configure(compilation: KotlinCompilationImpl) = Unit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user