Polish generated pom

This commit removes two useless properties that are already contributed
by `spring-boot-starter-parent`.
This commit is contained in:
Stephane Nicoll
2018-12-06 13:49:09 +01:00
parent 4a75ad6b21
commit bba9eb7a33
19 changed files with 34 additions and 42 deletions

View File

@@ -34,6 +34,7 @@ import java.util.stream.Collectors;
import io.spring.initializr.InitializrException;
import io.spring.initializr.metadata.BillOfMaterials;
import io.spring.initializr.metadata.Dependency;
import io.spring.initializr.metadata.InitializrConfiguration.Env.Maven;
import io.spring.initializr.metadata.InitializrConfiguration.Env.Maven.ParentPom;
import io.spring.initializr.metadata.InitializrMetadata;
import io.spring.initializr.metadata.InitializrMetadataProvider;
@@ -364,14 +365,19 @@ public class ProjectGenerator {
if (isMavenBuild(request)) {
model.put("mavenBuild", true);
ParentPom parentPom = metadata.getConfiguration().getEnv().getMaven()
.resolveParentPom(request.getBootVersion());
Maven maven = metadata.getConfiguration().getEnv().getMaven();
ParentPom parentPom = maven.resolveParentPom(request.getBootVersion());
if (parentPom.isIncludeSpringBootBom()
&& !request.getBoms().containsKey("spring-boot")) {
request.getBoms().put("spring-boot", metadata.createSpringBootBom(
request.getBootVersion(), "spring-boot.version"));
}
if (!maven.isSpringBootStarterParent(parentPom)) {
request.getBuildProperties().getMaven()
.put("project.build.sourceEncoding", () -> "UTF-8");
request.getBuildProperties().getMaven()
.put("project.reporting.outputEncoding", () -> "UTF-8");
}
model.put("mavenParentGroupId", parentPom.getGroupId());
model.put("mavenParentArtifactId", parentPom.getArtifactId());
model.put("mavenParentVersion", parentPom.getVersion());

View File

@@ -239,10 +239,6 @@ public class ProjectRequest extends BasicProjectRequest {
}
}
else {
this.buildProperties.getMaven().put("project.build.sourceEncoding",
() -> "UTF-8");
this.buildProperties.getMaven().put("project.reporting.outputEncoding",
() -> "UTF-8");
this.buildProperties.getVersions().put(VersionProperty.of("java.version"),
this::getJavaVersion);
if ("kotlin".equals(getLanguage())) {

View File

@@ -495,6 +495,10 @@ public class InitializrConfiguration {
*/
public static class Maven {
private static final String DEFAULT_PARENT_GROUP_ID = "org.springframework.boot";
private static final String DEFAULT_PARENT_ARTIFACT_ID = "spring-boot-starter-parent";
/**
* Custom parent pom to use for generated projects.
*/
@@ -519,8 +523,20 @@ public class InitializrConfiguration {
*/
public ParentPom resolveParentPom(String bootVersion) {
return (StringUtils.hasText(this.parent.groupId) ? this.parent
: new ParentPom("org.springframework.boot",
"spring-boot-starter-parent", bootVersion));
: new ParentPom(DEFAULT_PARENT_GROUP_ID,
DEFAULT_PARENT_ARTIFACT_ID, bootVersion));
}
/**
* Check if the specified {@link ParentPom} is the default spring boot starter
* parent.
* @param parentPom the parent pom to check
* @return {@code true} if the {@code parentPom} is the spring boot starter
* parent
*/
public boolean isSpringBootStarterParent(ParentPom parentPom) {
return DEFAULT_PARENT_GROUP_ID.equals(parentPom.getGroupId())
&& DEFAULT_PARENT_ARTIFACT_ID.equals(parentPom.getArtifactId());
}
/**

View File

@@ -384,7 +384,9 @@ public class ProjectGeneratorTests extends AbstractProjectGeneratorTests {
@Test
public void defaultMavenPomHasSpringBootParent() {
ProjectRequest request = createProjectRequest("web");
generateMavenPom(request).hasSpringBootParent(request.getBootVersion());
generateMavenPom(request).hasSpringBootParent(request.getBootVersion())
.hasNoProperty("project.build.sourceEncoding")
.hasNoProperty("project.reporting.outputEncoding");
}
@Test
@@ -395,7 +397,8 @@ public class ProjectGeneratorTests extends AbstractProjectGeneratorTests {
applyMetadata(metadata);
ProjectRequest request = createProjectRequest("web");
generateMavenPom(request).hasParent("com.foo", "foo-parent", "1.0.0-SNAPSHOT")
.hasBomsCount(0);
.hasBomsCount(0).hasProperty("project.build.sourceEncoding", "UTF-8")
.hasProperty("project.reporting.outputEncoding", "UTF-8");
}
@Test
@@ -410,7 +413,8 @@ public class ProjectGeneratorTests extends AbstractProjectGeneratorTests {
.hasProperty("spring-boot.version", "1.5.17.RELEASE")
.hasBom("org.springframework.boot", "spring-boot-dependencies",
"${spring-boot.version}")
.hasBomsCount(1);
.hasBomsCount(1).hasProperty("project.build.sourceEncoding", "UTF-8")
.hasProperty("project.reporting.outputEncoding", "UTF-8");
}
@Test

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<kotlin.version>1.1.1</kotlin.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<kotlin.version>1.1.1</kotlin.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<kotlin.version>1.1.1</kotlin.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<foo.version>1.3.3</foo.version>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>11</java.version>
<kotlin.version>1.1.1</kotlin.version>
</properties>

View File

@@ -16,8 +16,6 @@
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-bar.version>0.2.0.RELEASE</spring-bar.version>
<spring-foo.version>0.1.0.RELEASE</spring-foo.version>