Upgrade to Kotlin 2.1

This commit also follows Framework 7.0 with a Kotlin 2.x baseline for
all applications.

Closes gh-1203
This commit is contained in:
Brian Clozel
2025-05-21 09:29:37 +02:00
parent bc8b0277c6
commit 121add8ef7
4 changed files with 17 additions and 16 deletions

View File

@@ -22,7 +22,6 @@ dependencies {
checkstyle("io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:${kotlinVersion}")
implementation("io.spring.javaformat:spring-javaformat-gradle-plugin:${javaFormatVersion}")
implementation "com.tngtech.archunit:archunit:1.4.0"
}

View File

@@ -16,11 +16,9 @@
package org.springframework.graphql.build.conventions;
import java.util.ArrayList;
import java.util.List;
import org.gradle.api.Project;
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions;
import org.jetbrains.kotlin.gradle.dsl.JvmTarget;
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion;
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile;
/**
@@ -35,15 +33,19 @@ public class KotlinConventions {
}
private void configure(KotlinCompile compile) {
KotlinJvmOptions kotlinOptions = compile.getKotlinOptions();
kotlinOptions.setApiVersion("1.7");
kotlinOptions.setLanguageVersion("1.7");
kotlinOptions.setJvmTarget("17");
kotlinOptions.setJavaParameters(true);
kotlinOptions.setAllWarningsAsErrors(true);
List<String> freeCompilerArgs = new ArrayList<>(compile.getKotlinOptions().getFreeCompilerArgs());
freeCompilerArgs.addAll(List.of("-Xsuppress-version-warnings", "-Xjsr305=strict", "-opt-in=kotlin.RequiresOptIn"));
compile.getKotlinOptions().setFreeCompilerArgs(freeCompilerArgs);
compile.compilerOptions(options -> {
options.getApiVersion().set(KotlinVersion.KOTLIN_2_1);
options.getLanguageVersion().set(KotlinVersion.KOTLIN_2_1);
options.getJvmTarget().set(JvmTarget.JVM_17);
options.getJavaParameters().set(true);
options.getAllWarningsAsErrors().set(true);
options.getFreeCompilerArgs().addAll(
"-Xsuppress-version-warnings",
"-Xjsr305=strict", // For dependencies using JSR 305
"-opt-in=kotlin.RequiresOptIn",
"-Xjdk-release=17" // Needed due to https://youtrack.jetbrains.com/issue/KT-49746
);
});
}
}

View File

@@ -5,6 +5,6 @@ org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.jvmargs=-Dfile.encoding=UTF-8
kotlinVersion=1.9.25
kotlinVersion=2.1.20
kotlin.stdlib.default.dependency=false

View File

@@ -17,7 +17,7 @@ dependencies {
api(platform("com.querydsl:querydsl-bom:5.1.0"))
api(platform("io.rsocket:rsocket-bom:1.1.5"))
api(platform("org.jetbrains.kotlin:kotlin-bom:${kotlinVersion}"))
api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1"))
api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1"))
api(platform("org.junit:junit-bom:5.12.2"))
api(platform("org.mockito:mockito-bom:5.16.0"))
api(platform("org.testcontainers:testcontainers-bom:1.21.0"))