diff --git a/buildSrc/src/main/kotlin/gradle-plugin-common-configuration.gradle.kts b/buildSrc/src/main/kotlin/gradle-plugin-common-configuration.gradle.kts index 9bf6303a560..cb0b4b1e25a 100644 --- a/buildSrc/src/main/kotlin/gradle-plugin-common-configuration.gradle.kts +++ b/buildSrc/src/main/kotlin/gradle-plugin-common-configuration.gradle.kts @@ -37,8 +37,8 @@ configurations { } tasks.withType { - kotlinOptions.languageVersion = "1.3" - kotlinOptions.apiVersion = "1.3" + kotlinOptions.languageVersion = "1.4" + kotlinOptions.apiVersion = "1.4" kotlinOptions.freeCompilerArgs += listOf( "-Xskip-prerelease-check", "-Xskip-runtime-version-check", diff --git a/compiler/cli/build.gradle.kts b/compiler/cli/build.gradle.kts index 0cba666648f..4f25e041b38 100644 --- a/compiler/cli/build.gradle.kts +++ b/compiler/cli/build.gradle.kts @@ -57,8 +57,8 @@ sourceSets { tasks.withType> { kotlinOptions { - languageVersion = "1.3" - apiVersion = "1.3" + languageVersion = "1.4" + apiVersion = "1.4" freeCompilerArgs = freeCompilerArgs - "-progressive" + listOf( "-Xskip-prerelease-check", "-Xsuppress-version-warnings", "-Xuse-mixed-named-arguments", "-Xnew-inference" ) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/JvmRuntimeVersionsConsistencyChecker.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/JvmRuntimeVersionsConsistencyChecker.kt index a9ac39f00db..01977a80dd7 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/JvmRuntimeVersionsConsistencyChecker.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/JvmRuntimeVersionsConsistencyChecker.kt @@ -233,8 +233,8 @@ object JvmRuntimeVersionsConsistencyChecker { jars: List ): MavenComparableVersion? { assert(jars.isNotEmpty()) { "'jars' must not be empty" } - val oldestVersion = jars.minBy { it.version }!!.version - val newestVersion = jars.maxBy { it.version }!!.version + val oldestVersion = jars.minOf { it.version } + val newestVersion = jars.maxOf { it.version } // If the oldest version is the same as the newest version, then all jars have the same version if (oldestVersion == newestVersion) return oldestVersion @@ -250,9 +250,9 @@ object JvmRuntimeVersionsConsistencyChecker { // we suggest to provide an explicit dependency on version X. // TODO: report this depending on the content of the jars instead val minReflectJar = - jars.filter { it.file.name.startsWith("kotlin-reflect") }.minBy { it.version } + jars.filter { it.file.name.startsWith("kotlin-reflect") }.minByOrNull { it.version } val maxStdlibJar = - jars.filter { it.file.name.startsWith("kotlin-runtime") || it.file.name.startsWith("kotlin-stdlib") }.maxBy { it.version } + jars.filter { it.file.name.startsWith("kotlin-runtime") || it.file.name.startsWith("kotlin-stdlib") }.maxByOrNull { it.version } if (minReflectJar != null && maxStdlibJar != null && minReflectJar.version < maxStdlibJar.version) { messageCollector.issue( null, diff --git a/compiler/daemon/daemon-client-new/build.gradle.kts b/compiler/daemon/daemon-client-new/build.gradle.kts index f045c410863..86afc499178 100644 --- a/compiler/daemon/daemon-client-new/build.gradle.kts +++ b/compiler/daemon/daemon-client-new/build.gradle.kts @@ -49,7 +49,7 @@ dependencies { tasks.withType> { kotlinOptions { - apiVersion = "1.3" + apiVersion = "1.4" freeCompilerArgs += "-Xsuppress-version-warnings" } } diff --git a/compiler/daemon/daemon-client/build.gradle.kts b/compiler/daemon/daemon-client/build.gradle.kts index 20923bdfec7..cfe6e32d863 100644 --- a/compiler/daemon/daemon-client/build.gradle.kts +++ b/compiler/daemon/daemon-client/build.gradle.kts @@ -40,8 +40,8 @@ dependencies { tasks.withType> { kotlinOptions { - // This module is being run from within Gradle, older versions of which only have kotlin-stdlib 1.3 in the runtime classpath. - apiVersion = "1.3" + // This module is being run from within Gradle, older versions of which only have older kotlin-stdlib in the runtime classpath. + apiVersion = "1.4" freeCompilerArgs += "-Xsuppress-version-warnings" } } diff --git a/compiler/util-io/build.gradle.kts b/compiler/util-io/build.gradle.kts index 0fc7720737f..e64e7df5cc2 100644 --- a/compiler/util-io/build.gradle.kts +++ b/compiler/util-io/build.gradle.kts @@ -17,8 +17,8 @@ sourceSets { tasks { withType { kotlinOptions { - languageVersion = "1.3" - apiVersion = "1.3" + languageVersion = "1.4" + apiVersion = "1.4" freeCompilerArgs += "-Xsuppress-version-warnings" } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt index 6fa3a41fc86..e96443329cd 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt @@ -67,7 +67,7 @@ class SimpleKotlinGradleIT : KGPBaseTest() { fun testLanguageVersion(gradleVersion: GradleVersion) { project("languageVersion", gradleVersion) { buildAndFail("build") { - assertOutputContains("'break' and 'continue' are not allowed in 'when' statements") + assertOutputContains("The feature \"definitely not null type parameters\" is only available since language version 1.6") } } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/languageVersion/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/languageVersion/build.gradle index 30675f509bb..f61661d82b2 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/languageVersion/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/languageVersion/build.gradle @@ -9,7 +9,7 @@ repositories { compileKotlin { kotlinOptions { - languageVersion = "1.3" - apiVersion = "1.3" + languageVersion = "1.5" + apiVersion = "1.5" } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/languageVersion/src/main/kotlin/helloWorld.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/languageVersion/src/main/kotlin/helloWorld.kt index 8afa658b814..c05159a0aef 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/languageVersion/src/main/kotlin/helloWorld.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/languageVersion/src/main/kotlin/helloWorld.kt @@ -1,7 +1 @@ -fun breakInWhen() { - while (true) { - when { - true -> break - } - } -} +fun f(t: T): T!! = t!! diff --git a/libraries/tools/kotlin-lombok/build.gradle.kts b/libraries/tools/kotlin-lombok/build.gradle.kts index 234c03eeb5d..014fc33b671 100644 --- a/libraries/tools/kotlin-lombok/build.gradle.kts +++ b/libraries/tools/kotlin-lombok/build.gradle.kts @@ -27,8 +27,8 @@ runtimeJar(rewriteDefaultJarDepsToShadedCompiler()) tasks { withType { // kotlinOptions.jdkHome = rootProject.extra["JDK_18"] as String - kotlinOptions.languageVersion = "1.3" - kotlinOptions.apiVersion = "1.3" + kotlinOptions.languageVersion = "1.4" + kotlinOptions.apiVersion = "1.4" kotlinOptions.freeCompilerArgs += listOf( "-Xskip-prerelease-check", "-Xsuppress-version-warnings" ) diff --git a/libraries/tools/kotlin-project-model/build.gradle.kts b/libraries/tools/kotlin-project-model/build.gradle.kts index 2b6a7d5a956..bdb79989aef 100644 --- a/libraries/tools/kotlin-project-model/build.gradle.kts +++ b/libraries/tools/kotlin-project-model/build.gradle.kts @@ -18,8 +18,8 @@ pill { } kotlin.target.compilations.all { - kotlinOptions.languageVersion = "1.3" - kotlinOptions.apiVersion = "1.3" + kotlinOptions.languageVersion = "1.4" + kotlinOptions.apiVersion = "1.4" kotlinOptions.freeCompilerArgs += listOf("-Xskip-prerelease-check") } diff --git a/native/utils/build.gradle.kts b/native/utils/build.gradle.kts index 94f1259ade0..b95a45568ee 100644 --- a/native/utils/build.gradle.kts +++ b/native/utils/build.gradle.kts @@ -22,8 +22,8 @@ sourceSets { tasks { withType { kotlinOptions { - languageVersion = "1.3" - apiVersion = "1.3" + languageVersion = "1.4" + apiVersion = "1.4" freeCompilerArgs += "-Xsuppress-version-warnings" } }