diff --git a/compiler/tests-against-klib/build.gradle.kts b/compiler/tests-against-klib/build.gradle.kts index 3267f80086c..b3af4c315f6 100644 --- a/compiler/tests-against-klib/build.gradle.kts +++ b/compiler/tests-against-klib/build.gradle.kts @@ -1,4 +1,3 @@ -import org.jetbrains.kotlin.gradle.dsl.KotlinCompile import java.io.File plugins { diff --git a/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts b/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts index c300d4f3466..fd4219facec 100644 --- a/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts +++ b/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.gradle.dsl.KotlinCompile +import org.jetbrains.kotlin.gradle.dsl.* plugins { kotlin("multiplatform") diff --git a/libraries/tools/kotlin-gradle-plugin-api/api/kotlin-gradle-plugin-api.api b/libraries/tools/kotlin-gradle-plugin-api/api/kotlin-gradle-plugin-api.api index ffe886376f8..ea92b4008ac 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/api/kotlin-gradle-plugin-api.api +++ b/libraries/tools/kotlin-gradle-plugin-api/api/kotlin-gradle-plugin-api.api @@ -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 } diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCompile.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCompile.kt index bf1f480d105..12db6f8da8c 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCompile.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCompile.kt @@ -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 : 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 : Task { @OptIn(InternalKotlinGradlePluginApi::class) @Deprecated(message = KOTLIN_OPTIONS_DEPRECATION_MESSAGE) fun kotlinOptions(fn: Action) { + @Suppress("DEPRECATION") fn.execute(kotlinOptions) } - - /** - * @suppress - */ - @Deprecated("Should be autogenerated by Gradle") - fun kotlinOptions(fn: Closure<*>) { - project.configure(kotlinOptions, fn) - } } /** diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index 205eb13bf12..dda1a9a0be4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -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> @@ -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", diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/Kotlin2JsCompile.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/Kotlin2JsCompile.kt index 784c802fafa..2b971942925 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/Kotlin2JsCompile.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/Kotlin2JsCompile.kt @@ -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(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 diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt index 505c80e43c0..76d8b0f75a2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt @@ -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 diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt index 8e57b2af797..6251ffea2ce 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt @@ -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(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 diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/common-configuration.gradle.kts b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/common-configuration.gradle.kts index dc22e6b8d45..33fa24eed9e 100644 --- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/common-configuration.gradle.kts +++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/common-configuration.gradle.kts @@ -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" }