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_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", private static final List<String> UNSUPPORTED_LANGUAGES = Arrays.asList("groovy",
"kotlin"); "kotlin");
@@ -62,12 +64,16 @@ class JavaVersionRequestPostProcessor implements ProjectRequestPostProcessor {
if (javaGeneration == 10 && VERSION_2_0_1.compareTo(requestVersion) > 0) { if (javaGeneration == 10 && VERSION_2_0_1.compareTo(requestVersion) > 0) {
request.setJavaVersion("1.8"); 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) { private Integer determineJavaGeneration(String javaVersion) {
try { try {
int generation = Integer.valueOf(javaVersion); int generation = Integer.valueOf(javaVersion);
return ((generation > 8 && generation <= 10) ? generation : null); return ((generation > 8 && generation <= 11) ? generation : null);
} }
catch (NumberFormatException ex) { catch (NumberFormatException ex) {
return null; 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 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 @Override
public void postProcessAfterResolution(ProjectRequest request, public void postProcessAfterResolution(ProjectRequest request,

View File

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

View File

@@ -143,4 +143,52 @@ public class JavaVersionRequestPostProcessorTests
generateGradleBuild(request).hasJavaVersion("10"); 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");
}
} }