Add support to Java 11

This commit is contained in:
Stephane Nicoll 2018-09-25 14:07:22 -04:00
parent f0faa8b711
commit 674aeaaffb
4 changed files with 59 additions and 2 deletions

View File

@ -39,6 +39,8 @@ class JavaVersionRequestPostProcessor implements ProjectRequestPostProcessor {
private static final Version VERSION_2_0_1 = Version.parse("2.0.1.RELEASE");
private static final Version VERSION_2_1_0_M1 = Version.parse("2.1.0.M1");
private static final List<String> UNSUPPORTED_LANGUAGES = Arrays.asList("groovy",
"kotlin");
@ -62,12 +64,16 @@ class JavaVersionRequestPostProcessor implements ProjectRequestPostProcessor {
if (javaGeneration == 10 && VERSION_2_0_1.compareTo(requestVersion) > 0) {
request.setJavaVersion("1.8");
}
// 11 support only as of 2.1.x
if (javaGeneration == 11 && VERSION_2_1_0_M1.compareTo(requestVersion) > 0) {
request.setJavaVersion("1.8");
}
}
private Integer determineJavaGeneration(String javaVersion) {
try {
int generation = Integer.valueOf(javaVersion);
return ((generation > 8 && generation <= 10) ? generation : null);
return ((generation > 8 && generation <= 11) ? generation : null);
}
catch (NumberFormatException ex) {
return null;

View File

@ -36,7 +36,8 @@ class SpringBoot2RequestPostProcessor extends AbstractProjectRequestPostProcesso
private static final Version VERSION_2_0_0_M1 = Version.parse("2.0.0.M1");
private static final List<String> VALID_VERSIONS = Arrays.asList("1.8", "9", "10");
private static final List<String> VALID_VERSIONS = Arrays.asList("1.8", "9", "10",
"11");
@Override
public void postProcessAfterResolution(ProjectRequest request,

View File

@ -1358,6 +1358,8 @@ initializr:
id: war
default: false
javaVersions:
- id: 11
default: false
- id: 10
default: false
- id: 1.8

View File

@ -143,4 +143,52 @@ public class JavaVersionRequestPostProcessorTests
generateGradleBuild(request).hasJavaVersion("10");
}
@Test
public void java11CannotBeUsedWithSpringBoot1Maven() {
ProjectRequest request = createProjectRequest("web");
request.setBootVersion("1.5.8.RELEASE");
request.setJavaVersion("11");
generateMavenPom(request).hasJavaVersion("1.8");
}
@Test
public void java11CannotBeUsedWithSpringBoot1Gradle() {
ProjectRequest request = createProjectRequest("data-jpa");
request.setBootVersion("1.99.99.BUILD-SNAPSHOT");
request.setJavaVersion("11");
generateGradleBuild(request).hasJavaVersion("1.8");
}
@Test
public void java11CannotBeUsedWithSpringBoot20Maven() {
ProjectRequest request = createProjectRequest("web");
request.setBootVersion("2.0.5.RELEASE");
request.setJavaVersion("11");
generateMavenPom(request).hasJavaVersion("1.8");
}
@Test
public void java11CannotBeUsedWithSpringBoot20Gradle() {
ProjectRequest request = createProjectRequest("data-jpa");
request.setBootVersion("2.0.5.RELEASE");
request.setJavaVersion("11");
generateGradleBuild(request).hasJavaVersion("1.8");
}
@Test
public void java11CanBeUsedWithSpringBoot21Maven() {
ProjectRequest request = createProjectRequest("web");
request.setBootVersion("2.1.0.M1");
request.setJavaVersion("11");
generateMavenPom(request).hasJavaVersion("11");
}
@Test
public void java11CanBeUsedWithSpringBoot21Gradle() {
ProjectRequest request = createProjectRequest("data-jpa");
request.setBootVersion("2.1.1.RELEASE");
request.setJavaVersion("11");
generateGradleBuild(request).hasJavaVersion("11");
}
}