Undeprecate 'kotlinOptions' DSL

'@ReplaceWith' is not that flexible in this case and proper IDE support
required for smooth migration. After such migration in IDE will be added
 - deprecation should be restored.

 ^KT-54399 Fixed
This commit is contained in:
Yahor Berdnikau
2022-10-12 15:41:43 +02:00
committed by teamcity
parent a244aaf162
commit 860d3fda95
19 changed files with 13 additions and 127 deletions
@@ -484,8 +484,8 @@ private fun Printer.generateDeprecatedInterface(
parentType: FqName? = null, parentType: FqName? = null,
) { ) {
val afterType = parentType?.let { " : $it" } val afterType = parentType?.let { " : $it" }
// Add @Deprecated annotation back once proper migration to compilerOptions will be supported
val modifier = """ val modifier = """
@Deprecated("Use ${compilerOptionType.shortName()} instead", level = DeprecationLevel.WARNING)
interface interface
""".trimIndent() """.trimIndent()
generateDeclaration(modifier, type, afterType = afterType) { generateDeclaration(modifier, type, afterType = afterType) {
@@ -23,11 +23,6 @@ interface KotlinNativeArtifact : KotlinArtifact {
val modes: Set<NativeBuildType> val modes: Set<NativeBuildType>
val isStatic: Boolean val isStatic: Boolean
val linkerOptions: List<String> val linkerOptions: List<String>
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced by toolOptionsConfigure",
replaceWith = ReplaceWith("toolOptionsConfigure")
)
val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit
val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit
val binaryOptions: Map<String, String> val binaryOptions: Map<String, String>
@@ -65,11 +60,6 @@ interface KotlinNativeArtifactConfig : KotlinArtifactConfig {
fun modes(vararg modes: NativeBuildType) fun modes(vararg modes: NativeBuildType)
var isStatic: Boolean var isStatic: Boolean
var linkerOptions: List<String> var linkerOptions: List<String>
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions()",
replaceWith = ReplaceWith("toolOptions(fn)")
)
fun kotlinOptions(fn: Action<KotlinCommonToolOptions>) fun kotlinOptions(fn: Action<KotlinCommonToolOptions>)
fun toolOptions(configure: Action<KotlinCommonCompilerToolOptions>) fun toolOptions(configure: Action<KotlinCommonCompilerToolOptions>)
fun binaryOption(name: String, value: String) fun binaryOption(name: String, value: String)
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use KotlinCommonCompilerOptions instead", level = DeprecationLevel.WARNING)
interface KotlinCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions { interface KotlinCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use KotlinCommonCompilerToolOptions instead", level = DeprecationLevel.WARNING)
interface KotlinCommonToolOptions { interface KotlinCommonToolOptions {
val options: org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions val options: org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerToolOptions
@@ -10,35 +10,15 @@ import org.gradle.api.Action
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.tasks.Internal import org.gradle.api.tasks.Internal
@Deprecated(
message = "Replaced by KotlinCompilationTask",
replaceWith = ReplaceWith(
"KotlinCompilationTask",
"org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask"
)
)
@Suppress("DEPRECATION")
interface KotlinCompile<out T : KotlinCommonOptions> : Task { interface KotlinCompile<out T : KotlinCommonOptions> : Task {
@Deprecated(
message = "Replaced by compilerOptions input",
replaceWith = ReplaceWith("compilerOptions")
)
@get:Internal @get:Internal
val kotlinOptions: T val kotlinOptions: T
@Deprecated(
message = "Replaced by compilerOptions { .. }",
replaceWith = ReplaceWith("compilerOptions(fn)")
)
fun kotlinOptions(fn: T.() -> Unit) { fun kotlinOptions(fn: T.() -> Unit) {
kotlinOptions.fn() kotlinOptions.fn()
} }
@Deprecated(
message = "Replaced by compilerOptions(Action)",
replaceWith = ReplaceWith("compilerOptions(fn)")
)
fun kotlinOptions(fn: Action<in T>) { fun kotlinOptions(fn: Action<in T>) {
fn.execute(kotlinOptions) fn.execute(kotlinOptions)
} }
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use KotlinJsDceCompilerToolOptions instead", level = DeprecationLevel.WARNING)
interface KotlinJsDceOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions { interface KotlinJsDceOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonToolOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJsDceCompilerToolOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJsDceCompilerToolOptions
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use KotlinJsCompilerOptions instead", level = DeprecationLevel.WARNING)
interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions { interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use KotlinJvmCompilerOptions instead", level = DeprecationLevel.WARNING)
interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions { interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.gradle.dsl package org.jetbrains.kotlin.gradle.dsl
@Deprecated("Use KotlinMultiplatformCommonCompilerOptions instead", level = DeprecationLevel.WARNING)
interface KotlinMultiplatformCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions { interface KotlinMultiplatformCommonOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
override val options: org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonCompilerOptions override val options: org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonCompilerOptions
} }
@@ -70,25 +70,13 @@ interface KotlinCompilation<out T : KotlinCommonOptionsDeprecated> : Named,
val compileTaskProvider: TaskProvider<out KotlinCompilationTask<*>> val compileTaskProvider: TaskProvider<out KotlinCompilationTask<*>>
@Deprecated(
message = "Replaced by compilerOptions",
replaceWith = ReplaceWith("compilerOptions.options")
)
val kotlinOptions: T val kotlinOptions: T
@Deprecated(
message = "Replaced by compilerOptions.configure { }",
replaceWith = ReplaceWith("compilerOptions.configure(configure)")
)
fun kotlinOptions(configure: T.() -> Unit) { fun kotlinOptions(configure: T.() -> Unit) {
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
configure(kotlinOptions) configure(kotlinOptions)
} }
@Deprecated(
message = "Replaced by compilerOptions(Action)",
replaceWith = ReplaceWith("compilerOptions.configure(configure)")
)
fun kotlinOptions(configure: Action<@UnsafeVariance T>) { fun kotlinOptions(configure: Action<@UnsafeVariance T>) {
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
configure.execute(kotlinOptions) configure.execute(kotlinOptions)
@@ -33,31 +33,16 @@ interface KotlinJvmCompile : KotlinJvmCompileApi
interface KotlinCommonCompile : KotlinCompile<KotlinMultiplatformCommonOptions> interface KotlinCommonCompile : KotlinCompile<KotlinMultiplatformCommonOptions>
interface KotlinJsDce : Task { interface KotlinJsDce : Task {
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions",
replaceWith = ReplaceWith("toolOptions")
)
@get:Internal @get:Internal
val dceOptions: KotlinJsDceOptions val dceOptions: KotlinJsDceOptions
@get:Input @get:Input
val keep: MutableList<String> val keep: MutableList<String>
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions()",
replaceWith = ReplaceWith("toolOptions(fn)")
)
fun dceOptions(fn: KotlinJsDceOptions.() -> Unit) { fun dceOptions(fn: KotlinJsDceOptions.() -> Unit) {
dceOptions.fn() dceOptions.fn()
} }
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions()",
replaceWith = ReplaceWith("toolOptions(fn)")
)
fun dceOptions(fn: Closure<*>) { fun dceOptions(fn: Closure<*>) {
fn.delegate = dceOptions fn.delegate = dceOptions
fn.call() fn.call()
@@ -122,35 +122,21 @@ constructor(
@Suppress("unused", "UNCHECKED_CAST") @Suppress("unused", "UNCHECKED_CAST")
@Deprecated( @Deprecated(
"Use toolOptions.freeCompilerArgs", "Use toolOptions.freeCompilerArgs",
replaceWith = ReplaceWith("toolOptions.freeCompilerArgs") replaceWith = ReplaceWith("toolOptions.freeCompilerArgs.get()")
) )
@get:Internal @get:Internal
val additionalCompilerOptions: Provider<Collection<String>> = toolOptions.freeCompilerArgs as Provider<Collection<String>> val additionalCompilerOptions: Provider<Collection<String>> = toolOptions.freeCompilerArgs as Provider<Collection<String>>
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions",
replaceWith = ReplaceWith("toolOptions")
)
@get:Internal @get:Internal
val kotlinOptions: KotlinCommonToolOptions = object : KotlinCommonToolOptions { val kotlinOptions: KotlinCommonToolOptions = object : KotlinCommonToolOptions {
override val options: KotlinCommonCompilerToolOptions override val options: KotlinCommonCompilerToolOptions
get() = toolOptions get() = toolOptions
} }
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions()",
replaceWith = ReplaceWith("toolOptions(fn)")
)
fun kotlinOptions(fn: KotlinCommonToolOptions.() -> Unit) { fun kotlinOptions(fn: KotlinCommonToolOptions.() -> Unit) {
kotlinOptions.fn() kotlinOptions.fn()
} }
@Deprecated(
message = "Replaced with toolOptions()",
replaceWith = ReplaceWith("toolOptions(fn)")
)
fun kotlinOptions(fn: Closure<*>) { fun kotlinOptions(fn: Closure<*>) {
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
fn.delegate = kotlinOptions fn.delegate = kotlinOptions
@@ -369,15 +369,15 @@ internal constructor(
// region Language settings imported from a SourceSet. // region Language settings imported from a SourceSet.
@Deprecated( @Deprecated(
message = "Replaced with compilerOptions.languageVersion", message = "Replaced with kotlinOptions.languageVersion",
replaceWith = ReplaceWith("compilerOptions.languageVersion") replaceWith = ReplaceWith("kotlinOptions.languageVersion")
) )
val languageVersion: String? val languageVersion: String?
@Optional @Input get() = languageSettings.languageVersion @Optional @Input get() = languageSettings.languageVersion
@Deprecated( @Deprecated(
message = "Replaced with compilerOptions.apiVersion", message = "Replaced with kotlinOptions.apiVersion",
replaceWith = ReplaceWith("compilerOptions.apiVersion") replaceWith = ReplaceWith("kotlinOptions.apiVersion")
) )
val apiVersion: String? val apiVersion: String?
@Optional @Input get() = languageSettings.apiVersion @Optional @Input get() = languageSettings.apiVersion
@@ -392,28 +392,18 @@ internal constructor(
// region Kotlin options. // region Kotlin options.
override val compilerOptions: KotlinCommonCompilerOptions = compilation.compilerOptions.options override val compilerOptions: KotlinCommonCompilerOptions = compilation.compilerOptions.options
@Deprecated(
message = "Replaced with compilerOptions",
replaceWith = ReplaceWith("compilerOptions")
)
@Suppress("DEPRECATION")
override val kotlinOptions: KotlinCommonOptions = object : KotlinCommonOptions { override val kotlinOptions: KotlinCommonOptions = object : KotlinCommonOptions {
override val options: KotlinCommonCompilerOptions override val options: KotlinCommonCompilerOptions
get() = compilerOptions get() = compilerOptions
} }
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with compilerOptions()",
replaceWith = ReplaceWith("compilerOptions(fn)")
)
override fun kotlinOptions(fn: KotlinCommonOptions.() -> Unit) { override fun kotlinOptions(fn: KotlinCommonOptions.() -> Unit) {
kotlinOptions.fn() kotlinOptions.fn()
} }
@Deprecated( @Deprecated(
message = "Replaced with compilerOptions()", message = "Replaced with kotlinOptions()",
replaceWith = ReplaceWith("compilerOptions(fn)") replaceWith = ReplaceWith("kotlinOptions(fn)")
) )
override fun kotlinOptions(fn: Closure<*>) { override fun kotlinOptions(fn: Closure<*>) {
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@@ -423,7 +413,7 @@ internal constructor(
@Deprecated( @Deprecated(
message = "Replaced with compilerOptions.freeCompilerArgs", message = "Replaced with compilerOptions.freeCompilerArgs",
replaceWith = ReplaceWith("compilerOptions.freeCompilerArgs") replaceWith = ReplaceWith("compilerOptions.freeCompilerArgs.get()")
) )
@get:Input @get:Input
override val additionalCompilerOptions: Provider<Collection<String>> override val additionalCompilerOptions: Provider<Collection<String>>
@@ -67,8 +67,6 @@ class KotlinNativeFatFrameworkImpl(
override val modes: Set<NativeBuildType>, override val modes: Set<NativeBuildType>,
override val isStatic: Boolean, override val isStatic: Boolean,
override val linkerOptions: List<String>, override val linkerOptions: List<String>,
@Suppress("DEPRECATION")
@Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit, override val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
@@ -98,38 +98,23 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor(
freeCompilerArgs.addAll(PropertiesProvider(project).nativeLinkArgs) freeCompilerArgs.addAll(PropertiesProvider(project).nativeLinkArgs)
} }
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions",
replaceWith = ReplaceWith("toolOptions")
)
@get:Internal @get:Internal
val kotlinOptions = object : KotlinCommonToolOptions { val kotlinOptions = object : KotlinCommonToolOptions {
override val options: KotlinCommonCompilerToolOptions override val options: KotlinCommonCompilerToolOptions
get() = toolOptions get() = toolOptions
} }
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions()",
replaceWith = ReplaceWith("toolOptions(fn)")
)
fun kotlinOptions(fn: KotlinCommonToolOptions.() -> Unit) { fun kotlinOptions(fn: KotlinCommonToolOptions.() -> Unit) {
kotlinOptions.fn() kotlinOptions.fn()
} }
@Suppress("DEPRECATION")
@Deprecated(
message = "Replaced with toolOptions()",
replaceWith = ReplaceWith("toolOptions(fn)")
)
fun kotlinOptions(fn: Action<KotlinCommonToolOptions>) { fun kotlinOptions(fn: Action<KotlinCommonToolOptions>) {
fn.execute(kotlinOptions) fn.execute(kotlinOptions)
} }
@Deprecated( @Deprecated(
message = "Replaced with toolOptions.allWarningsAsErrors", message = "Replaced with toolOptions.allWarningsAsErrors",
replaceWith = ReplaceWith("toolOptions.allWarningsAsErrors") replaceWith = ReplaceWith("toolOptions.allWarningsAsErrors.get()")
) )
@get:Internal @get:Internal
val allWarningsAsErrors: Boolean val allWarningsAsErrors: Boolean
@@ -137,7 +122,7 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor(
@Deprecated( @Deprecated(
message = "Replaced with toolOptions.suppressWarnings", message = "Replaced with toolOptions.suppressWarnings",
replaceWith = ReplaceWith("toolOptions.suppressWarnings") replaceWith = ReplaceWith("toolOptions.suppressWarnings.get()")
) )
@get:Internal @get:Internal
val suppressWarnings: Boolean val suppressWarnings: Boolean
@@ -145,7 +130,7 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor(
@Deprecated( @Deprecated(
message = "Replaced with toolOptions.verbose", message = "Replaced with toolOptions.verbose",
replaceWith = ReplaceWith("toolOptions.verbose") replaceWith = ReplaceWith("toolOptions.verbose.get()")
) )
@get:Internal @get:Internal
val verbose: Boolean val verbose: Boolean
@@ -153,7 +138,7 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor(
@Deprecated( @Deprecated(
message = "Replaced with toolOptions.freeCompilerArgs", message = "Replaced with toolOptions.freeCompilerArgs",
replaceWith = ReplaceWith("toolOptions.freeCompilerArgs") replaceWith = ReplaceWith("toolOptions.freeCompilerArgs.get()")
) )
@get:Internal @get:Internal
val freeCompilerArgs: List<String> val freeCompilerArgs: List<String>
@@ -67,8 +67,6 @@ class KotlinNativeXCFrameworkImpl(
override val modes: Set<NativeBuildType>, override val modes: Set<NativeBuildType>,
override val isStatic: Boolean, override val isStatic: Boolean,
override val linkerOptions: List<String>, override val linkerOptions: List<String>,
@Suppress("DEPRECATION")
@Deprecated("Replaced by toolOptionsConfigure", replaceWith = ReplaceWith("toolOptionsConfigure"))
override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit, override val kotlinOptionsFn: KotlinCommonToolOptions.() -> Unit,
override val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit, override val toolOptionsConfigure: KotlinCommonCompilerToolOptions.() -> Unit,
override val binaryOptions: Map<String, String>, override val binaryOptions: Map<String, String>,
@@ -46,8 +46,6 @@ abstract class KotlinCompileCommon @Inject constructor(
compilerOptions.verbose.convention(logger.isDebugEnabled) compilerOptions.verbose.convention(logger.isDebugEnabled)
} }
@Suppress("DEPRECATION")
@Deprecated("Replaced by compilerOptions input", replaceWith = ReplaceWith("compilerOptions"))
override val kotlinOptions: KotlinMultiplatformCommonOptions = KotlinMultiplatformCommonOptionsCompat( override val kotlinOptions: KotlinMultiplatformCommonOptions = KotlinMultiplatformCommonOptionsCompat(
{ this }, { this },
compilerOptions compilerOptions
@@ -66,8 +66,6 @@ abstract class KotlinJsDce @Inject constructor(
@Internal @Internal
var kotlinFilesOnly: Boolean = false var kotlinFilesOnly: Boolean = false
@Deprecated("Replaced with toolOptions", replaceWith = ReplaceWith("toolOptions"))
@Suppress("DEPRECATION")
@get:Internal @get:Internal
override val dceOptions: KotlinJsDceOptions = object : KotlinJsDceOptions { override val dceOptions: KotlinJsDceOptions = object : KotlinJsDceOptions {
override val options: KotlinJsDceCompilerToolOptions override val options: KotlinJsDceCompilerToolOptions
@@ -552,8 +552,6 @@ abstract class KotlinCompile @Inject constructor(
compilerOptions.verbose.convention(logger.isDebugEnabled) compilerOptions.verbose.convention(logger.isDebugEnabled)
} }
@Suppress("DEPRECATION")
@Deprecated("Replaced by compilerOptions input", replaceWith = ReplaceWith("compilerOptions"))
final override val kotlinOptions: KotlinJvmOptions = KotlinJvmOptionsCompat( final override val kotlinOptions: KotlinJvmOptions = KotlinJvmOptionsCompat(
{ this }, { this },
compilerOptions compilerOptions
@@ -953,8 +951,6 @@ abstract class Kotlin2JsCompile @Inject constructor(
} }
} }
@Suppress("DEPRECATION")
@Deprecated("Replaced by compilerOptions input", replaceWith = ReplaceWith("compilerOptions"))
override val kotlinOptions: KotlinJsOptions = KotlinJsOptionsCompat( override val kotlinOptions: KotlinJsOptions = KotlinJsOptionsCompat(
{ this }, { this },
compilerOptions compilerOptions