mirror of
https://gitee.com/dcren/initializr.git
synced 2025-09-18 17:48:14 +08:00
Map project version from version capability
Closes gh-832
This commit is contained in:
@@ -92,8 +92,8 @@ public class BuildProjectGenerationConfiguration {
|
||||
|
||||
@Bean
|
||||
public SimpleBuildCustomizer projectDescriptionBuildCustomizer(
|
||||
ResolvedProjectDescription projectDescription, InitializrMetadata metadata) {
|
||||
return new SimpleBuildCustomizer(projectDescription, metadata);
|
||||
ResolvedProjectDescription projectDescription) {
|
||||
return new SimpleBuildCustomizer(projectDescription);
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
@@ -18,7 +18,6 @@ package io.spring.initializr.generator.spring.build;
|
||||
|
||||
import io.spring.initializr.generator.buildsystem.Build;
|
||||
import io.spring.initializr.generator.project.ResolvedProjectDescription;
|
||||
import io.spring.initializr.metadata.InitializrMetadata;
|
||||
|
||||
import org.springframework.core.Ordered;
|
||||
|
||||
@@ -33,19 +32,15 @@ public class SimpleBuildCustomizer implements BuildCustomizer<Build> {
|
||||
|
||||
private final ResolvedProjectDescription projectDescription;
|
||||
|
||||
private final InitializrMetadata metadata;
|
||||
|
||||
public SimpleBuildCustomizer(ResolvedProjectDescription projectDescription,
|
||||
InitializrMetadata metadata) {
|
||||
public SimpleBuildCustomizer(ResolvedProjectDescription projectDescription) {
|
||||
this.projectDescription = projectDescription;
|
||||
this.metadata = metadata;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void customize(Build build) {
|
||||
build.setGroup(this.projectDescription.getGroupId());
|
||||
build.setArtifact(this.projectDescription.getArtifactId());
|
||||
build.setVersion(this.metadata.getVersion().getContent());
|
||||
build.setVersion(this.projectDescription.getVersion());
|
||||
this.projectDescription.getRequestedDependencies()
|
||||
.forEach((id, dependency) -> build.dependencies().add(id, dependency));
|
||||
}
|
||||
|
@@ -118,6 +118,7 @@ public abstract class AbstractComplianceTests {
|
||||
description.setLanguage(language);
|
||||
description.setBuildSystem(buildSystem);
|
||||
description.setPlatformVersion(Version.parse(version));
|
||||
description.setVersion("0.0.1-SNAPSHOT");
|
||||
description.setName("demo");
|
||||
description.setDescription("Demo project for Spring Boot");
|
||||
}
|
||||
|
@@ -22,9 +22,7 @@ import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
|
||||
import io.spring.initializr.generator.language.java.JavaLanguage;
|
||||
import io.spring.initializr.generator.project.ProjectDescription;
|
||||
import io.spring.initializr.generator.project.ResolvedProjectDescription;
|
||||
import io.spring.initializr.generator.spring.test.InitializrMetadataTestBuilder;
|
||||
import io.spring.initializr.generator.version.Version;
|
||||
import io.spring.initializr.metadata.InitializrMetadata;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -39,46 +37,39 @@ class SimpleBuildCustomizerTests {
|
||||
|
||||
@Test
|
||||
void customizeProjectCoordinates() {
|
||||
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||
.build();
|
||||
ProjectDescription description = initializeDescription();
|
||||
description.setGroupId("com.example.acme");
|
||||
description.setArtifactId("my-test-project");
|
||||
MavenBuild build = customizeBuild(metadata, description);
|
||||
MavenBuild build = customizeBuild(description);
|
||||
assertThat(build.getGroup()).isEqualTo("com.example.acme");
|
||||
assertThat(build.getArtifact()).isEqualTo("my-test-project");
|
||||
}
|
||||
|
||||
@Test
|
||||
void customizeShouldSetVersionFromMetadata() {
|
||||
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||
.build();
|
||||
metadata.getVersion().setContent("1.5.6.RELEASE");
|
||||
MavenBuild build = customizeBuild(metadata);
|
||||
void customizeVersion() {
|
||||
ProjectDescription description = initializeDescription();
|
||||
description.setVersion("1.5.6.RELEASE");
|
||||
MavenBuild build = customizeBuild(description);
|
||||
assertThat(build.getVersion()).isEqualTo("1.5.6.RELEASE");
|
||||
}
|
||||
|
||||
@Test
|
||||
void customizeWithNoDependency() {
|
||||
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||
.build();
|
||||
ProjectDescription description = initializeDescription();
|
||||
MavenBuild build = customizeBuild(metadata, description);
|
||||
MavenBuild build = customizeBuild(description);
|
||||
assertThat(build.dependencies().ids()).isEmpty();
|
||||
assertThat(build.dependencies().items()).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
void customizeDependencies() {
|
||||
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||
.build();
|
||||
ProjectDescription description = initializeDescription();
|
||||
Dependency one = new Dependency("com.example", "one", DependencyScope.COMPILE);
|
||||
Dependency two = new Dependency("com.example.acme", "two",
|
||||
DependencyScope.COMPILE);
|
||||
description.addDependency("two", two);
|
||||
description.addDependency("one", one);
|
||||
MavenBuild build = customizeBuild(metadata, description);
|
||||
MavenBuild build = customizeBuild(description);
|
||||
assertThat(build.dependencies().ids()).containsExactly("two", "one");
|
||||
assertThat(build.dependencies().items()).containsExactly(two, one);
|
||||
}
|
||||
@@ -90,18 +81,12 @@ class SimpleBuildCustomizerTests {
|
||||
return description;
|
||||
}
|
||||
|
||||
private MavenBuild customizeBuild(InitializrMetadata metadata) {
|
||||
ProjectDescription description = initializeDescription();
|
||||
return customizeBuild(metadata, description);
|
||||
}
|
||||
|
||||
private MavenBuild customizeBuild(InitializrMetadata metadata,
|
||||
ProjectDescription description) {
|
||||
private MavenBuild customizeBuild(ProjectDescription description) {
|
||||
MavenBuild build = new MavenBuild();
|
||||
ResolvedProjectDescription resolvedProjectDescription = new ResolvedProjectDescription(
|
||||
description);
|
||||
SimpleBuildCustomizer customizer = new SimpleBuildCustomizer(
|
||||
resolvedProjectDescription, metadata);
|
||||
resolvedProjectDescription);
|
||||
customizer.customize(build);
|
||||
return build;
|
||||
}
|
||||
|
Reference in New Issue
Block a user