[Gradle][Minor] Move implementations of KotlinCompilerOptionsFactory into single source

^KT-54312 Verification Pending
This commit is contained in:
Sebastian Sellmair
2022-10-14 15:55:12 +02:00
committed by Space Team
parent 06e594c400
commit 5db60e3ebd
14 changed files with 92 additions and 120 deletions
@@ -8,7 +8,7 @@ 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.CommonCompilerOptionsFactory
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
@@ -18,7 +18,7 @@ class KotlinCommonCompilationFactory internal constructor(
private val compilationFactory: KotlinCompilationImplFactory =
KotlinCompilationImplFactory(
compilationDependencyConfigurationsFactory = DefaultKotlinCompilationDependencyConfigurationsFactory.WithoutRuntime,
compilerOptionsFactory = CommonCompilerOptionsFactory,
compilerOptionsFactory = KotlinMultiplatformCommonCompilerOptionsFactory,
compilationFriendPathsResolver = DefaultKotlinCompilationFriendPathsResolver(
friendArtifactResolver = DefaultKotlinCompilationFriendPathsResolver.FriendArtifactResolver.composite(
DefaultKotlinCompilationFriendPathsResolver.DefaultFriendArtifactResolver,
@@ -1,27 +0,0 @@
/*
* 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.compilationImpl.factory
import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
internal object CommonCompilerOptionsFactory : KotlinCompilationImplFactory.CompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.CompilerOptionsFactory.Options {
val compilerOptions = object : HasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> {
override val options: KotlinMultiplatformCommonCompilerOptions =
target.project.objects.newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java)
}
val kotlinOptions = object : KotlinCommonOptions {
override val options: KotlinCommonCompilerOptions
get() = compilerOptions.options
}
return KotlinCompilationImplFactory.CompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
}
}
@@ -1,28 +0,0 @@
/*
* 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.compilationImpl.factory
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
internal object JsCompilerOptionsFactory : KotlinCompilationImplFactory.CompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.CompilerOptionsFactory.Options {
val compilerOptions = object : HasCompilerOptions<KotlinJsCompilerOptions> {
override val options: KotlinJsCompilerOptions =
target.project.objects.newInstance(KotlinJsCompilerOptionsDefault::class.java)
}
val kotlinOptions = object : KotlinJsOptions {
override val options: KotlinJsCompilerOptions
get() = compilerOptions.options
}
return KotlinCompilationImplFactory.CompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
}
}
@@ -1,25 +0,0 @@
package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
internal object JvmCompilerOptionsFactory : KotlinCompilationImplFactory.CompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.CompilerOptionsFactory.Options {
val compilerOptions = object : HasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: KotlinJvmCompilerOptions =
target.project.objects.newInstance(KotlinJvmCompilerOptionsDefault::class.java)
}
val kotlinOptions = object : KotlinJvmOptions {
override val options: KotlinJvmCompilerOptions
get() = compilerOptions.options
}
return KotlinCompilationImplFactory.CompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
}
}
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.decoratedInstance
import org.jetbrains.kotlin.gradle.plugin.mpp.internal
internal class KotlinCompilationImplFactory(
private val compilerOptionsFactory: CompilerOptionsFactory,
private val compilerOptionsFactory: KotlinCompilerOptionsFactory,
private val compilationModuleFactory: CompilationModuleFactory =
DefaultCompilationModuleFactory,
@@ -75,7 +75,7 @@ internal class KotlinCompilationImplFactory(
fun create(target: KotlinTarget, compilationName: String): KotlinCompilationOutput
}
fun interface CompilerOptionsFactory {
fun interface KotlinCompilerOptionsFactory {
data class Options(val compilerOptions: HasCompilerOptions<*>, val kotlinOptions: KotlinCommonOptions)
fun create(target: KotlinTarget, compilationName: String): Options
@@ -0,0 +1,75 @@
/*
* 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.compilationImpl.factory
import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions
internal object KotlinMultiplatformCommonCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options {
val compilerOptions = object : HasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> {
override val options: KotlinMultiplatformCommonCompilerOptions =
target.project.objects.newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java)
}
val kotlinOptions = object : KotlinCommonOptions {
override val options: KotlinCommonCompilerOptions
get() = compilerOptions.options
}
return KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
}
}
internal object KotlinNativeCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options {
val compilerOptions = NativeCompilerOptions(target.project)
val kotlinOptions = object : KotlinCommonOptions {
override val options get() = compilerOptions.options
}
return KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
}
}
internal object KotlinJsCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options {
val compilerOptions = object : HasCompilerOptions<KotlinJsCompilerOptions> {
override val options: KotlinJsCompilerOptions =
target.project.objects.newInstance(KotlinJsCompilerOptionsDefault::class.java)
}
val kotlinOptions = object : KotlinJsOptions {
override val options: KotlinJsCompilerOptions
get() = compilerOptions.options
}
return KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
}
}
internal object KotlinJvmCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options {
val compilerOptions = object : HasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: KotlinJvmCompilerOptions =
target.project.objects.newInstance(KotlinJvmCompilerOptionsDefault::class.java)
}
val kotlinOptions = object : KotlinJvmOptions {
override val options: KotlinJvmCompilerOptions
get() = compilerOptions.options
}
return KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
}
}
@@ -1,23 +0,0 @@
/*
* 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.compilationImpl.factory
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions
internal object NativeCompilerOptionsFactory : KotlinCompilationImplFactory.CompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.CompilerOptionsFactory.Options {
val compilerOptions = NativeCompilerOptions(target.project)
val kotlinOptions = object : KotlinCommonOptions {
override val options get() = compilerOptions.options
}
return KotlinCompilationImplFactory.CompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
}
}
@@ -7,14 +7,14 @@
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.JsCompilerOptionsFactory
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
class KotlinJsCompilationFactory internal constructor(
override val target: KotlinOnlyTarget<KotlinJsCompilation>,
private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory(
compilerOptionsFactory = JsCompilerOptionsFactory,
compilerOptionsFactory = KotlinJsCompilerOptionsFactory,
compilationSourceSetsContainerFactory = JsCompilationSourceSetsContainerFactory,
compilationDependencyConfigurationsFactory = JsKotlinCompilationDependencyConfigurationsFactory
)
@@ -7,7 +7,7 @@ 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.JsCompilerOptionsFactory
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
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinComp
class KotlinJsIrCompilationFactory internal constructor(
override val target: KotlinOnlyTarget<KotlinJsIrCompilation>,
private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory(
compilerOptionsFactory = JsCompilerOptionsFactory,
compilerOptionsFactory = KotlinJsCompilerOptionsFactory,
compilationSourceSetsContainerFactory = JsIrCompilationSourceSetsContainerFactory,
compilationDependencyConfigurationsFactory = JsKotlinCompilationDependencyConfigurationsFactory
)
@@ -10,14 +10,14 @@ import com.android.build.gradle.api.BaseVariant
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.AndroidKotlinCompilationAssociator
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.AndroidCompilationSourceSetsContainerFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JvmCompilerOptionsFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJvmCompilerOptionsFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
class KotlinJvmAndroidCompilationFactory internal constructor(
override val target: KotlinAndroidTarget,
private val variant: BaseVariant,
private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory(
compilerOptionsFactory = JvmCompilerOptionsFactory,
compilerOptionsFactory = KotlinJvmCompilerOptionsFactory,
compilationFriendPathsResolver = DefaultKotlinCompilationFriendPathsResolver(
friendArtifactResolver = DefaultKotlinCompilationFriendPathsResolver.FriendArtifactResolver.composite(
DefaultKotlinCompilationFriendPathsResolver.DefaultFriendArtifactResolver,
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.*
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JvmCompilerOptionsFactory
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.targets.jvm.KotlinJvmTarget
import org.jetbrains.kotlin.gradle.utils.*
@@ -17,7 +17,7 @@ open class KotlinJvmCompilationFactory internal constructor(
override val target: KotlinJvmTarget,
private val compilationImplFactory: KotlinCompilationImplFactory =
KotlinCompilationImplFactory(
compilerOptionsFactory = JvmCompilerOptionsFactory,
compilerOptionsFactory = KotlinJvmCompilerOptionsFactory,
compilationAssociator = JvmKotlinCompilationAssociator
),
) : KotlinCompilationFactory<KotlinJvmCompilation> {
@@ -32,7 +32,7 @@ class KotlinWithJavaCompilationFactory<KotlinOptionsType : KotlinCommonOptions,
compilerOptionsFactory = { _, _ ->
val compilerOptions = compilerOptionsFactory()
val kotlinOptions = kotlinOptionsFactory(compilerOptions.options)
KotlinCompilationImplFactory.CompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options(compilerOptions, kotlinOptions)
},
compilationAssociator = JvmKotlinCompilationAssociator,
compilationOutputFactory = { _, compilationName ->
@@ -9,7 +9,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationSourceSetInclusion
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.NativeKotlinCompilationAssociator
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.NativeCompilerOptionsFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinNativeCompilerOptionsFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.NativeKotlinCompilationDependencyConfigurationsFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.NativeKotlinCompilationTaskNamesContainerFactory
@@ -19,7 +19,7 @@ open class KotlinNativeCompilationFactory internal constructor(
KotlinCompilationImplFactory(
compilationTaskNamesContainerFactory = NativeKotlinCompilationTaskNamesContainerFactory,
compilationDependencyConfigurationsFactory = NativeKotlinCompilationDependencyConfigurationsFactory,
compilerOptionsFactory = NativeCompilerOptionsFactory,
compilerOptionsFactory = KotlinNativeCompilerOptionsFactory,
compilationAssociator = NativeKotlinCompilationAssociator,
compilationSourceSetInclusion = DefaultKotlinCompilationSourceSetInclusion(
DefaultKotlinCompilationSourceSetInclusion.NativeAddSourcesToCompileTask
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationS
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.NativeKotlinCompilationAssociator
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.NativeCompilerOptionsFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinNativeCompilerOptionsFactory
import org.jetbrains.kotlin.konan.target.KonanTarget
open class KotlinSharedNativeCompilationFactory internal constructor(
@@ -23,7 +23,7 @@ open class KotlinSharedNativeCompilationFactory internal constructor(
private val compilationImplFactory: KotlinCompilationImplFactory =
KotlinCompilationImplFactory(
compilationDependencyConfigurationsFactory = DefaultKotlinCompilationDependencyConfigurationsFactory.WithoutRuntime,
compilerOptionsFactory = NativeCompilerOptionsFactory,
compilerOptionsFactory = KotlinNativeCompilerOptionsFactory,
compilationAssociator = NativeKotlinCompilationAssociator,
compilationSourceSetInclusion = DefaultKotlinCompilationSourceSetInclusion(