IntelliJ Kotlin Gradle: Как я могу исправить эту ошибку «Языковая версия 1.5 является экспериментальной»?

#kotlin #gradle #intellij-idea #jetbrains-ide #gradle-kotlin-dsl

Вопрос:

У меня есть проект, в котором используется Kotlin 1.5 с Gradle 7 и IntelliJ 2021.1.1. Проект изначально был основан на Kotlin 1.4 и недавно был обновлен до 1.5.

Когда я создаю проект, я вижу следующее предупреждение, которое, по-видимому, связано с задачей compileTestKotlin Gradle. Для нетестовых компиляций предупреждений нет. Я просмотрел настройки IntelliJ, файлы конфигурации Gradle, но безрезультатно. Я был бы признателен за любую помощь в устранении этого предупреждения… Спасибо вам за любую помощь!

Задача :услуги:трек:compileTestKotlin w: Языковая версия 1.5 является экспериментальной, нет гарантий обратной совместимости для новых функций языка и библиотеки

Вот мои настройки компилятора в Gradle:

 tasks {
    withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
        kotlinOptions {
            //allWarningsAsErrors = true // best practice
            apiVersion = "1.5"
            freeCompilerArgs  = listOf("-Xjsr305=strict")
            jvmTarget = "11"
            languageVersion = "1.5"
        }
    }

    withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>> {
        kotlinOptions {
            //allWarningsAsErrors = true // best practice
            apiVersion = "1.5"
            languageVersion = "1.5"
        }
    }
}
 

Конфигурация IntelliJ Kotlin
Конфигурация IntelliJ Kotlin

Проблема была исправлена. Папка buildSrc содержала файл build.gradle.kts с зависимостями от Kotlin 1.4. Я изменил их на 1.5, и проект строится правильно. Изменения в версии Kotlin

Комментарии:

1. Вы обновили свой плагин gradle kotlin? plugins { kotlin("jvm") version "1.5.0" } ?

2. Это действительно выглядит так, как будто вы компилируете проект с помощью компилятора Kotlin 1.4 и экспериментальной для него языковой версии 1.5. Попробуйте переключить компилятор на 1.5.

3. Спасибо вам за ваши ответы. Я добавил два изображения конфигурации Kotlin в IntelliJ. Настройки выглядят разумно, я думаю..

4. Я проработал конфигурацию сборки Gradle и обнаружил проблему, о которой вы оба упомянули… Файл build.gradle.kts в моей папке buildSrc использовал зависимость 1.4.31! Аргггг! Я исправил это, и проблема была решена. Спасибо вам за толчок в правильном направлении, джентльмены! Я опубликовал это изменение выше.