From fbba2df7bffc4ec2918d586d5e75e41eacbc90e2 Mon Sep 17 00:00:00 2001 From: Scott Frederick Date: Fri, 16 Jun 2023 16:10:24 -0500 Subject: [PATCH] Enable Gradle plugin tests on Java 20 Closes gh-35931 --- .../spring-boot-gradle-plugin/build.gradle | 2 +- .../boot/testsupport/gradle/testkit/GradleVersions.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle index 72fb53e212c..3905a15abbf 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/build.gradle @@ -136,5 +136,5 @@ artifacts { } toolchain { - maximumCompatibleJavaVersion = JavaLanguageVersion.of(18) + maximumCompatibleJavaVersion = JavaLanguageVersion.of(20) } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java index 71c82b59c5f..f55c4d66b9f 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java @@ -19,6 +19,7 @@ package org.springframework.boot.testsupport.gradle.testkit; import java.util.Arrays; import java.util.List; +import org.gradle.api.JavaVersion; import org.gradle.util.GradleVersion; /** @@ -31,7 +32,11 @@ public final class GradleVersions { private GradleVersions() { } + @SuppressWarnings("UnstableApiUsage") public static List allCompatible() { + if (isJavaVersion(JavaVersion.VERSION_20)) { + return Arrays.asList("8.1.1", "8.2-rc-1"); + } return Arrays.asList("7.5.1", GradleVersion.current().getVersion(), "8.0.2", "8.1.1", "8.2-rc-1"); } @@ -39,4 +44,8 @@ public final class GradleVersions { return allCompatible().get(0); } + private static boolean isJavaVersion(JavaVersion version) { + return JavaVersion.current().isCompatibleWith(version); + } + }