[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 package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinCompilationImplFactory 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 import org.jetbrains.kotlin.gradle.tasks.K2MultiplatformStructure
internal object KotlinCompilationK2MultiplatformConfigurator : KotlinCompilationImplFactory.PreConfigure { internal object KotlinCompilationK2MultiplatformConfigurator : KotlinCompilationImplFactory.PreConfigure {
override fun configure(compilation: KotlinCompilationImpl) { override fun configure(compilation: KotlinCompilationImpl) {
compilation.project.tasks.matching { it.name == compilation.compileKotlinTaskName }.configureEach { compileTask -> 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 { compileTask.multiplatformStructure.dependsOnEdges.set(compilation.project.provider {
compilation.allKotlinSourceSets.flatMap { sourceSet -> compilation.allKotlinSourceSets.flatMap { sourceSet ->
@@ -23,7 +23,6 @@ import org.gradle.process.ExecOperations
import org.gradle.work.NormalizeLineEndings import org.gradle.work.NormalizeLineEndings
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments 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.*
import org.jetbrains.kotlin.compilerRunner.KotlinNativeCInteropRunner.Companion.run import org.jetbrains.kotlin.compilerRunner.KotlinNativeCInteropRunner.Companion.run
import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.dsl.*
@@ -313,7 +312,7 @@ internal constructor(
private val execOperations: ExecOperations private val execOperations: ExecOperations
) : AbstractKotlinNativeCompile<KotlinCommonOptions, StubK2NativeCompilerArguments>(objectFactory), ) : AbstractKotlinNativeCompile<KotlinCommonOptions, StubK2NativeCompilerArguments>(objectFactory),
KotlinCompile<KotlinCommonOptions>, KotlinCompile<KotlinCommonOptions>,
K2Compile, K2CompileTask,
KotlinCompilationTask<KotlinNativeCompilerOptions> { KotlinCompilationTask<KotlinNativeCompilerOptions> {
@get:Input @get:Input
@@ -6,9 +6,8 @@
package org.jetbrains.kotlin.gradle.tasks package org.jetbrains.kotlin.gradle.tasks
import org.gradle.api.Task import org.gradle.api.Task
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.Nested 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 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 * This does not extend [KotlinCompile], since [KotlinCompile] carries an unwanted/conflicting
* type parameter `<out T : KotlinCommonOptions>` * type parameter `<out T : KotlinCommonOptions>`
*/ */
internal interface K2Compile : Task { internal interface K2CompileTask : Task {
@get:Internal @get:Nested
val kotlinOptions: KotlinCommonOptions val compilerOptions: KotlinCommonCompilerOptions
@get:Nested @get:Nested
val multiplatformStructure: K2MultiplatformStructure val multiplatformStructure: K2MultiplatformStructure
@@ -526,7 +526,7 @@ abstract class KotlinCompile @Inject constructor(
workerExecutor: WorkerExecutor, workerExecutor: WorkerExecutor,
objectFactory: ObjectFactory objectFactory: ObjectFactory
) : AbstractKotlinCompile<K2JVMCompilerArguments>(objectFactory, workerExecutor), ) : AbstractKotlinCompile<K2JVMCompilerArguments>(objectFactory, workerExecutor),
K2Compile, K2CompileTask,
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION") KotlinJvmCompileDsl, @Suppress("TYPEALIAS_EXPANSION_DEPRECATION") KotlinJvmCompileDsl,
KotlinCompilationTask<KotlinJvmCompilerOptions>, KotlinCompilationTask<KotlinJvmCompilerOptions>,
UsesKotlinJavaToolchain { UsesKotlinJavaToolchain {
@@ -923,7 +923,7 @@ abstract class Kotlin2JsCompile @Inject constructor(
KotlinCompilationTask<KotlinJsCompilerOptions>, KotlinCompilationTask<KotlinJsCompilerOptions>,
UsesLibraryFilterCachingService, UsesLibraryFilterCachingService,
KotlinJsCompile, KotlinJsCompile,
K2Compile { K2CompileTask {
init { init {
incremental = true 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.internal.CompilerArgumentAware
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType.IR 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
import org.jetbrains.kotlin.gradle.tasks.K2MultiplatformStructure.DependsOnEdge import org.jetbrains.kotlin.gradle.tasks.K2MultiplatformStructure.DependsOnEdge
import org.jetbrains.kotlin.gradle.tasks.K2MultiplatformStructure.Fragment import org.jetbrains.kotlin.gradle.tasks.K2MultiplatformStructure.Fragment
@@ -111,7 +111,7 @@ class K2MultiplatformStructureTest {
compilation.compilerOptions.options.languageVersion.set(KotlinVersion.KOTLIN_2_0) 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 */ /* check dependsOnEdges */
assertEquals( 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 */ /* KotlinNative implements CompilerArgumentAware, but does not adhere to its contract */
if (this is KotlinNativeCompile) { if (this is KotlinNativeCompile) {