mirror of
https://gitee.com/dcren/initializr.git
synced 2025-09-18 09:44:47 +08:00
Move build properties to dedicated container
See gh-996
This commit is contained in:
@@ -77,7 +77,7 @@ public class DependencyManagementBuildCustomizer implements BuildCustomizer<Buil
|
||||
resolvedBoms.forEach((key, bom) -> {
|
||||
build.boms().add(key, MetadataBuildItemMapper.toBom(bom));
|
||||
if (bom.getVersionProperty() != null) {
|
||||
build.addVersionProperty(bom.getVersionProperty(), bom.getVersion());
|
||||
build.properties().version(bom.getVersionProperty(), bom.getVersion());
|
||||
}
|
||||
});
|
||||
repositories.keySet().forEach((id) -> build.repositories().add(id));
|
||||
|
@@ -20,6 +20,7 @@ import io.spring.initializr.generator.buildsystem.BillOfMaterials;
|
||||
import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
|
||||
import io.spring.initializr.generator.project.ProjectDescription;
|
||||
import io.spring.initializr.generator.spring.build.BuildCustomizer;
|
||||
import io.spring.initializr.generator.version.VersionProperty;
|
||||
import io.spring.initializr.metadata.InitializrConfiguration.Env.Maven;
|
||||
import io.spring.initializr.metadata.InitializrConfiguration.Env.Maven.ParentPom;
|
||||
import io.spring.initializr.metadata.InitializrMetadata;
|
||||
@@ -44,7 +45,7 @@ public class DefaultMavenBuildCustomizer implements BuildCustomizer<MavenBuild>
|
||||
@Override
|
||||
public void customize(MavenBuild build) {
|
||||
build.settings().name(this.description.getName()).description(this.description.getDescription());
|
||||
build.setProperty("java.version", this.description.getLanguage().jvmVersion());
|
||||
build.properties().property("java.version", this.description.getLanguage().jvmVersion());
|
||||
build.plugins().add("org.springframework.boot", "spring-boot-maven-plugin");
|
||||
|
||||
Maven maven = this.metadata.getConfiguration().getEnv().getMaven();
|
||||
@@ -55,13 +56,13 @@ public class DefaultMavenBuildCustomizer implements BuildCustomizer<MavenBuild>
|
||||
BillOfMaterials springBootBom = MetadataBuildItemMapper
|
||||
.toBom(this.metadata.createSpringBootBom(springBootVersion, versionProperty));
|
||||
if (!hasBom(build, springBootBom)) {
|
||||
build.addInternalVersionProperty(versionProperty, springBootVersion);
|
||||
build.properties().version(VersionProperty.of(versionProperty, true), springBootVersion);
|
||||
build.boms().add("spring-boot", springBootBom);
|
||||
}
|
||||
}
|
||||
if (!maven.isSpringBootStarterParent(parentPom)) {
|
||||
build.setProperty("project.build.sourceEncoding", "UTF-8");
|
||||
build.setProperty("project.reporting.outputEncoding", "UTF-8");
|
||||
build.properties().property("project.build.sourceEncoding", "UTF-8")
|
||||
.property("project.reporting.outputEncoding", "UTF-8");
|
||||
}
|
||||
build.settings().parent(parentPom.getGroupId(), parentPom.getArtifactId(), parentPom.getVersion());
|
||||
}
|
||||
|
@@ -38,7 +38,7 @@ class KotlinMavenBuildCustomizer implements BuildCustomizer<MavenBuild> {
|
||||
|
||||
@Override
|
||||
public void customize(MavenBuild build) {
|
||||
build.setProperty("kotlin.version", this.settings.getVersion());
|
||||
build.properties().version("kotlin.version", this.settings.getVersion());
|
||||
build.settings().sourceDirectory("${project.basedir}/src/main/kotlin")
|
||||
.testSourceDirectory("${project.basedir}/src/test/kotlin");
|
||||
build.plugins().add("org.jetbrains.kotlin", "kotlin-maven-plugin", (kotlinMavenPlugin) -> {
|
||||
|
@@ -35,7 +35,7 @@ class KotlinMavenFullBuildCustomizer implements BuildCustomizer<MavenBuild> {
|
||||
|
||||
@Override
|
||||
public void customize(MavenBuild build) {
|
||||
build.setProperty("kotlin.version", this.settings.getVersion());
|
||||
build.properties().version("kotlin.version", this.settings.getVersion());
|
||||
build.settings().sourceDirectory("${project.basedir}/src/main/kotlin")
|
||||
.testSourceDirectory("${project.basedir}/src/test/kotlin");
|
||||
build.plugins().add("org.jetbrains.kotlin", "kotlin-maven-plugin", (kotlinMavenPlugin) -> {
|
||||
|
@@ -182,11 +182,9 @@ class BuildComplianceTests extends AbstractComplianceTests {
|
||||
ProjectStructure project = generateProject(java, build, "2.1.1.RELEASE",
|
||||
(description) -> description.addDependency("web", MetadataBuildItemMapper.toDependency(WEB)),
|
||||
(projectGenerationContext) -> projectGenerationContext.registerBean(BuildCustomizer.class,
|
||||
() -> (projectBuild) -> {
|
||||
projectBuild.addVersionProperty(VersionProperty.of("spring-foo.version", false),
|
||||
"0.1.0.RELEASE");
|
||||
projectBuild.addVersionProperty(VersionProperty.of("spring-bar.version"), "0.2.0.RELEASE");
|
||||
}));
|
||||
() -> (projectBuild) -> projectBuild.properties()
|
||||
.version(VersionProperty.of("spring-foo.version", false), "0.1.0.RELEASE")
|
||||
.version(VersionProperty.of("spring-bar.version"), "0.2.0.RELEASE")));
|
||||
assertThat(project).textFile(fileName).hasSameContentAs(
|
||||
new ClassPathResource("project/" + build + "/version-override-" + getAssertFileName(fileName)));
|
||||
}
|
||||
|
@@ -65,7 +65,7 @@ class DefaultMavenBuildCustomizerTests {
|
||||
MutableProjectDescription description = initializeDescription();
|
||||
description.setLanguage(new JavaLanguage("11"));
|
||||
MavenBuild build = customizeBuild(metadata, description);
|
||||
assertThat(build.getProperties()).contains(entry("java.version", "11"));
|
||||
assertThat(build.properties().values()).contains(entry("java.version", "11"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -90,7 +90,8 @@ class DefaultMavenBuildCustomizerTests {
|
||||
BomContainer boms = build.boms();
|
||||
assertThat(boms.items()).hasSize(1);
|
||||
assertThat(boms.ids()).contains("spring-boot");
|
||||
assertThat(build.getVersionProperties().get(VersionProperty.of("spring-boot.version"))).isEqualTo("2.0.0");
|
||||
assertThat(build.properties().versions(VersionProperty::toStandardFormat))
|
||||
.contains(entry("spring-boot.version", "2.0.0"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -23,9 +23,11 @@ import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
|
||||
import io.spring.initializr.generator.buildsystem.maven.MavenPlugin.Configuration;
|
||||
import io.spring.initializr.generator.buildsystem.maven.MavenPlugin.Dependency;
|
||||
import io.spring.initializr.generator.buildsystem.maven.MavenPlugin.Setting;
|
||||
import io.spring.initializr.generator.version.VersionProperty;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.entry;
|
||||
|
||||
/**
|
||||
* Tests for {@link KotlinMavenBuildCustomizer}.
|
||||
@@ -38,8 +40,8 @@ class KotlinMavenBuildCustomizerTests {
|
||||
void kotlinVersionPropertyIsConfigured() {
|
||||
MavenBuild build = new MavenBuild();
|
||||
new KotlinMavenBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build);
|
||||
assertThat(build.getProperties()).hasSize(1);
|
||||
assertThat(build.getProperties()).containsEntry("kotlin.version", "1.2.70");
|
||||
assertThat(build.properties().versions(VersionProperty::toStandardFormat))
|
||||
.containsOnly(entry("kotlin.version", "1.2.70"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -21,9 +21,11 @@ import io.spring.initializr.generator.buildsystem.maven.MavenPlugin.Configuratio
|
||||
import io.spring.initializr.generator.buildsystem.maven.MavenPlugin.Dependency;
|
||||
import io.spring.initializr.generator.buildsystem.maven.MavenPlugin.Execution;
|
||||
import io.spring.initializr.generator.buildsystem.maven.MavenPlugin.Setting;
|
||||
import io.spring.initializr.generator.version.VersionProperty;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.entry;
|
||||
|
||||
/**
|
||||
* Tests for {@link KotlinMavenFullBuildCustomizer}.
|
||||
@@ -36,8 +38,8 @@ class KotlinMavenFullBuildCustomizerTests {
|
||||
void kotlinVersionPropertyIsConfigured() {
|
||||
MavenBuild build = new MavenBuild();
|
||||
new KotlinMavenFullBuildCustomizer(new SimpleKotlinProjectSettings("1.2.70")).customize(build);
|
||||
assertThat(build.getProperties()).hasSize(1);
|
||||
assertThat(build.getProperties()).containsEntry("kotlin.version", "1.2.70");
|
||||
assertThat(build.properties().versions(VersionProperty::toStandardFormat))
|
||||
.containsOnly(entry("kotlin.version", "1.2.70"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user