From 2e8d2800f5e85045ff88af6b6270fc5c5ee59db5 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Tue, 18 Jul 2023 22:21:09 +0200 Subject: [PATCH] [Gradle] Document KotlinCompilationTask Remove KotlinCompilationTask from KotlinCompile class as it anyway comes via KotlinJvmCompile interface. ^KT-58858 In Progress --- .../gradle/tasks/KotlinCompilationTask.kt | 19 +++++++++++++++++++ .../kotlin/gradle/tasks/KotlinCompile.kt | 3 +-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompilationTask.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompilationTask.kt index dd7a74a99f7..20f83a2b704 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompilationTask.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompilationTask.kt @@ -10,14 +10,33 @@ import org.gradle.api.Task import org.gradle.api.tasks.Nested import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions +/** + * Represents a Kotlin task compiling using configurable [compilerOptions]. + * + * See [KotlinCommonCompilerOptions] and its inheritors for possible compiler options. + * + * @see [KotlinCommonCompilerOptions] + */ interface KotlinCompilationTask : Task { + + /** + * Represents the compiler options used by a Kotlin compilation process. + * + * This can be used to get the values of currently configured options or modify them. + */ @get:Nested val compilerOptions: CO + /** + * Configures the [compilerOptions] with the provided configuration. + */ fun compilerOptions(configure: CO.() -> Unit) { configure(compilerOptions) } + /** + * Configures the [compilerOptions] with the provided configuration. + */ fun compilerOptions(configure: Action) { configure.execute(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 f1b869dc4e4..8f38ebaf3b3 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,8 +61,7 @@ abstract class KotlinCompile @Inject constructor( objectFactory: ObjectFactory ) : AbstractKotlinCompile(objectFactory, workerExecutor), K2MultiplatformCompilationTask, - @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") KotlinJvmCompileDsl, - KotlinCompilationTask { + @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") KotlinJvmCompileDsl { final override val kotlinOptions: KotlinJvmOptions = KotlinJvmOptionsCompat( { this },