diff --git a/start-site/src/main/java/io/spring/start/site/project/JavaVersionProjectDescriptionCustomizer.java b/start-site/src/main/java/io/spring/start/site/project/JavaVersionProjectDescriptionCustomizer.java index d46d939f855..b238e518225 100644 --- a/start-site/src/main/java/io/spring/start/site/project/JavaVersionProjectDescriptionCustomizer.java +++ b/start-site/src/main/java/io/spring/start/site/project/JavaVersionProjectDescriptionCustomizer.java @@ -24,8 +24,6 @@ import io.spring.initializr.generator.project.MutableProjectDescription; import io.spring.initializr.generator.project.ProjectDescriptionCustomizer; import io.spring.initializr.generator.version.Version; -import io.spring.initializr.generator.version.VersionParser; -import io.spring.initializr.generator.version.VersionRange; /** * Validate that the requested java version is compatible with the chosen Spring Boot @@ -37,8 +35,6 @@ */ public class JavaVersionProjectDescriptionCustomizer implements ProjectDescriptionCustomizer { - private static final VersionRange SPRING_BOOT_3_2_4_OR_LATER = VersionParser.DEFAULT.parseRange("3.2.4"); - private static final List UNSUPPORTED_VERSIONS = Arrays.asList("1.6", "1.7", "1.8"); @Override @@ -56,13 +52,9 @@ public void customize(MutableProjectDescription description) { if (javaGeneration < 17) { updateTo(description, "17"); } - if (javaGeneration == 22) { - // Java 21 support as of Spring Boot 3.2.4 - if (!SPRING_BOOT_3_2_4_OR_LATER.match(platformVersion)) { - updateTo(description, "21"); - } + if (javaGeneration >= 22) { if (isKotlin(description)) { - // Kotlin 1.9.x doesn't support Java 22 + // Kotlin 1.9.x doesn't support Java > 21 updateTo(description, "21"); } } @@ -80,7 +72,7 @@ private void updateTo(MutableProjectDescription description, String jvmVersion) private Integer determineJavaGeneration(String javaVersion) { try { int generation = Integer.parseInt(javaVersion); - return ((generation > 9 && generation <= 22) ? generation : null); + return ((generation > 9 && generation <= 23) ? generation : null); } catch (NumberFormatException ex) { return null; diff --git a/start-site/src/main/resources/application.yml b/start-site/src/main/resources/application.yml index 428829e8b97..8cef013e03e 100644 --- a/start-site/src/main/resources/application.yml +++ b/start-site/src/main/resources/application.yml @@ -1727,7 +1727,7 @@ initializr: id: war default: false javaVersions: - - id: 22 + - id: 23 default: false - id: 21 default: false diff --git a/start-site/src/test/java/io/spring/start/site/project/JavaVersionProjectDescriptionCustomizerTests.java b/start-site/src/test/java/io/spring/start/site/project/JavaVersionProjectDescriptionCustomizerTests.java index 6d83d76ab4e..ec8a153f851 100755 --- a/start-site/src/test/java/io/spring/start/site/project/JavaVersionProjectDescriptionCustomizerTests.java +++ b/start-site/src/test/java/io/spring/start/site/project/JavaVersionProjectDescriptionCustomizerTests.java @@ -62,13 +62,13 @@ void gradleGroovyBuildWithSupportedOptionsDoesNotDowngradeJavaVersion(String lan } @Test - void java22IsNotSupportedWithBoot323() { - assertThat(mavenPom(javaProject("22", "3.2.3"))).hasProperty("java.version", "21"); + void java22IsNotSupportedWithKotlin() { + assertThat(mavenPom(kotlinProject("22", "3.2.9"))).hasProperty("java.version", "21"); } @Test - void java22IsNotSupportedWithKotlin() { - assertThat(mavenPom(kotlinProject("22", "3.2.5"))).hasProperty("java.version", "21"); + void java23IsNotSupportedWithKotlin() { + assertThat(mavenPom(kotlinProject("23", "3.2.9"))).hasProperty("java.version", "21"); } static Stream supportedMavenParameters() { @@ -81,8 +81,8 @@ static Stream supportedGradleGroovyParameters() { } private static Stream supportedJavaParameters() { - return Stream.of(java("17", "3.2.0"), java("21", "3.2.0"), java("22", "3.2.4"), java("17", "3.3.0"), - java("21", "3.3.0"), java("22", "3.3.0")); + return Stream.of(java("17", "3.2.0"), java("21", "3.2.0"), java("23", "3.2.9"), java("17", "3.3.0"), + java("21", "3.3.0"), java("23", "3.3.0")); } private static Stream supportedKotlinParameters() { @@ -90,8 +90,7 @@ private static Stream supportedKotlinParameters() { } private static Stream supportedGroovyParameters() { - return Stream.of(groovy("21", "3.2.0"), groovy("22", "3.2.4"), groovy("21", "3.3.0-M2"), - groovy("22", "3.3.0-M3")); + return Stream.of(groovy("21", "3.2.0"), groovy("23", "3.2.9"), groovy("21", "3.3.0-M2"), groovy("23", "3.3.0")); } private static Arguments java(String javaVersion, String springBootVersion) {