[Gradle] Rename K2Compile to K2CompileTask and expose KotlinCommonCompilerOptions

^KT-56210 Verification Pending
This commit is contained in:
Sebastian Sellmair
2023-02-24 16:02:09 +01:00
committed by Space Team
parent cda92fa456
commit b51fa78559
5 changed files with 12 additions and 14 deletions
@@ -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 ->
@@ -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<KotlinCommonOptions, StubK2NativeCompilerArguments>(objectFactory),
KotlinCompile<KotlinCommonOptions>,
K2Compile,
K2CompileTask,
KotlinCompilationTask<KotlinNativeCompilerOptions> {
@get:Input
@@ -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 `<out T : KotlinCommonOptions>`
*/
internal interface K2Compile : Task {
@get:Internal
val kotlinOptions: KotlinCommonOptions
internal interface K2CompileTask : Task {
@get:Nested
val compilerOptions: KotlinCommonCompilerOptions
@get:Nested
val multiplatformStructure: K2MultiplatformStructure
@@ -526,7 +526,7 @@ abstract class KotlinCompile @Inject constructor(
workerExecutor: WorkerExecutor,
objectFactory: ObjectFactory
) : AbstractKotlinCompile<K2JVMCompilerArguments>(objectFactory, workerExecutor),
K2Compile,
K2CompileTask,
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION") KotlinJvmCompileDsl,
KotlinCompilationTask<KotlinJvmCompilerOptions>,
UsesKotlinJavaToolchain {
@@ -923,7 +923,7 @@ abstract class Kotlin2JsCompile @Inject constructor(
KotlinCompilationTask<KotlinJsCompilerOptions>,
UsesLibraryFilterCachingService,
KotlinJsCompile,
K2Compile {
K2CompileTask {
init {
incremental = true
@@ -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) {