From 4fe60a41495297596f988fa2636d51ba3655498a Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Thu, 4 May 2023 11:16:31 +0200 Subject: [PATCH] [Gradle] Add `test - setting languagesVersion and apiVersion in languageSettings` KT-58427 --- .../Kotlin2JsCompileArgumentsTest.kt | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/compilerArgumetns/Kotlin2JsCompileArgumentsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/compilerArgumetns/Kotlin2JsCompileArgumentsTest.kt index a099445ca36..e998c24f541 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/compilerArgumetns/Kotlin2JsCompileArgumentsTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/compilerArgumetns/Kotlin2JsCompileArgumentsTest.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilerArgumentsProducer.Argume import org.jetbrains.kotlin.gradle.plugin.KotlinCompilerArgumentsProducer.CreateCompilerArgumentsContext.Companion.default import org.jetbrains.kotlin.gradle.plugin.KotlinCompilerArgumentsProducer.CreateCompilerArgumentsContext.Companion.lenient import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType +import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType.IR import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP import org.jetbrains.kotlin.gradle.util.main import kotlin.test.Test @@ -30,7 +31,7 @@ class Kotlin2JsCompileArgumentsTest { project.repositories.mavenLocal() val kotlin = project.multiplatformExtension - val jsTarget = kotlin.js(KotlinJsCompilerType.IR) + val jsTarget = kotlin.js(IR) val jsMainCompilation = jsTarget.compilations.main project.evaluate() @@ -62,4 +63,26 @@ class Kotlin2JsCompileArgumentsTest { assertFails { jsMainCompileTask.createCompilerArguments(default) } } + + @Test + fun `test - setting languagesVersion and apiVersion in languageSettings`() { + val project = buildProjectWithMPP() + val kotlin = project.multiplatformExtension + kotlin.jvm() + kotlin.linuxX64() + val jsTarget = kotlin.js(IR) { nodejs() } + + kotlin.sourceSets.configureEach { sourceSet -> + sourceSet.languageSettings.apiVersion = "1.7" + sourceSet.languageSettings.languageVersion = "1.8" + } + + project.evaluate() + + val arguments = jsTarget.compilations.main.compileTaskProvider.get() + .createCompilerArguments(lenient) + + assertEquals("1.7", arguments.apiVersion) + assertEquals("1.8", arguments.languageVersion) + } } \ No newline at end of file