diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 25a575b590a..c9f849770b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,9 @@ jobs: toolchain: true - version: 24 toolchain: false + - version: 25 + early-access: true + toolchain: true exclude: - os: name: Linux diff --git a/build-plugin/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleMultiDslExtension.java b/build-plugin/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleMultiDslExtension.java index 6cc25c1b218..3904db7277e 100644 --- a/build-plugin/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleMultiDslExtension.java +++ b/build-plugin/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleMultiDslExtension.java @@ -31,6 +31,7 @@ import org.springframework.boot.testsupport.BuildOutput; import org.springframework.boot.testsupport.gradle.testkit.Dsl; import org.springframework.boot.testsupport.gradle.testkit.GradleBuild; import org.springframework.boot.testsupport.gradle.testkit.GradleBuildExtension; +import org.springframework.boot.testsupport.gradle.testkit.GradleVersions; /** * {@link Extension} that runs {@link TestTemplate templated tests} against the Groovy and @@ -65,7 +66,11 @@ public class GradleMultiDslExtension implements TestTemplateInvocationContextPro @Override public List getAdditionalExtensions() { - GradleBuild gradleBuild = new PluginClasspathGradleBuild(this.buildOutput, this.dsl); + PluginClasspathGradleBuild gradleBuild = new PluginClasspathGradleBuild(this.buildOutput, this.dsl); + if (this.dsl == Dsl.KOTLIN) { + gradleBuild.kotlin(); + } + gradleBuild.gradleVersion(GradleVersions.minimumCompatible()); return Arrays.asList(new GradleBuildFieldSetter(gradleBuild), new GradleBuildExtension()); } diff --git a/module/spring-boot-web-server/src/test/java/org/springframework/boot/web/server/servlet/StaticResourceJarsTests.java b/module/spring-boot-web-server/src/test/java/org/springframework/boot/web/server/servlet/StaticResourceJarsTests.java index daef3ac2f56..c1eaac8f298 100644 --- a/module/spring-boot-web-server/src/test/java/org/springframework/boot/web/server/servlet/StaticResourceJarsTests.java +++ b/module/spring-boot-web-server/src/test/java/org/springframework/boot/web/server/servlet/StaticResourceJarsTests.java @@ -29,6 +29,8 @@ import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledForJreRange; +import org.junit.jupiter.api.condition.JRE; import org.junit.jupiter.api.io.TempDir; import static org.assertj.core.api.Assertions.assertThat; @@ -75,6 +77,7 @@ class StaticResourceJarsTests { } @Test + @DisabledForJreRange(min = JRE.JAVA_25) // Requires -Djdk.net.file.ftpfallback=true void uncPathsAreTolerated() throws Exception { File jarFile = createResourcesJar("test-resources.jar"); List staticResourceJarUrls = new StaticResourceJars().getUrlsFrom(jarFile.toURI().toURL(), diff --git a/test-support/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java b/test-support/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java index e45cab2423b..03b1c18c977 100644 --- a/test-support/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java +++ b/test-support/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java @@ -33,6 +33,9 @@ public final class GradleVersions { } public static List allCompatible() { + if (isJavaVersion(JavaVersion.VERSION_25)) { + return Arrays.asList("9.0.0", "9.1.0-rc-1"); + } return Arrays.asList(GradleVersion.current().getVersion(), "9.0.0", "9.1.0-rc-1"); }