[Gradle] Move KotlinCompilationK2MultiplatformConfigurator into 'DefaultKotlinCompilationPreConfigure'
^KT-56210 Verification Pending
This commit is contained in:
committed by
Space Team
parent
b90207edb9
commit
a30abcb00c
+12
@@ -0,0 +1,12 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2023 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.compilationImpl
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
|
||||||
|
|
||||||
|
internal val DefaultKotlinCompilationPostConfigure = KotlinCompilationImplFactory.PostConfigure.composite(
|
||||||
|
KotlinCompilationRegisterInSourceSetsConfigurator
|
||||||
|
)
|
||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2023 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.compilationImpl
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
|
||||||
|
|
||||||
|
internal val DefaultKotlinCompilationPreConfigure = KotlinCompilationImplFactory.PreConfigure.composite(
|
||||||
|
KotlinCompilationLanguageVersionConfigurator, KotlinCompilationK2MultiplatformConfigurator
|
||||||
|
)
|
||||||
+4
-4
@@ -1,15 +1,15 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2023 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.
|
* 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.compilationImpl.factory
|
package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl
|
||||||
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.DecoratedKotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.DecoratedKotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.internal
|
import org.jetbrains.kotlin.gradle.plugin.sources.internal
|
||||||
|
|
||||||
internal object DefaultKotlinCompilationPostConfigure : KotlinCompilationImplFactory.PostConfigure {
|
internal object KotlinCompilationRegisterInSourceSetsConfigurator : KotlinCompilationImplFactory.PostConfigure {
|
||||||
override fun configure(compilation: DecoratedKotlinCompilation<*>) {
|
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 ->
|
||||||
+18
-10
@@ -42,10 +42,7 @@ internal class KotlinCompilationImplFactory(
|
|||||||
DefaultProcessResourcesTaskNameFactory,
|
DefaultProcessResourcesTaskNameFactory,
|
||||||
|
|
||||||
private val preConfigureAction: PreConfigure =
|
private val preConfigureAction: PreConfigure =
|
||||||
PreConfigure.composite(
|
DefaultKotlinCompilationPreConfigure,
|
||||||
KotlinCompilationK2MultiplatformConfigurator,
|
|
||||||
KotlinCompilationLanguageVersionConfigurator
|
|
||||||
),
|
|
||||||
|
|
||||||
private val postConfigureAction: PostConfigure =
|
private val postConfigureAction: PostConfigure =
|
||||||
DefaultKotlinCompilationPostConfigure
|
DefaultKotlinCompilationPostConfigure
|
||||||
@@ -125,11 +122,26 @@ internal class KotlinCompilationImplFactory(
|
|||||||
|
|
||||||
return compilation
|
return compilation
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal operator fun KotlinCompilationImplFactory.PreConfigure.plus(
|
||||||
|
other: KotlinCompilationImplFactory.PreConfigure
|
||||||
|
): KotlinCompilationImplFactory.PreConfigure {
|
||||||
|
val thisElements = if (this is CompositePreConfigure) this.elements else listOf(this)
|
||||||
|
val otherElements = if (other is CompositePreConfigure) other.elements else listOf(other)
|
||||||
|
return CompositePreConfigure(thisElements + otherElements)
|
||||||
|
}
|
||||||
|
|
||||||
|
internal operator fun KotlinCompilationImplFactory.PostConfigure.plus(
|
||||||
|
other: KotlinCompilationImplFactory.PostConfigure
|
||||||
|
): KotlinCompilationImplFactory.PostConfigure {
|
||||||
|
val thisElements = if (this is CompositePostConfigure) this.elements else listOf(this)
|
||||||
|
val otherElements = if (other is CompositePostConfigure) other.elements else listOf(other)
|
||||||
|
return CompositePostConfigure(thisElements + otherElements)
|
||||||
}
|
}
|
||||||
|
|
||||||
private class CompositePreConfigure(
|
private class CompositePreConfigure(
|
||||||
private val elements: List<KotlinCompilationImplFactory.PreConfigure>
|
val elements: List<KotlinCompilationImplFactory.PreConfigure>
|
||||||
) : KotlinCompilationImplFactory.PreConfigure {
|
) : KotlinCompilationImplFactory.PreConfigure {
|
||||||
override fun configure(compilation: KotlinCompilationImpl) {
|
override fun configure(compilation: KotlinCompilationImpl) {
|
||||||
elements.forEach { element -> element.configure(compilation) }
|
elements.forEach { element -> element.configure(compilation) }
|
||||||
@@ -137,13 +149,9 @@ private class CompositePreConfigure(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class CompositePostConfigure(
|
private class CompositePostConfigure(
|
||||||
private val elements: List<KotlinCompilationImplFactory.PostConfigure>
|
val elements: List<KotlinCompilationImplFactory.PostConfigure>
|
||||||
) : KotlinCompilationImplFactory.PostConfigure {
|
) : KotlinCompilationImplFactory.PostConfigure {
|
||||||
override fun configure(compilation: DecoratedKotlinCompilation<*>) {
|
override fun configure(compilation: DecoratedKotlinCompilation<*>) {
|
||||||
elements.forEach { element -> element.configure(compilation) }
|
elements.forEach { element -> element.configure(compilation) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private object EmptyPreConfigure : KotlinCompilationImplFactory.PreConfigure {
|
|
||||||
override fun configure(compilation: KotlinCompilationImpl) = Unit
|
|
||||||
}
|
|
||||||
|
|||||||
+3
-1
@@ -9,10 +9,12 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
|
|||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
|
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
|
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.mpp.compilationImpl.DefaultKotlinCompilationPreConfigure
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinJvmCompilationAssociator
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinJvmCompilationAssociator
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JvmWithJavaCompilationDependencyConfigurationsFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JvmWithJavaCompilationDependencyConfigurationsFactory
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JvmWithJavaCompilationTaskNamesContainerFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JvmWithJavaCompilationTaskNamesContainerFactory
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.plus
|
||||||
import org.jetbrains.kotlin.gradle.utils.filesProvider
|
import org.jetbrains.kotlin.gradle.utils.filesProvider
|
||||||
|
|
||||||
class KotlinWithJavaCompilationFactory<KotlinOptionsType : KotlinCommonOptions, CO : KotlinCommonCompilerOptions> internal constructor(
|
class KotlinWithJavaCompilationFactory<KotlinOptionsType : KotlinCommonOptions, CO : KotlinCommonCompilerOptions> internal constructor(
|
||||||
@@ -52,7 +54,7 @@ class KotlinWithJavaCompilationFactory<KotlinOptionsType : KotlinCommonOptions,
|
|||||||
compilationTaskNamesContainerFactory = JvmWithJavaCompilationTaskNamesContainerFactory(javaSourceSet),
|
compilationTaskNamesContainerFactory = JvmWithJavaCompilationTaskNamesContainerFactory(javaSourceSet),
|
||||||
|
|
||||||
/* Use compile & runtime classpath from javaSourceSet by default */
|
/* Use compile & runtime classpath from javaSourceSet by default */
|
||||||
preConfigureAction = { compilation ->
|
preConfigureAction = DefaultKotlinCompilationPreConfigure + { compilation ->
|
||||||
compilation.compileDependencyFiles = project.filesProvider { javaSourceSet.compileClasspath }
|
compilation.compileDependencyFiles = project.filesProvider { javaSourceSet.compileClasspath }
|
||||||
compilation.runtimeDependencyFiles = project.filesProvider { javaSourceSet.runtimeClasspath }
|
compilation.runtimeDependencyFiles = project.filesProvider { javaSourceSet.runtimeClasspath }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user