From f8c2bff8258c300754a12ecb806280cbc4348de0 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Thu, 3 Feb 2022 22:57:41 -0800 Subject: [PATCH 1/2] Use Kotlin 1.6 for API and language version Closes gh-29654 --- .../org/springframework/boot/build/KotlinConventions.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java b/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java index 7611d71e1aa..0dbadae80ff 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java @@ -46,8 +46,8 @@ class KotlinConventions { project.getPlugins().withId("org.jetbrains.kotlin.jvm", (plugin) -> { project.getTasks().withType(KotlinCompile.class, (compile) -> { KotlinJvmOptions kotlinOptions = compile.getKotlinOptions(); - kotlinOptions.setApiVersion("1.3"); - kotlinOptions.setLanguageVersion("1.3"); + kotlinOptions.setApiVersion("1.6"); + kotlinOptions.setLanguageVersion("1.6"); kotlinOptions.setAllWarningsAsErrors(true); List freeCompilerArgs = new ArrayList<>(compile.getKotlinOptions().getFreeCompilerArgs()); freeCompilerArgs.add("-Xsuppress-version-warnings"); From d33d92dfce0d0e583e593ac136142be1f2987022 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Fri, 4 Feb 2022 15:59:30 -0800 Subject: [PATCH 2/2] Polish KotlinConventions --- .../boot/build/KotlinConventions.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java b/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java index 0dbadae80ff..43fce7c5cc4 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/KotlinConventions.java @@ -43,17 +43,19 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile; class KotlinConventions { void apply(Project project) { - project.getPlugins().withId("org.jetbrains.kotlin.jvm", (plugin) -> { - project.getTasks().withType(KotlinCompile.class, (compile) -> { - KotlinJvmOptions kotlinOptions = compile.getKotlinOptions(); - kotlinOptions.setApiVersion("1.6"); - kotlinOptions.setLanguageVersion("1.6"); - kotlinOptions.setAllWarningsAsErrors(true); - List freeCompilerArgs = new ArrayList<>(compile.getKotlinOptions().getFreeCompilerArgs()); - freeCompilerArgs.add("-Xsuppress-version-warnings"); - compile.getKotlinOptions().setFreeCompilerArgs(freeCompilerArgs); - }); - }); + project.getPlugins().withId("org.jetbrains.kotlin.jvm", + (plugin) -> project.getTasks().withType(KotlinCompile.class, this::configure)); + } + + private void configure(KotlinCompile compile) { + KotlinJvmOptions kotlinOptions = compile.getKotlinOptions(); + kotlinOptions.setApiVersion("1.6"); + kotlinOptions.setLanguageVersion("1.6"); + kotlinOptions.setJvmTarget("1.8"); + kotlinOptions.setAllWarningsAsErrors(true); + List freeCompilerArgs = new ArrayList<>(compile.getKotlinOptions().getFreeCompilerArgs()); + freeCompilerArgs.add("-Xsuppress-version-warnings"); + compile.getKotlinOptions().setFreeCompilerArgs(freeCompilerArgs); } }