[Gradle] Deprecate kotlinOptions DSL in KotlinCompile DSL

^KT-63419 In Progress
This commit is contained in:
Yahor Berdnikau
2024-02-23 13:26:13 +01:00
committed by Space Team
parent 433bec3700
commit 2f70478e67
9 changed files with 13 additions and 46 deletions
@@ -1,4 +1,3 @@
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
import java.io.File
plugins {
@@ -1,4 +1,4 @@
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
import org.jetbrains.kotlin.gradle.dsl.*
plugins {
kotlin("multiplatform")
@@ -257,13 +257,11 @@ public final class org/jetbrains/kotlin/gradle/dsl/KotlinCommonToolOptions$Defau
public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinCompile : org/gradle/api/Task {
public abstract fun getKotlinOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions;
public abstract fun kotlinOptions (Lgroovy/lang/Closure;)V
public abstract fun kotlinOptions (Lkotlin/jvm/functions/Function1;)V
public abstract fun kotlinOptions (Lorg/gradle/api/Action;)V
}
public final class org/jetbrains/kotlin/gradle/dsl/KotlinCompile$DefaultImpls {
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/dsl/KotlinCompile;Lgroovy/lang/Closure;)V
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/dsl/KotlinCompile;Lkotlin/jvm/functions/Function1;)V
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/dsl/KotlinCompile;Lorg/gradle/api/Action;)V
}
@@ -1393,7 +1391,6 @@ public final class org/jetbrains/kotlin/gradle/tasks/KaptGenerateStubs$DefaultIm
public static fun compilerOptions (Lorg/jetbrains/kotlin/gradle/tasks/KaptGenerateStubs;Lkotlin/jvm/functions/Function1;)V
public static fun compilerOptions (Lorg/jetbrains/kotlin/gradle/tasks/KaptGenerateStubs;Lorg/gradle/api/Action;)V
public static fun getKotlinJavaToolchain (Lorg/jetbrains/kotlin/gradle/tasks/KaptGenerateStubs;)Lorg/jetbrains/kotlin/gradle/tasks/KotlinJavaToolchain;
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/tasks/KaptGenerateStubs;Lgroovy/lang/Closure;)V
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/tasks/KaptGenerateStubs;Lkotlin/jvm/functions/Function1;)V
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/tasks/KaptGenerateStubs;Lorg/gradle/api/Action;)V
}
@@ -1462,7 +1459,6 @@ public final class org/jetbrains/kotlin/gradle/tasks/KotlinJvmCompile$DefaultImp
public static fun compilerOptions (Lorg/jetbrains/kotlin/gradle/tasks/KotlinJvmCompile;Lkotlin/jvm/functions/Function1;)V
public static fun compilerOptions (Lorg/jetbrains/kotlin/gradle/tasks/KotlinJvmCompile;Lorg/gradle/api/Action;)V
public static fun getKotlinJavaToolchain (Lorg/jetbrains/kotlin/gradle/tasks/KotlinJvmCompile;)Lorg/jetbrains/kotlin/gradle/tasks/KotlinJavaToolchain;
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/tasks/KotlinJvmCompile;Lgroovy/lang/Closure;)V
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/tasks/KotlinJvmCompile;Lkotlin/jvm/functions/Function1;)V
public static fun kotlinOptions (Lorg/jetbrains/kotlin/gradle/tasks/KotlinJvmCompile;Lorg/gradle/api/Action;)V
}
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.gradle.dsl
import groovy.lang.Closure
import org.gradle.api.Action
import org.gradle.api.Task
import org.gradle.api.tasks.Internal
@@ -44,6 +43,7 @@ interface KotlinCompile<out T : KotlinCommonOptions> : Task {
@OptIn(InternalKotlinGradlePluginApi::class)
@Deprecated(message = KOTLIN_OPTIONS_DEPRECATION_MESSAGE)
fun kotlinOptions(fn: T.() -> Unit) {
@Suppress("DEPRECATION")
kotlinOptions.fn()
}
@@ -53,16 +53,9 @@ interface KotlinCompile<out T : KotlinCommonOptions> : Task {
@OptIn(InternalKotlinGradlePluginApi::class)
@Deprecated(message = KOTLIN_OPTIONS_DEPRECATION_MESSAGE)
fun kotlinOptions(fn: Action<in T>) {
@Suppress("DEPRECATION")
fn.execute(kotlinOptions)
}
/**
* @suppress
*/
@Deprecated("Should be autogenerated by Gradle")
fun kotlinOptions(fn: Closure<*>) {
project.configure(kotlinOptions, fn)
}
}
/**
@@ -6,7 +6,7 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.tasks
import groovy.lang.Closure
import org.gradle.api.Action
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.artifacts.*
@@ -187,22 +187,11 @@ abstract class AbstractKotlinNativeCompile<
@Deprecated(
message = "AbstractKotlinNativeCompile will not provide access to kotlinOptions." +
" Implementations should provide access to compilerOptions",
level = DeprecationLevel.ERROR
)
@get:Internal
abstract val kotlinOptions: T
@Deprecated(
message = "AbstractKotlinNativeCompile will not provide access to kotlinOptions()." +
" Implementations should provide access to compilerOptions()",
)
abstract fun kotlinOptions(fn: T.() -> Unit)
@Deprecated(
message = "AbstractKotlinNativeCompile will not provide access to kotlinOptions()." +
" Implementations should provide access to compilerOptions()",
)
abstract fun kotlinOptions(fn: Closure<*>)
@Deprecated("Use implementations compilerOptions to get/set freeCompilerArgs")
@get:Input
abstract val additionalCompilerOptions: Provider<Collection<String>>
@@ -391,25 +380,12 @@ internal constructor(
// region Kotlin options
@Deprecated(KOTLIN_OPTIONS_DEPRECATION_MESSAGE)
override val kotlinOptions: KotlinCommonOptions = object : KotlinCommonOptions {
override val options: KotlinCommonCompilerOptions
get() = compilerOptions
}
override fun kotlinOptions(fn: KotlinCommonOptions.() -> Unit) {
kotlinOptions.fn()
}
@Deprecated(
message = "Replaced with kotlinOptions()",
replaceWith = ReplaceWith("kotlinOptions(fn)")
)
override fun kotlinOptions(fn: Closure<*>) {
@Suppress("DEPRECATION")
fn.delegate = kotlinOptions
fn.call()
}
@Suppress("UNCHECKED_CAST")
@Deprecated(
message = "Replaced with compilerOptions.freeCompilerArgs",
@@ -46,7 +46,7 @@ import javax.inject.Inject
@CacheableTask
abstract class Kotlin2JsCompile @Inject constructor(
override val compilerOptions: KotlinJsCompilerOptions,
final override val compilerOptions: KotlinJsCompilerOptions,
objectFactory: ObjectFactory,
workerExecutor: WorkerExecutor,
) : AbstractKotlinCompile<K2JSCompilerArguments>(objectFactory, workerExecutor),
@@ -61,6 +61,7 @@ abstract class Kotlin2JsCompile @Inject constructor(
compilerOptions.verbose.convention(logger.isDebugEnabled)
}
@Deprecated(KOTLIN_OPTIONS_DEPRECATION_MESSAGE)
override val kotlinOptions: KotlinJsOptions = KotlinJsOptionsCompat(
{ this },
compilerOptions
@@ -61,6 +61,7 @@ abstract class KotlinCompile @Inject constructor(
K2MultiplatformCompilationTask,
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION") KotlinJvmCompileDsl {
@Deprecated(KOTLIN_OPTIONS_DEPRECATION_MESSAGE)
final override val kotlinOptions: KotlinJvmOptions = KotlinJvmOptionsCompat(
{ this },
compilerOptions
@@ -40,7 +40,7 @@ import javax.inject.Inject
@CacheableTask
abstract class KotlinCompileCommon @Inject constructor(
override val compilerOptions: KotlinMultiplatformCommonCompilerOptions,
final override val compilerOptions: KotlinMultiplatformCommonCompilerOptions,
workerExecutor: WorkerExecutor,
objectFactory: ObjectFactory
) : AbstractKotlinCompile<K2MetadataCompilerArguments>(objectFactory, workerExecutor),
@@ -51,6 +51,7 @@ abstract class KotlinCompileCommon @Inject constructor(
compilerOptions.verbose.convention(logger.isDebugEnabled)
}
@Deprecated(KOTLIN_OPTIONS_DEPRECATION_MESSAGE)
override val kotlinOptions: KotlinMultiplatformCommonOptions = KotlinMultiplatformCommonOptionsCompat(
{ this },
compilerOptions
@@ -1,5 +1,4 @@
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
@@ -171,6 +170,7 @@ fun Project.configureKotlinCompilationOptions() {
if (project.path != ":native:kotlin-test-native-xctest") {
doFirst {
if (!useAbsolutePathsInKlib) {
@Suppress("DEPRECATION")
(this as KotlinCompile<*>).kotlinOptions.freeCompilerArgs +=
"-Xklib-relative-path-base=${layout.buildDirectory.get().asFile},${layout.projectDirectory.asFile},$rootDir"
}