From b51fa78559d1dd0b8a425b4af5ecf5c83806ad08 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Fri, 24 Feb 2023 16:02:09 +0100 Subject: [PATCH] [Gradle] Rename K2Compile to K2CompileTask and expose KotlinCommonCompilerOptions ^KT-56210 Verification Pending --- .../KotlinCompilationK2MultiplatformConfigurator.kt | 4 ++-- .../gradle/targets/native/tasks/KotlinNativeTasks.kt | 3 +-- .../gradle/tasks/{K2Compile.kt => K2CompileTask.kt} | 9 ++++----- .../kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt | 4 ++-- .../gradle/unitTests/K2MultiplatformStructureTest.kt | 6 +++--- 5 files changed, 12 insertions(+), 14 deletions(-) rename libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/{K2Compile.kt => K2CompileTask.kt} (76%) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationK2MultiplatformConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationK2MultiplatformConfigurator.kt index 3aa126f1c79..13db385dc71 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationK2MultiplatformConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationK2MultiplatformConfigurator.kt @@ -6,13 +6,13 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory -import org.jetbrains.kotlin.gradle.tasks.K2Compile +import org.jetbrains.kotlin.gradle.tasks.K2CompileTask import org.jetbrains.kotlin.gradle.tasks.K2MultiplatformStructure internal object KotlinCompilationK2MultiplatformConfigurator : KotlinCompilationImplFactory.PreConfigure { override fun configure(compilation: KotlinCompilationImpl) { compilation.project.tasks.matching { it.name == compilation.compileKotlinTaskName }.configureEach { compileTask -> - if (compileTask !is K2Compile) return@configureEach + if (compileTask !is K2CompileTask) return@configureEach compileTask.multiplatformStructure.dependsOnEdges.set(compilation.project.provider { compilation.allKotlinSourceSets.flatMap { sourceSet -> 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 c1b2be732ef..359bccab7aa 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 @@ -23,7 +23,6 @@ import org.gradle.process.ExecOperations import org.gradle.work.NormalizeLineEndings import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments -import org.jetbrains.kotlin.cli.common.arguments.K2NativeCompilerArguments import org.jetbrains.kotlin.compilerRunner.* import org.jetbrains.kotlin.compilerRunner.KotlinNativeCInteropRunner.Companion.run import org.jetbrains.kotlin.gradle.dsl.* @@ -313,7 +312,7 @@ internal constructor( private val execOperations: ExecOperations ) : AbstractKotlinNativeCompile(objectFactory), KotlinCompile, - K2Compile, + K2CompileTask, KotlinCompilationTask { @get:Input diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/K2Compile.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/K2CompileTask.kt similarity index 76% rename from libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/K2Compile.kt rename to libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/K2CompileTask.kt index 5bd5e19977d..542911bb762 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/K2Compile.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/K2CompileTask.kt @@ -6,9 +6,8 @@ package org.jetbrains.kotlin.gradle.tasks import org.gradle.api.Task -import org.gradle.api.tasks.Internal import org.gradle.api.tasks.Nested -import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions +import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCompile /** @@ -16,9 +15,9 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinCompile * This does not extend [KotlinCompile], since [KotlinCompile] carries an unwanted/conflicting * type parameter `` */ -internal interface K2Compile : Task { - @get:Internal - val kotlinOptions: KotlinCommonOptions +internal interface K2CompileTask : Task { + @get:Nested + val compilerOptions: KotlinCommonCompilerOptions @get:Nested val multiplatformStructure: K2MultiplatformStructure diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 40eceb356f8..fdbb6d7cf85 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -526,7 +526,7 @@ abstract class KotlinCompile @Inject constructor( workerExecutor: WorkerExecutor, objectFactory: ObjectFactory ) : AbstractKotlinCompile(objectFactory, workerExecutor), - K2Compile, + K2CompileTask, @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") KotlinJvmCompileDsl, KotlinCompilationTask, UsesKotlinJavaToolchain { @@ -923,7 +923,7 @@ abstract class Kotlin2JsCompile @Inject constructor( KotlinCompilationTask, UsesLibraryFilterCachingService, KotlinJsCompile, - K2Compile { + K2CompileTask { init { incremental = true diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/K2MultiplatformStructureTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/K2MultiplatformStructureTest.kt index 8cbd5a5f076..1dfcdc75d9f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/K2MultiplatformStructureTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/K2MultiplatformStructureTest.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension import org.jetbrains.kotlin.gradle.internal.CompilerArgumentAware import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType.IR -import org.jetbrains.kotlin.gradle.tasks.K2Compile +import org.jetbrains.kotlin.gradle.tasks.K2CompileTask import org.jetbrains.kotlin.gradle.tasks.K2MultiplatformStructure import org.jetbrains.kotlin.gradle.tasks.K2MultiplatformStructure.DependsOnEdge import org.jetbrains.kotlin.gradle.tasks.K2MultiplatformStructure.Fragment @@ -111,7 +111,7 @@ class K2MultiplatformStructureTest { compilation.compilerOptions.options.languageVersion.set(KotlinVersion.KOTLIN_2_0) } - val compileTask = compilation.compileTaskProvider.get() as K2Compile + val compileTask = compilation.compileTaskProvider.get() as K2CompileTask /* check dependsOnEdges */ assertEquals( @@ -155,7 +155,7 @@ class K2MultiplatformStructureTest { } } -private fun K2Compile.buildCompilerArguments(): CommonCompilerArguments { +private fun K2CompileTask.buildCompilerArguments(): CommonCompilerArguments { /* KotlinNative implements CompilerArgumentAware, but does not adhere to its contract */ if (this is KotlinNativeCompile) {