[Gradle] Simplify wiring target compiler options to compilations options

Now it happens as a default postConfigure action in factories for all
KotlinCompilations including external one.

^KT-57292 In Progress
This commit is contained in:
Yahor Berdnikau
2023-08-02 15:30:13 +02:00
committed by Space Team
parent 3a148f97b5
commit 8469b8cbb5
10 changed files with 68 additions and 131 deletions
@@ -6,9 +6,7 @@
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.*
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPostConfigure
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetInclusion import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetInclusion
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.DefaultKotlinCompilationDependencyConfigurationsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.DefaultKotlinCompilationDependencyConfigurationsFactory
@@ -46,10 +44,6 @@ class KotlinCommonCompilationFactory internal constructor(
We therefore can create the container inline We therefore can create the container inline
*/ */
compilationSourceSetsContainerFactory = { _, _ -> KotlinCompilationSourceSetsContainer(defaultSourceSet) }, compilationSourceSetsContainerFactory = { _, _ -> KotlinCompilationSourceSetsContainer(defaultSourceSet) },
postConfigureAction = KotlinCompilationImplFactory.PostConfigure.composite(
DefaultKotlinCompilationPostConfigure,
KotlinCompilationCommonCompilerOptionsFromTargetConfigurator(target.compilerOptions)
)
) )
override fun create(name: String): KotlinCommonCompilation = target.project.objects.newInstance( override fun create(name: String): KotlinCommonCompilation = target.project.objects.newInstance(
@@ -8,5 +8,6 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
internal val DefaultKotlinCompilationPostConfigure = KotlinCompilationImplFactory.PostConfigure.composite( internal val DefaultKotlinCompilationPostConfigure = KotlinCompilationImplFactory.PostConfigure.composite(
KotlinCompilationRegisterInSourceSetsConfigurator KotlinCompilationRegisterInSourceSetsConfigurator,
KotlinCompilationCompilerOptionsFromTargetConfigurator
) )
@@ -9,14 +9,33 @@ import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsHelper import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsHelper
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeCompilerOptionsHelper import org.jetbrains.kotlin.gradle.dsl.KotlinNativeCompilerOptionsHelper
import org.jetbrains.kotlin.gradle.plugin.mpp.DecoratedKotlinCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.DecoratedKotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaTarget
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.moduleNameForCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.moduleNameForCompilation
internal class KotlinCompilationJvmCompilerOptionsFromTargetConfigurator( internal object KotlinCompilationCompilerOptionsFromTargetConfigurator : KotlinCompilationImplFactory.PostConfigure {
private val targetCompilerOptions: KotlinJvmCompilerOptions
) : KotlinCompilationImplFactory.PostConfigure {
override fun configure(compilation: DecoratedKotlinCompilation<*>) { override fun configure(compilation: DecoratedKotlinCompilation<*>) {
val jvmCompilerOptions = compilation.compilerOptions.options as KotlinJvmCompilerOptions when (val compilationCompilerOptions = compilation.compilerOptions.options) {
is KotlinJvmCompilerOptions -> compilation.configureJvmCompilerOptions(compilationCompilerOptions)
is KotlinJsCompilerOptions -> compilation.configureJsCompilerOptions(compilationCompilerOptions)
is KotlinNativeCompilerOptions -> {
if (compilation.target is KotlinMetadataTarget) {
// Shared native compilation, for example, 'appleMain'
compilation.configureCommonCompilerOptions(compilationCompilerOptions)
} else {
compilation.configureNativeCompilerOptions(compilationCompilerOptions)
}
}
else -> compilation.configureCommonCompilerOptions(compilationCompilerOptions)
}
}
private fun DecoratedKotlinCompilation<*>.configureJvmCompilerOptions(
jvmCompilerOptions: KotlinJvmCompilerOptions
) {
val targetCompilerOptions = requireTargetCompilerOptionsType<KotlinJvmCompilerOptions>()
KotlinJvmCompilerOptionsHelper.syncOptionsAsConvention( KotlinJvmCompilerOptionsHelper.syncOptionsAsConvention(
targetCompilerOptions, targetCompilerOptions,
jvmCompilerOptions jvmCompilerOptions
@@ -24,37 +43,20 @@ internal class KotlinCompilationJvmCompilerOptionsFromTargetConfigurator(
jvmCompilerOptions.moduleName.convention( jvmCompilerOptions.moduleName.convention(
moduleNameForCompilation( moduleNameForCompilation(
compilation.compilationName, compilationName,
targetCompilerOptions.moduleName targetCompilerOptions.moduleName
).orElse(compilation.moduleNameForCompilation()) ).orElse(moduleNameForCompilation())
) )
} }
}
internal class KotlinCompilationNativeCompilerOptionsFromTargetConfigurator( private fun DecoratedKotlinCompilation<*>.configureJsCompilerOptions(
private val targetCompilerOptions: KotlinNativeCompilerOptions jsCompilerOptions: KotlinJsCompilerOptions
) : KotlinCompilationImplFactory.PostConfigure { ) {
override fun configure(compilation: DecoratedKotlinCompilation<*>) { // Ignoring legacy JS target
val nativeCompilerOptions = compilation.compilerOptions.options as KotlinNativeCompilerOptions if (target is KotlinWithJavaTarget<*, *>) return
KotlinNativeCompilerOptionsHelper.syncOptionsAsConvention(
targetCompilerOptions,
nativeCompilerOptions
)
nativeCompilerOptions.moduleName.convention( val targetCompilerOptions = requireTargetCompilerOptionsType<KotlinJsCompilerOptions>()
moduleNameForCompilation(
compilation.compilationName,
targetCompilerOptions.moduleName
)
)
}
}
internal class KotlinCompilationJsCompilerOptionsFromTargetConfigurator(
private val targetCompilerOptions: KotlinJsCompilerOptions
) : KotlinCompilationImplFactory.PostConfigure {
override fun configure(compilation: DecoratedKotlinCompilation<*>) {
val jsCompilerOptions = compilation.compilerOptions.options as KotlinJsCompilerOptions
KotlinJsCompilerOptionsHelper.syncOptionsAsConvention( KotlinJsCompilerOptionsHelper.syncOptionsAsConvention(
targetCompilerOptions, targetCompilerOptions,
jsCompilerOptions jsCompilerOptions
@@ -62,21 +64,46 @@ internal class KotlinCompilationJsCompilerOptionsFromTargetConfigurator(
jsCompilerOptions.moduleName.convention( jsCompilerOptions.moduleName.convention(
moduleNameForCompilation( moduleNameForCompilation(
compilation.compilationName, compilationName,
targetCompilerOptions.moduleName targetCompilerOptions.moduleName
).orElse(compilation.moduleNameForCompilation()) ).orElse(moduleNameForCompilation())
) )
} }
}
internal class KotlinCompilationCommonCompilerOptionsFromTargetConfigurator( private fun DecoratedKotlinCompilation<*>.configureNativeCompilerOptions(
private val targetCompilerOptions: KotlinCommonCompilerOptions nativeCompilerOptions: KotlinNativeCompilerOptions
) : KotlinCompilationImplFactory.PostConfigure { ) {
override fun configure(compilation: DecoratedKotlinCompilation<*>) { val targetCompilerOptions = requireTargetCompilerOptionsType<KotlinNativeCompilerOptions>()
val commonCompilerOptions = compilation.compilerOptions.options
KotlinCommonCompilerOptionsHelper.syncOptionsAsConvention( KotlinNativeCompilerOptionsHelper.syncOptionsAsConvention(
targetCompilerOptions, targetCompilerOptions,
nativeCompilerOptions
)
nativeCompilerOptions.moduleName.convention(
moduleNameForCompilation(
compilationName,
targetCompilerOptions.moduleName
)
)
}
private fun DecoratedKotlinCompilation<*>.configureCommonCompilerOptions(
commonCompilerOptions: KotlinCommonCompilerOptions
) {
KotlinCommonCompilerOptionsHelper.syncOptionsAsConvention(
target.compilerOptions,
commonCompilerOptions commonCompilerOptions
) )
} }
}
private inline fun <reified T : KotlinCommonCompilerOptions> DecoratedKotlinCompilation<*>.requireTargetCompilerOptionsType(): T {
val targetCompilerOptions = compilation.target.compilerOptions
require(targetCompilerOptions is T) {
"${compilation.compilationName} target ${compilation.target.name}:${compilation.target::class.qualifiedName} has incorrect 'compilerOptions' type " +
"${targetCompilerOptions::class.qualifiedName}"
}
return targetCompilerOptions
}
}
@@ -86,8 +86,6 @@ fun <T : DecoratedExternalKotlinTarget> KotlinMultiplatformExtension.createExter
artifactsTaskLocator = artifactsTaskLocator artifactsTaskLocator = artifactsTaskLocator
) )
target.wireCompilerOptionsToCompilations(descriptor.platformType)
target.setupApiElements(apiElementsConfiguration) target.setupApiElements(apiElementsConfiguration)
target.setupApiElements(apiElementsPublishedConfiguration) target.setupApiElements(apiElementsPublishedConfiguration)
target.setupRuntimeElements(runtimeElementsConfiguration) target.setupRuntimeElements(runtimeElementsConfiguration)
@@ -148,42 +146,3 @@ private fun ExternalKotlinTargetImpl.setupRuntimeElements(configuration: Configu
private fun ExternalKotlinTargetImpl.setupSourcesElements(configuration: Configuration) { private fun ExternalKotlinTargetImpl.setupSourcesElements(configuration: Configuration) {
configuration.configureSourcesPublicationAttributes(this) configuration.configureSourcesPublicationAttributes(this)
} }
private fun ExternalKotlinTargetImpl.wireCompilerOptionsToCompilations(platformType: KotlinPlatformType) {
when (platformType) {
KotlinPlatformType.androidJvm,
KotlinPlatformType.jvm -> {
compilations.configureEach {
KotlinJvmCompilerOptionsHelper.syncOptionsAsConvention(
compilerOptions as KotlinJvmCompilerOptions,
it.compilerOptions.options as KotlinJvmCompilerOptions
)
}
}
KotlinPlatformType.wasm,
KotlinPlatformType.js -> {
compilations.configureEach {
KotlinJsCompilerOptionsHelper.syncOptionsAsConvention(
compilerOptions as KotlinJsCompilerOptions,
it.compilerOptions.options as KotlinJsCompilerOptions
)
}
}
KotlinPlatformType.common -> {
compilations.configureEach {
KotlinCommonCompilerOptionsHelper.syncOptionsAsConvention(
compilerOptions,
it.compilerOptions.options
)
}
}
KotlinPlatformType.native -> {
compilations.configureEach {
KotlinNativeCompilerOptionsHelper.syncOptionsAsConvention(
compilerOptions as KotlinNativeCompilerOptions,
it.compilerOptions.options as KotlinNativeCompilerOptions
)
}
}
}
}
@@ -15,8 +15,6 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.sourcesJarTask
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.JsIrCompilationSourceSetsContainerFactory 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.JsKotlinCompilationDependencyConfigurationsFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPostConfigure
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationJsCompilerOptionsFromTargetConfigurator
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.KotlinJsCompilerOptionsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJsCompilerOptionsFactory
@@ -42,10 +40,6 @@ class KotlinJsIrCompilationFactory internal constructor(
sourcesJarTask(compilation, compilation.target.targetName, artifactNameAppendix) sourcesJarTask(compilation, compilation.target.targetName, artifactNameAppendix)
} }
}, },
postConfigureAction = KotlinCompilationImplFactory.PostConfigure.composite(
DefaultKotlinCompilationPostConfigure,
KotlinCompilationJsCompilerOptionsFromTargetConfigurator(target.compilerOptions)
)
) )
override fun create(name: String): KotlinJsIrCompilation = target.project.objects.newInstance( override fun create(name: String): KotlinJsIrCompilation = target.project.objects.newInstance(
@@ -11,9 +11,7 @@ import org.jetbrains.kotlin.gradle.plugin.hierarchy.KotlinSourceSetTreeClassifie
import org.jetbrains.kotlin.gradle.plugin.hierarchy.KotlinSourceSetTreeClassifier.Property import org.jetbrains.kotlin.gradle.plugin.hierarchy.KotlinSourceSetTreeClassifier.Property
import org.jetbrains.kotlin.gradle.plugin.hierarchy.sourceSetTreeClassifier import org.jetbrains.kotlin.gradle.plugin.hierarchy.sourceSetTreeClassifier
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPostConfigure
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinAndroidCompilationAssociator import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinAndroidCompilationAssociator
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationJvmCompilerOptionsFromTargetConfigurator
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.AndroidCompilationSourceSetsContainerFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.AndroidCompilationSourceSetsContainerFactory
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.KotlinJvmCompilerOptionsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJvmCompilerOptionsFactory
@@ -38,10 +36,6 @@ class KotlinJvmAndroidCompilationFactory internal constructor(
), ),
compilationAssociator = KotlinAndroidCompilationAssociator, compilationAssociator = KotlinAndroidCompilationAssociator,
compilationSourceSetsContainerFactory = AndroidCompilationSourceSetsContainerFactory(target, variant), compilationSourceSetsContainerFactory = AndroidCompilationSourceSetsContainerFactory(target, variant),
postConfigureAction = KotlinCompilationImplFactory.PostConfigure.composite(
DefaultKotlinCompilationPostConfigure,
KotlinCompilationJvmCompilerOptionsFromTargetConfigurator(target.compilerOptions)
)
) )
override fun create(name: String): KotlinJvmAndroidCompilation { override fun create(name: String): KotlinJvmAndroidCompilation {
@@ -6,8 +6,6 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPostConfigure
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationJvmCompilerOptionsFromTargetConfigurator
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.KotlinCompilationImplFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJvmCompilerOptionsFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJvmCompilerOptionsFactory
@@ -21,10 +19,6 @@ open class KotlinJvmCompilationFactory internal constructor(
KotlinCompilationImplFactory( KotlinCompilationImplFactory(
compilerOptionsFactory = KotlinJvmCompilerOptionsFactory, compilerOptionsFactory = KotlinJvmCompilerOptionsFactory,
compilationAssociator = KotlinJvmCompilationAssociator, compilationAssociator = KotlinJvmCompilationAssociator,
postConfigureAction = KotlinCompilationImplFactory.PostConfigure.composite(
DefaultKotlinCompilationPostConfigure,
KotlinCompilationJvmCompilerOptionsFromTargetConfigurator(target.compilerOptions)
)
) )
override val itemClass: Class<KotlinJvmCompilation> override val itemClass: Class<KotlinJvmCompilation>
@@ -8,13 +8,8 @@ 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.dsl.KotlinJsCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPostConfigure
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPreConfigure import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPreConfigure
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationJsCompilerOptionsFromTargetConfigurator
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationJvmCompilerOptionsFromTargetConfigurator
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
@@ -63,16 +58,6 @@ class KotlinWithJavaCompilationFactory<KotlinOptionsType : KotlinCommonOptions,
compilation.compileDependencyFiles = project.filesProvider { javaSourceSet.compileClasspath } compilation.compileDependencyFiles = project.filesProvider { javaSourceSet.compileClasspath }
compilation.runtimeDependencyFiles = project.filesProvider { javaSourceSet.runtimeClasspath } compilation.runtimeDependencyFiles = project.filesProvider { javaSourceSet.runtimeClasspath }
}, },
postConfigureAction = KotlinCompilationImplFactory.PostConfigure.composite(
DefaultKotlinCompilationPostConfigure,
if (target.platformType == KotlinPlatformType.js || target.platformType == KotlinPlatformType.common) {
// JS/Legacy or Common/legacy (KotlinCommonPlugin) targets uses KotlinWithJavaCompilation,
// but as they are deprecated - we are ignoring it
null
} else {
KotlinCompilationJvmCompilerOptionsFromTargetConfigurator(target.compilerOptions)
}
)
) )
return project.objects.newInstance( return project.objects.newInstance(
@@ -6,8 +6,6 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPostConfigure
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationNativeCompilerOptionsFromTargetConfigurator
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetInclusion import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetInclusion
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinNativeCompilationAssociator import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinNativeCompilationAssociator
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory
@@ -31,10 +29,6 @@ open class KotlinNativeCompilationFactory internal constructor(
compilationSourceSetInclusion = KotlinCompilationSourceSetInclusion( compilationSourceSetInclusion = KotlinCompilationSourceSetInclusion(
KotlinCompilationSourceSetInclusion.NativeAddSourcesToCompileTask KotlinCompilationSourceSetInclusion.NativeAddSourcesToCompileTask
), ),
postConfigureAction = KotlinCompilationImplFactory.PostConfigure.composite(
DefaultKotlinCompilationPostConfigure,
KotlinCompilationNativeCompilerOptionsFromTargetConfigurator(target.compilerOptions)
)
) )
override fun create(name: String): KotlinNativeCompilation { override fun create(name: String): KotlinNativeCompilation {
@@ -7,7 +7,6 @@
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.*
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetInclusion import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetInclusion
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer
@@ -53,10 +52,6 @@ open class KotlinSharedNativeCompilationFactory internal constructor(
We therefore can create the container inline We therefore can create the container inline
*/ */
compilationSourceSetsContainerFactory = { _, _ -> KotlinCompilationSourceSetsContainer(defaultSourceSet) }, compilationSourceSetsContainerFactory = { _, _ -> KotlinCompilationSourceSetsContainer(defaultSourceSet) },
postConfigureAction = KotlinCompilationImplFactory.PostConfigure.composite(
DefaultKotlinCompilationPostConfigure,
KotlinCompilationCommonCompilerOptionsFromTargetConfigurator(target.compilerOptions)
)
) )
override fun create(name: String): KotlinSharedNativeCompilation { override fun create(name: String): KotlinSharedNativeCompilation {