[Gradle] Deprecate HasCompilerOptions

This DSL is not consistent with other DSL to configuring compiler
options.

^KT-65568 In Progress
This commit is contained in:
Yahor Berdnikau
2024-02-12 13:58:33 +01:00
committed by Space Team
parent 42cba927e6
commit 5df05d5797
22 changed files with 80 additions and 52 deletions
@@ -8,13 +8,28 @@ package org.jetbrains.kotlin.gradle.plugin
import org.gradle.api.Action import org.gradle.api.Action
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
/**
* @suppress
*/
@Deprecated(
message = "Not consistent with other DSL to configure compiler options."
)
interface HasCompilerOptions<out CO : KotlinCommonCompilerOptions> { interface HasCompilerOptions<out CO : KotlinCommonCompilerOptions> {
/**
* @suppress
*/
val options: CO val options: CO
/**
* @suppress
*/
fun configure(configuration: CO.() -> Unit) { fun configure(configuration: CO.() -> Unit) {
configuration(options) configuration(options)
} }
/**
* @suppress
*/
fun configure(configuration: Action<@UnsafeVariance CO>) { fun configure(configuration: Action<@UnsafeVariance CO>) {
configuration.execute(options) configuration.execute(options)
} }
@@ -59,6 +59,7 @@ interface KotlinCompilation<out T : KotlinCommonOptionsDeprecated> : Named,
val compileKotlinTaskName: String val compileKotlinTaskName: String
@Suppress("DEPRECATION")
val compilerOptions: HasCompilerOptions<*> val compilerOptions: HasCompilerOptions<*>
@Deprecated( @Deprecated(
@@ -3,7 +3,7 @@
* 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.
*/ */
@file:Suppress("DEPRECATION", "OVERRIDE_DEPRECATION") @file:Suppress("DEPRECATION")
package org.jetbrains.kotlin.gradle.android package org.jetbrains.kotlin.gradle.android
@@ -31,14 +31,14 @@ internal open class Kotlin2JsPlugin(
Kotlin2JsSourceSetProcessor(tasksProvider, KotlinCompilationInfo(compilation)) Kotlin2JsSourceSetProcessor(tasksProvider, KotlinCompilationInfo(compilation))
override fun apply(project: Project) { override fun apply(project: Project) {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST", "TYPEALIAS_EXPANSION_DEPRECATION")
val target = project.objects.newInstance( val target = project.objects.newInstance(
KotlinWithJavaTarget::class.java, KotlinWithJavaTarget::class.java,
project, project,
KotlinPlatformType.js, KotlinPlatformType.js,
targetName, targetName,
{ {
object : HasCompilerOptions<KotlinJsCompilerOptions> { object : DeprecatedHasCompilerOptions<KotlinJsCompilerOptions> {
override val options: KotlinJsCompilerOptions = project.objects override val options: KotlinJsCompilerOptions = project.objects
.newInstance(KotlinJsCompilerOptionsDefault::class.java) .newInstance(KotlinJsCompilerOptionsDefault::class.java)
.configureExperimentalTryNext(project) .configureExperimentalTryNext(project)
@@ -27,14 +27,14 @@ internal open class KotlinCommonPlugin(
KotlinCommonSourceSetProcessor(KotlinCompilationInfo(compilation), tasksProvider) KotlinCommonSourceSetProcessor(KotlinCompilationInfo(compilation), tasksProvider)
override fun apply(project: Project) { override fun apply(project: Project) {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST", "TYPEALIAS_EXPANSION_DEPRECATION")
val target = project.objects.newInstance( val target = project.objects.newInstance(
KotlinWithJavaTarget::class.java, KotlinWithJavaTarget::class.java,
project, project,
KotlinPlatformType.common, KotlinPlatformType.common,
targetName, targetName,
{ {
object : HasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> { object : DeprecatedHasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> {
override val options: KotlinMultiplatformCommonCompilerOptions = project.objects override val options: KotlinMultiplatformCommonCompilerOptions = project.objects
.newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java) .newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java)
.configureExperimentalTryNext(project) .configureExperimentalTryNext(project)
@@ -25,7 +25,8 @@ internal sealed class KotlinCompilationInfo {
abstract val targetDisambiguationClassifier: String? abstract val targetDisambiguationClassifier: String?
abstract val compilationName: String abstract val compilationName: String
abstract val moduleName: String abstract val moduleName: String
abstract val compilerOptions: HasCompilerOptions<*> @Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
abstract val compilerOptions: DeprecatedHasCompilerOptions<*>
abstract val compileKotlinTaskName: String abstract val compileKotlinTaskName: String
abstract val compileAllTaskName: String abstract val compileAllTaskName: String
abstract val languageSettings: LanguageSettings abstract val languageSettings: LanguageSettings
@@ -56,7 +57,8 @@ internal sealed class KotlinCompilationInfo {
override val moduleName: String override val moduleName: String
get() = origin.moduleNameForCompilation().get() get() = origin.moduleNameForCompilation().get()
override val compilerOptions: HasCompilerOptions<*> @Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
override val compilerOptions: DeprecatedHasCompilerOptions<*>
get() = origin.compilerOptions get() = origin.compilerOptions
override val compileKotlinTaskName: String override val compileKotlinTaskName: String
@@ -47,14 +47,14 @@ internal open class KotlinJvmPlugin(
Kotlin2JvmSourceSetProcessor(tasksProvider, KotlinCompilationInfo(compilation)) Kotlin2JvmSourceSetProcessor(tasksProvider, KotlinCompilationInfo(compilation))
override fun apply(project: Project) { override fun apply(project: Project) {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST", "TYPEALIAS_EXPANSION_DEPRECATION")
val target = (project.objects.newInstance( val target = (project.objects.newInstance(
KotlinWithJavaTarget::class.java, KotlinWithJavaTarget::class.java,
project, project,
KotlinPlatformType.jvm, KotlinPlatformType.jvm,
targetName, targetName,
{ {
object : HasCompilerOptions<KotlinJvmCompilerOptions> { object : DeprecatedHasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: KotlinJvmCompilerOptions = override val options: KotlinJvmCompilerOptions =
project.objects project.objects
.newInstance(KotlinJvmCompilerOptionsDefault::class.java) .newInstance(KotlinJvmCompilerOptionsDefault::class.java)
@@ -0,0 +1,10 @@
/*
* Copyright 2010-2024 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.
*/
@file:Suppress("DEPRECATION")
package org.jetbrains.kotlin.gradle.plugin
typealias DeprecatedHasCompilerOptions<T> = HasCompilerOptions<T>
@@ -41,7 +41,7 @@ internal class KotlinCompilationImpl constructor(
val compilationTaskNames: KotlinCompilationTaskNamesContainer, val compilationTaskNames: KotlinCompilationTaskNamesContainer,
val processResourcesTaskName: String?, val processResourcesTaskName: String?,
val output: KotlinCompilationOutput, val output: KotlinCompilationOutput,
val compilerOptions: HasCompilerOptions<*>, @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") val compilerOptions: DeprecatedHasCompilerOptions<*>,
val kotlinOptions: KotlinCommonOptions, val kotlinOptions: KotlinCommonOptions,
val compilationAssociator: KotlinCompilationAssociator, val compilationAssociator: KotlinCompilationAssociator,
val compilationFriendPathsResolver: KotlinCompilationFriendPathsResolver, val compilationFriendPathsResolver: KotlinCompilationFriendPathsResolver,
@@ -172,7 +172,8 @@ internal class KotlinCompilationImpl constructor(
override val kotlinOptions: KotlinCommonOptions override val kotlinOptions: KotlinCommonOptions
get() = params.kotlinOptions get() = params.kotlinOptions
override val compilerOptions: HasCompilerOptions<*> @Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
override val compilerOptions: DeprecatedHasCompilerOptions<*>
get() = params.compilerOptions get() = params.compilerOptions
//endregion //endregion
@@ -6,9 +6,7 @@
package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory
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.*
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationOutput
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.DecoratedKotlinCompilation 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.decoratedInstance import org.jetbrains.kotlin.gradle.plugin.mpp.decoratedInstance
@@ -69,7 +67,10 @@ internal class KotlinCompilationImplFactory(
} }
fun interface KotlinCompilerOptionsFactory { fun interface KotlinCompilerOptionsFactory {
data class Options(val compilerOptions: HasCompilerOptions<*>, val kotlinOptions: KotlinCommonOptions) data class Options(
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION") val compilerOptions: DeprecatedHasCompilerOptions<*>,
val kotlinOptions: KotlinCommonOptions
)
fun create(target: KotlinTarget, compilationName: String): Options fun create(target: KotlinTarget, compilationName: String): Options
} }
@@ -6,8 +6,7 @@
package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory
import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.baseModuleName import org.jetbrains.kotlin.gradle.plugin.mpp.baseModuleName
import org.jetbrains.kotlin.gradle.plugin.mpp.moduleNameForCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.moduleNameForCompilation
import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions
@@ -16,7 +15,8 @@ import org.jetbrains.kotlin.gradle.utils.klibModuleName
internal object KotlinMultiplatformCommonCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory { internal object KotlinMultiplatformCommonCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options { override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options {
val compilerOptions = object : HasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> { @Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
val compilerOptions = object : DeprecatedHasCompilerOptions<KotlinMultiplatformCommonCompilerOptions> {
override val options: KotlinMultiplatformCommonCompilerOptions = target.project.objects override val options: KotlinMultiplatformCommonCompilerOptions = target.project.objects
.newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java) .newInstance(KotlinMultiplatformCommonCompilerOptionsDefault::class.java)
.configureExperimentalTryNext(target.project) .configureExperimentalTryNext(target.project)
@@ -55,7 +55,8 @@ internal object KotlinNativeCompilerOptionsFactory : KotlinCompilationImplFactor
internal object KotlinJsCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory { internal object KotlinJsCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options { override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options {
val compilerOptions = object : HasCompilerOptions<KotlinJsCompilerOptions> { @Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
val compilerOptions = object : DeprecatedHasCompilerOptions<KotlinJsCompilerOptions> {
override val options: KotlinJsCompilerOptions = target.project.objects override val options: KotlinJsCompilerOptions = target.project.objects
.newInstance(KotlinJsCompilerOptionsDefault::class.java) .newInstance(KotlinJsCompilerOptionsDefault::class.java)
.configureExperimentalTryNext(target.project) .configureExperimentalTryNext(target.project)
@@ -72,7 +73,8 @@ internal object KotlinJsCompilerOptionsFactory : KotlinCompilationImplFactory.Ko
internal object KotlinJvmCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory { internal object KotlinJvmCompilerOptionsFactory : KotlinCompilationImplFactory.KotlinCompilerOptionsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options { override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationImplFactory.KotlinCompilerOptionsFactory.Options {
val compilerOptions = object : HasCompilerOptions<KotlinJvmCompilerOptions> { @Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
val compilerOptions = object : DeprecatedHasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: KotlinJvmCompilerOptions = target.project.objects override val options: KotlinJvmCompilerOptions = target.project.objects
.newInstance(KotlinJvmCompilerOptionsDefault::class.java) .newInstance(KotlinJvmCompilerOptionsDefault::class.java)
.configureExperimentalTryNext(target.project) .configureExperimentalTryNext(target.project)
@@ -11,8 +11,7 @@ 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.internal.KAPT_GENERATE_STUBS_PREFIX import org.jetbrains.kotlin.gradle.internal.KAPT_GENERATE_STUBS_PREFIX
import org.jetbrains.kotlin.gradle.internal.getKaptTaskName import org.jetbrains.kotlin.gradle.internal.getKaptTaskName
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.utils.archivesName import org.jetbrains.kotlin.gradle.utils.archivesName
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
import org.jetbrains.kotlin.gradle.utils.fileExtensionCasePermutations import org.jetbrains.kotlin.gradle.utils.fileExtensionCasePermutations
@@ -107,8 +106,9 @@ internal inline fun <reified T : KotlinCommonOptions> InternalKotlinCompilation<
return this as InternalKotlinCompilation<T> return this as InternalKotlinCompilation<T>
} }
internal inline fun <reified T : KotlinCommonCompilerOptions> HasCompilerOptions<*>.castCompilerOptionsType(): HasCompilerOptions<T> { @Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
internal inline fun <reified T : KotlinCommonCompilerOptions> DeprecatedHasCompilerOptions<*>.castCompilerOptionsType(): DeprecatedHasCompilerOptions<T> {
this.options as T this.options as T
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
return this as HasCompilerOptions<T> return this as DeprecatedHasCompilerOptions<T>
} }
@@ -16,8 +16,7 @@ import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.JsModuleKind import org.jetbrains.kotlin.gradle.dsl.JsModuleKind
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl
import org.jetbrains.kotlin.gradle.targets.js.ir.JsBinary import org.jetbrains.kotlin.gradle.targets.js.ir.JsBinary
@@ -33,8 +32,8 @@ open class KotlinJsCompilation @Inject internal constructor(
HasBinaries<KotlinJsBinaryContainer> { HasBinaries<KotlinJsBinaryContainer> {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
final override val compilerOptions: HasCompilerOptions<KotlinJsCompilerOptions> final override val compilerOptions: DeprecatedHasCompilerOptions<KotlinJsCompilerOptions>
get() = compilation.compilerOptions as HasCompilerOptions<KotlinJsCompilerOptions> get() = compilation.compilerOptions as DeprecatedHasCompilerOptions<KotlinJsCompilerOptions>
internal fun compilerOptions(configure: KotlinJsCompilerOptions.() -> Unit) { internal fun compilerOptions(configure: KotlinJsCompilerOptions.() -> Unit) {
compilerOptions.configure(configure) compilerOptions.configure(configure)
@@ -13,7 +13,7 @@ import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.compile.JavaCompile import org.gradle.api.tasks.compile.JavaCompile
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask
import org.jetbrains.kotlin.gradle.utils.* import org.jetbrains.kotlin.gradle.utils.*
@@ -27,7 +27,7 @@ open class KotlinJvmAndroidCompilation @Inject internal constructor(
override val target: KotlinAndroidTarget = compilation.target as KotlinAndroidTarget override val target: KotlinAndroidTarget = compilation.target as KotlinAndroidTarget
override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions> = override val compilerOptions: DeprecatedHasCompilerOptions<KotlinJvmCompilerOptions> =
compilation.compilerOptions.castCompilerOptionsType() compilation.compilerOptions.castCompilerOptionsType()
internal fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) { internal fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) {
@@ -33,7 +33,7 @@ open class KotlinJvmCompilation @Inject internal constructor(
final override val target: KotlinJvmTarget = compilation.target as KotlinJvmTarget final override val target: KotlinJvmTarget = compilation.target as KotlinJvmTarget
override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions> = override val compilerOptions: DeprecatedHasCompilerOptions<KotlinJvmCompilerOptions> =
compilation.compilerOptions.castCompilerOptionsType() compilation.compilerOptions.castCompilerOptionsType()
internal fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) { internal fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) {
@@ -32,14 +32,14 @@ class KotlinJvmWithJavaTargetPreset(
project.plugins.apply(JavaPlugin::class.java) project.plugins.apply(JavaPlugin::class.java)
@Suppress("UNCHECKED_CAST", "DEPRECATION") @Suppress("UNCHECKED_CAST", "DEPRECATION", "TYPEALIAS_EXPANSION_DEPRECATION")
val target = (project.objects.newInstance( val target = (project.objects.newInstance(
KotlinWithJavaTarget::class.java, KotlinWithJavaTarget::class.java,
project, project,
KotlinPlatformType.jvm, KotlinPlatformType.jvm,
name, name,
{ {
object : HasCompilerOptions<KotlinJvmCompilerOptions> { object : DeprecatedHasCompilerOptions<KotlinJvmCompilerOptions> {
override val options: KotlinJvmCompilerOptions = project.objects override val options: KotlinJvmCompilerOptions = project.objects
.newInstance(KotlinJvmCompilerOptionsDefault::class.java) .newInstance(KotlinJvmCompilerOptionsDefault::class.java)
.configureExperimentalTryNext(project) .configureExperimentalTryNext(project)
@@ -26,8 +26,8 @@ open class KotlinWithJavaCompilation<KotlinOptionsType : KotlinCommonOptions, CO
DeprecatedKotlinCompilationWithResources<KotlinOptionsType> { DeprecatedKotlinCompilationWithResources<KotlinOptionsType> {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
override val compilerOptions: HasCompilerOptions<CO> = override val compilerOptions: DeprecatedHasCompilerOptions<CO> =
compilation.compilerOptions as HasCompilerOptions<CO> compilation.compilerOptions as DeprecatedHasCompilerOptions<CO>
internal fun compilerOptions(configure: CO.() -> Unit) { internal fun compilerOptions(configure: CO.() -> Unit) {
compilerOptions.configure(configure) compilerOptions.configure(configure)
@@ -3,12 +3,12 @@
* 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.
*/ */
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch", "TYPEALIAS_EXPANSION_DEPRECATION") // Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp 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.DeprecatedHasCompilerOptions
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.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
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.gradle.utils.filesProvider
class KotlinWithJavaCompilationFactory<KotlinOptionsType : KotlinCommonOptions, CO : KotlinCommonCompilerOptions> internal constructor( class KotlinWithJavaCompilationFactory<KotlinOptionsType : KotlinCommonOptions, CO : KotlinCommonCompilerOptions> internal constructor(
override val target: KotlinWithJavaTarget<KotlinOptionsType, CO>, override val target: KotlinWithJavaTarget<KotlinOptionsType, CO>,
val compilerOptionsFactory: () -> HasCompilerOptions<CO>, val compilerOptionsFactory: () -> DeprecatedHasCompilerOptions<CO>,
val kotlinOptionsFactory: (CO) -> KotlinOptionsType val kotlinOptionsFactory: (CO) -> KotlinOptionsType
) : KotlinCompilationFactory<KotlinWithJavaCompilation<KotlinOptionsType, CO>> { ) : KotlinCompilationFactory<KotlinWithJavaCompilation<KotlinOptionsType, CO>> {
@@ -15,10 +15,8 @@ import org.gradle.api.tasks.SourceSetContainer
import org.gradle.jvm.tasks.Jar import org.gradle.jvm.tasks.Jar
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.internal.JavaSourceSetsAccessor import org.jetbrains.kotlin.gradle.plugin.internal.JavaSourceSetsAccessor
import org.jetbrains.kotlin.gradle.plugin.variantImplementationFactory
import org.jetbrains.kotlin.gradle.tasks.KOTLIN_BUILD_DIR_NAME import org.jetbrains.kotlin.gradle.tasks.KOTLIN_BUILD_DIR_NAME
import org.jetbrains.kotlin.gradle.utils.newInstance import org.jetbrains.kotlin.gradle.utils.newInstance
import java.io.File import java.io.File
@@ -28,7 +26,7 @@ abstract class KotlinWithJavaTarget<KotlinOptionsType : KotlinCommonOptions, CO
project: Project, project: Project,
override val platformType: KotlinPlatformType, override val platformType: KotlinPlatformType,
override val targetName: String, override val targetName: String,
compilerOptionsFactory: () -> HasCompilerOptions<CO>, @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") compilerOptionsFactory: () -> DeprecatedHasCompilerOptions<CO>,
kotlinOptionsFactory: (CO) -> KotlinOptionsType kotlinOptionsFactory: (CO) -> KotlinOptionsType
) : AbstractKotlinTarget(project), ) : AbstractKotlinTarget(project),
HasConfigurableCompilerOptions<KotlinJvmCompilerOptions> { HasConfigurableCompilerOptions<KotlinJvmCompilerOptions> {
@@ -12,8 +12,7 @@ import org.gradle.api.Project
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeCompilerOptions import org.jetbrains.kotlin.gradle.dsl.KotlinNativeCompilerOptions
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl
import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
@@ -42,8 +41,8 @@ abstract class AbstractKotlinNativeCompilation internal constructor(
get() = compilation.compileTaskProvider as TaskProvider<KotlinNativeCompile> get() = compilation.compileTaskProvider as TaskProvider<KotlinNativeCompile>
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
override val compilerOptions: HasCompilerOptions<KotlinNativeCompilerOptions> override val compilerOptions: DeprecatedHasCompilerOptions<KotlinNativeCompilerOptions>
get() = compilation.compilerOptions as HasCompilerOptions<KotlinNativeCompilerOptions> get() = compilation.compilerOptions as DeprecatedHasCompilerOptions<KotlinNativeCompilerOptions>
internal fun compilerOptions(configure: KotlinNativeCompilerOptions.() -> Unit) { internal fun compilerOptions(configure: KotlinNativeCompilerOptions.() -> Unit) {
compilerOptions.configure(configure) compilerOptions.configure(configure)
@@ -3,15 +3,17 @@
* 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.
*/ */
@file:Suppress("TYPEALIAS_EXPANSION_DEPRECATION")
package org.jetbrains.kotlin.gradle.targets.native package org.jetbrains.kotlin.gradle.targets.native
import org.gradle.api.Project import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeCompilerOptions import org.jetbrains.kotlin.gradle.dsl.KotlinNativeCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeCompilerOptionsDefault import org.jetbrains.kotlin.gradle.dsl.KotlinNativeCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.DeprecatedHasCompilerOptions
import org.jetbrains.kotlin.gradle.utils.configureExperimentalTryNext import org.jetbrains.kotlin.gradle.utils.configureExperimentalTryNext
class NativeCompilerOptions(project: Project) : HasCompilerOptions<KotlinNativeCompilerOptions> { class NativeCompilerOptions(project: Project) : DeprecatedHasCompilerOptions<KotlinNativeCompilerOptions> {
override val options: KotlinNativeCompilerOptions = project.objects override val options: KotlinNativeCompilerOptions = project.objects
.newInstance(KotlinNativeCompilerOptionsDefault::class.java) .newInstance(KotlinNativeCompilerOptionsDefault::class.java)
@@ -8,15 +8,13 @@ package org.jetbrains.kotlin.gradle.util
import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.NamedDomainObjectContainer
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.plugin.HasCompilerOptions import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.mpp.external.* import org.jetbrains.kotlin.gradle.plugin.mpp.external.*
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor.CompilationFactory import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinCompilationDescriptor.CompilationFactory
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory
class FakeCompilation(delegate: Delegate) : DecoratedExternalKotlinCompilation(delegate) { class FakeCompilation(delegate: Delegate) : DecoratedExternalKotlinCompilation(delegate) {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST", "DEPRECATION")
override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions> override val compilerOptions: HasCompilerOptions<KotlinJvmCompilerOptions>
get() = super.compilerOptions as HasCompilerOptions<KotlinJvmCompilerOptions> get() = super.compilerOptions as HasCompilerOptions<KotlinJvmCompilerOptions>
} }