From edd0e5e0bf83be6bfe271cf5da4e6903b52ef86a Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Thu, 27 Oct 2022 09:12:28 +0200 Subject: [PATCH] [Gradle][Minor] Move KotlinCompilationImplFactories out of constructors ^KT-54312 Verification Pending --- .../plugin/mpp/KotlinCommonCompilationFactory.kt | 12 +++++++----- .../targets/js/KotlinJsCompilationFactory.kt | 11 ++++++----- .../targets/js/ir/KotlinJsIrCompilationFactory.kt | 11 ++++++----- .../jvm/KotlinJvmAndroidCompilationFactory.kt | 15 ++++++++------- .../native/KotlinNativeCompilationFactory.kt | 11 ++++++----- .../KotlinSharedNativeCompilationFactory.kt | 11 ++++++----- .../tasks/configuration/Kotlin2JsCompileConfig.kt | 1 + 7 files changed, 40 insertions(+), 32 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinCommonCompilationFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinCommonCompilationFactory.kt index 50c72252732..d39bc3b9302 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinCommonCompilationFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinCommonCompilationFactory.kt @@ -8,13 +8,18 @@ package org.jetbrains.kotlin.gradle.plugin.mpp import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer -import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinMultiplatformCommonCompilerOptionsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.DefaultKotlinCompilationDependencyConfigurationsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory +import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinMultiplatformCommonCompilerOptionsFactory class KotlinCommonCompilationFactory internal constructor( override val target: KotlinOnlyTarget<*>, - private val defaultSourceSet: KotlinSourceSet, + private val defaultSourceSet: KotlinSourceSet +) : KotlinCompilationFactory { + + override val itemClass: Class + get() = KotlinCommonCompilation::class.java + private val compilationFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory( compilationDependencyConfigurationsFactory = DefaultKotlinCompilationDependencyConfigurationsFactory.WithoutRuntime, @@ -31,9 +36,6 @@ class KotlinCommonCompilationFactory internal constructor( */ compilationSourceSetsContainerFactory = { _, _ -> KotlinCompilationSourceSetsContainer(defaultSourceSet) } ) -) : KotlinCompilationFactory { - override val itemClass: Class - get() = KotlinCommonCompilation::class.java override fun create(name: String): KotlinCommonCompilation = target.project.objects.newInstance( itemClass, compilationFactory.create(target, name) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilationFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilationFactory.kt index ab9906f0a78..61aac6fff82 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilationFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilationFactory.kt @@ -7,20 +7,21 @@ package org.jetbrains.kotlin.gradle.plugin.mpp import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JsCompilationSourceSetsContainerFactory -import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJsCompilerOptionsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JsKotlinCompilationDependencyConfigurationsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory +import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJsCompilerOptionsFactory class KotlinJsCompilationFactory internal constructor( - override val target: KotlinOnlyTarget, + override val target: KotlinOnlyTarget +) : KotlinCompilationFactory { + override val itemClass: Class + get() = KotlinJsCompilation::class.java + private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory( compilerOptionsFactory = KotlinJsCompilerOptionsFactory, compilationSourceSetsContainerFactory = JsCompilationSourceSetsContainerFactory, compilationDependencyConfigurationsFactory = JsKotlinCompilationDependencyConfigurationsFactory ) -) : KotlinCompilationFactory { - override val itemClass: Class - get() = KotlinJsCompilation::class.java override fun create(name: String): KotlinJsCompilation = target.project.objects.newInstance( itemClass, compilationImplFactory.create(target, name) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilationFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilationFactory.kt index cea02540176..82c90b66263 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilationFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilationFactory.kt @@ -7,21 +7,22 @@ package org.jetbrains.kotlin.gradle.targets.js.ir import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCompilationFactory import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget -import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJsCompilerOptionsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JsIrCompilationSourceSetsContainerFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JsKotlinCompilationDependencyConfigurationsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory +import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJsCompilerOptionsFactory class KotlinJsIrCompilationFactory internal constructor( - override val target: KotlinOnlyTarget, + override val target: KotlinOnlyTarget +) : KotlinCompilationFactory { + override val itemClass: Class + get() = KotlinJsIrCompilation::class.java + private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory( compilerOptionsFactory = KotlinJsCompilerOptionsFactory, compilationSourceSetsContainerFactory = JsIrCompilationSourceSetsContainerFactory, compilationDependencyConfigurationsFactory = JsKotlinCompilationDependencyConfigurationsFactory ) -) : KotlinCompilationFactory { - override val itemClass: Class - get() = KotlinJsIrCompilation::class.java override fun create(name: String): KotlinJsIrCompilation = target.project.objects.newInstance( itemClass, compilationImplFactory.create(target, name) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmAndroidCompilationFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmAndroidCompilationFactory.kt index 4369eb10c62..aab2c6b8d83 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmAndroidCompilationFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmAndroidCompilationFactory.kt @@ -7,15 +7,20 @@ package org.jetbrains.kotlin.gradle.plugin.mpp import com.android.build.gradle.api.BaseVariant -import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinAndroidCompilationAssociator import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver +import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinAndroidCompilationAssociator import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.AndroidCompilationSourceSetsContainerFactory -import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJvmCompilerOptionsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory +import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJvmCompilerOptionsFactory class KotlinJvmAndroidCompilationFactory internal constructor( override val target: KotlinAndroidTarget, - private val variant: BaseVariant, + private val variant: BaseVariant +) : KotlinCompilationFactory { + + override val itemClass: Class + get() = KotlinJvmAndroidCompilation::class.java + private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory( compilerOptionsFactory = KotlinJvmCompilerOptionsFactory, compilationFriendPathsResolver = DefaultKotlinCompilationFriendPathsResolver( @@ -27,10 +32,6 @@ class KotlinJvmAndroidCompilationFactory internal constructor( compilationAssociator = KotlinAndroidCompilationAssociator, compilationSourceSetsContainerFactory = AndroidCompilationSourceSetsContainerFactory(target, variant) ) -) : KotlinCompilationFactory { - - override val itemClass: Class - get() = KotlinJvmAndroidCompilation::class.java override fun create(name: String): KotlinJvmAndroidCompilation { return project.objects.newInstance(itemClass, compilationImplFactory.create(target, name), variant) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilationFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilationFactory.kt index 67a6356b209..858a313a41e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilationFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilationFactory.kt @@ -14,7 +14,12 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.NativeKotl import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.NativeKotlinCompilationTaskNamesContainerFactory open class KotlinNativeCompilationFactory internal constructor( - override val target: KotlinNativeTarget, + override val target: KotlinNativeTarget +) : KotlinCompilationFactory { + + override val itemClass: Class + get() = KotlinNativeCompilation::class.java + private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory( compilationTaskNamesContainerFactory = NativeKotlinCompilationTaskNamesContainerFactory, @@ -25,10 +30,6 @@ open class KotlinNativeCompilationFactory internal constructor( DefaultKotlinCompilationSourceSetInclusion.NativeAddSourcesToCompileTask ), ) -) : KotlinCompilationFactory { - - override val itemClass: Class - get() = KotlinNativeCompilation::class.java override fun create(name: String): KotlinNativeCompilation { return target.project.objects.newInstance( diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinSharedNativeCompilationFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinSharedNativeCompilationFactory.kt index 0da73e753db..81031e83f61 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinSharedNativeCompilationFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinSharedNativeCompilationFactory.kt @@ -19,7 +19,12 @@ import org.jetbrains.kotlin.konan.target.KonanTarget open class KotlinSharedNativeCompilationFactory internal constructor( override val target: KotlinMetadataTarget, private val konanTargets: Set, - private val defaultSourceSet: KotlinSourceSet, + private val defaultSourceSet: KotlinSourceSet +) : KotlinCompilationFactory { + + override val itemClass: Class + get() = KotlinSharedNativeCompilation::class.java + private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory( compilationDependencyConfigurationsFactory = DefaultKotlinCompilationDependencyConfigurationsFactory.WithoutRuntime, @@ -43,10 +48,6 @@ open class KotlinSharedNativeCompilationFactory internal constructor( */ compilationSourceSetsContainerFactory = { _, _ -> KotlinCompilationSourceSetsContainer(defaultSourceSet) } ) -) : KotlinCompilationFactory { - - override val itemClass: Class - get() = KotlinSharedNativeCompilation::class.java @Suppress("DEPRECATION") override fun create(name: String): KotlinSharedNativeCompilation { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/Kotlin2JsCompileConfig.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/Kotlin2JsCompileConfig.kt index 153536da604..e6392da752f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/Kotlin2JsCompileConfig.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/Kotlin2JsCompileConfig.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.gradle.tasks.configuration +import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo import org.jetbrains.kotlin.gradle.targets.js.ir.* import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile import org.jetbrains.kotlin.gradle.utils.klibModuleName