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 },