diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/experimental/TryK2IT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/experimental/TryK2IT.kt index e749e4ec981..3ed97be931a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/experimental/TryK2IT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/experimental/TryK2IT.kt @@ -303,6 +303,43 @@ class TryK2IT : KGPBaseTest() { } } + @DisplayName("Native: check that only expected tasks use languageVersion") + @NativeGradlePluginTests + @GradleTest + fun smokeTestForNativeTasks(gradleVersion: GradleVersion) { + project("native-configuration-cache", gradleVersion) { + enableTryK2() + build("build") { + if (HostManager.hostIsMac) { + assertOutputContains( + """ + |##### 'kotlin.experimental.tryK2' results ##### + |:lib:compileCommonMainKotlinMetadata: 2.0 language version + |:lib:compileKotlinIosArm64: 2.0 language version + |:lib:compileKotlinIosSimulatorArm64: 2.0 language version + |:lib:compileKotlinIosX64: 2.0 language version + |:lib:compileKotlinLinuxX64: 2.0 language version + |:lib:compileTestKotlinIosSimulatorArm64: 2.0 language version + |:lib:compileTestKotlinIosX64: 2.0 language version + |:lib:compileTestKotlinLinuxX64: 2.0 language version + |##### 100% (8/8) tasks have been compiled with Kotlin 2.0 ##### + """.trimMargin().normalizeLineEndings() + ) + } else { + assertOutputContains( + """ + |##### 'kotlin.experimental.tryK2' results ##### + |:lib:compileKotlinLinuxX64: 2.0 language version + |:lib:compileCommonMainKotlinMetadata: 2.0 language version + |:lib:compileTestKotlinLinuxX64: 2.0 language version + |##### 100% (3/3) tasks have been compiled with Kotlin 2.0 ##### + """.trimMargin().normalizeLineEndings() + ) + } + } + } + } + private fun TestProject.enableTryK2() = gradleProperties.appendText( """ | diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/nativeToolRunners.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/nativeToolRunners.kt index 8849f9ec887..ce93a9ea0fe 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/nativeToolRunners.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/nativeToolRunners.kt @@ -73,7 +73,6 @@ private val Project.kotlinNativeCompilerJar: String else "$konanHome/konan/lib/kotlin-native.jar" - internal abstract class KotlinNativeToolRunner( protected val toolName: String, private val settings: Settings, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt index 79f3983c15d..6f1a895fe5c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt @@ -356,7 +356,7 @@ constructor( fun compile() { val metricsReporter = metrics.get() - addBuildMetricsForTaskAction(metricsReporter = metricsReporter, languageVersion = parseLanguageVersion(externalDependenciesArgs)) { + addBuildMetricsForTaskAction(metricsReporter = metricsReporter, languageVersion = null) { validatedExportedLibraries() val output = outputFile.get() 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 563e44a6088..f5e67b8d867 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 @@ -1168,7 +1168,7 @@ abstract class CInteropProcess @Inject internal constructor(params: Params) : addAll(extraOpts) } - addBuildMetricsForTaskAction(buildMetrics, languageVersion = parseLanguageVersion(args)) { + addBuildMetricsForTaskAction(buildMetrics, languageVersion = null) { outputFile.parentFile.mkdirs() KotlinNativeCInteropRunner.createExecutionContext( task = this, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt index 4091c416cb2..17921d72fb9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt @@ -52,7 +52,7 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor( @get:Input val outputKind: CompilerOutputKind, private val objectFactory: ObjectFactory, private val execOperations: ExecOperations, - private val projectLayout: ProjectLayout + private val projectLayout: ProjectLayout, ) : DefaultTask(), UsesBuildMetricsService, KotlinToolTask { @@ -183,7 +183,7 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor( @get:Internal val konanHome: Provider = project.provider { project.konanHome } - private val runnerSettings = KotlinNativeCompilerRunner.Settings.of(konanHome.get(), konanDataDir.getOrNull(),project) + private val runnerSettings = KotlinNativeCompilerRunner.Settings.of(konanHome.get(), konanDataDir.getOrNull(), project) init { baseName.convention(project.name)