diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildMetadataResolver.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildMetadataResolver.java index 8b6f9930b4..38660f6dfa 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildMetadataResolver.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildMetadataResolver.java @@ -20,6 +20,7 @@ import java.util.stream.Stream; import io.spring.initializr.generator.buildsystem.Build; +import io.spring.initializr.generator.version.Version; import io.spring.initializr.metadata.Dependency; import io.spring.initializr.metadata.InitializrMetadata; @@ -27,13 +28,17 @@ * Resolve metadata information from the build. * * @author Stephane Nicoll + * @author Moritz Halbritter */ public class BuildMetadataResolver { private final InitializrMetadata metadata; - public BuildMetadataResolver(InitializrMetadata metadata) { + private final Version platformVersion; + + public BuildMetadataResolver(InitializrMetadata metadata, Version platformVersion) { this.metadata = metadata; + this.platformVersion = platformVersion; } /** @@ -43,7 +48,11 @@ public BuildMetadataResolver(InitializrMetadata metadata) { * @return a stream of dependency metadata */ public Stream dependencies(Build build) { - return build.dependencies().ids().map((id) -> this.metadata.getDependencies().get(id)).filter(Objects::nonNull); + return build.dependencies() + .ids() + .map((id) -> this.metadata.getDependencies().get(id)) + .filter(Objects::nonNull) + .map((dependency) -> dependency.resolve(this.platformVersion)); } /** diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildProjectGenerationConfiguration.java index ad162824d4..aaf35a7c0d 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/BuildProjectGenerationConfiguration.java @@ -69,8 +69,9 @@ BuildCustomizer junitLauncherContributor() { } @Bean - public DefaultStarterBuildCustomizer defaultStarterContributor(InitializrMetadata metadata) { - return new DefaultStarterBuildCustomizer(metadata); + public DefaultStarterBuildCustomizer defaultStarterContributor(InitializrMetadata metadata, + ProjectDescription projectDescription) { + return new DefaultStarterBuildCustomizer(metadata, projectDescription); } @Bean @@ -81,8 +82,9 @@ public DefaultMavenBuildCustomizer initializrMetadataMavenBuildCustomizer(Projec @Bean @ConditionalOnPackaging(WarPackaging.ID) - public WarPackagingWebStarterBuildCustomizer warPackagingWebStarterBuildCustomizer(InitializrMetadata metadata) { - return new WarPackagingWebStarterBuildCustomizer(metadata); + public WarPackagingWebStarterBuildCustomizer warPackagingWebStarterBuildCustomizer(InitializrMetadata metadata, + ProjectDescription projectDescription) { + return new WarPackagingWebStarterBuildCustomizer(metadata, projectDescription); } @Bean diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizer.java index 624d445b98..b64f5c4243 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizer.java @@ -17,6 +17,7 @@ package io.spring.initializr.generator.spring.build; import io.spring.initializr.generator.buildsystem.Build; +import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.metadata.Dependency; import io.spring.initializr.metadata.InitializrMetadata; import io.spring.initializr.metadata.support.MetadataBuildItemMapper; @@ -37,8 +38,8 @@ class DefaultStarterBuildCustomizer implements BuildCustomizer { private final BuildMetadataResolver buildResolver; - DefaultStarterBuildCustomizer(InitializrMetadata metadata) { - this.buildResolver = new BuildMetadataResolver(metadata); + DefaultStarterBuildCustomizer(InitializrMetadata metadata, ProjectDescription projectDescription) { + this.buildResolver = new BuildMetadataResolver(metadata, projectDescription.getPlatformVersion()); } @Override diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizer.java index 3793c8594c..370dad6601 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizer.java @@ -17,6 +17,7 @@ package io.spring.initializr.generator.spring.build; import io.spring.initializr.generator.buildsystem.Build; +import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.metadata.Dependency; import io.spring.initializr.metadata.InitializrMetadata; import io.spring.initializr.metadata.support.MetadataBuildItemMapper; @@ -36,9 +37,9 @@ public class WarPackagingWebStarterBuildCustomizer implements BuildCustomizer { private final ProjectDescription description; public KotlinJacksonBuildCustomizer(InitializrMetadata metadata, ProjectDescription description) { - this.buildMetadataResolver = new BuildMetadataResolver(metadata); + this.buildMetadataResolver = new BuildMetadataResolver(metadata, description.getPlatformVersion()); this.description = description; } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizer.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizer.java index 4f57a72048..db12fe04eb 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizer.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizer.java @@ -17,6 +17,7 @@ package io.spring.initializr.generator.spring.code.kotlin; import io.spring.initializr.generator.buildsystem.gradle.GradleBuild; +import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.generator.spring.build.BuildCustomizer; import io.spring.initializr.generator.spring.build.BuildMetadataResolver; import io.spring.initializr.metadata.InitializrMetadata; @@ -34,8 +35,9 @@ public class KotlinJpaGradleBuildCustomizer implements BuildCustomizer kotlinDependenciesConfigurer() { @Bean @ConditionalOnBuildSystem(GradleBuildSystem.ID) KotlinJpaGradleBuildCustomizer kotlinJpaGradleBuildCustomizer(InitializrMetadata metadata, - KotlinProjectSettings settings) { - return new KotlinJpaGradleBuildCustomizer(metadata, settings); + KotlinProjectSettings settings, ProjectDescription projectDescription) { + return new KotlinJpaGradleBuildCustomizer(metadata, settings, projectDescription); } @Bean @ConditionalOnBuildSystem(MavenBuildSystem.ID) - KotlinJpaMavenBuildCustomizer kotlinJpaMavenBuildCustomizer(InitializrMetadata metadata) { - return new KotlinJpaMavenBuildCustomizer(metadata); + KotlinJpaMavenBuildCustomizer kotlinJpaMavenBuildCustomizer(InitializrMetadata metadata, + ProjectDescription projectDescription) { + return new KotlinJpaMavenBuildCustomizer(metadata, projectDescription); } @Bean diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/ApplicationConfigurationProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/ApplicationConfigurationProjectGenerationConfiguration.java index 54a0c20cc4..243ed3c65e 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/ApplicationConfigurationProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/ApplicationConfigurationProjectGenerationConfiguration.java @@ -17,6 +17,7 @@ package io.spring.initializr.generator.spring.configuration; import io.spring.initializr.generator.buildsystem.Build; +import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.generator.project.ProjectGenerationConfiguration; import io.spring.initializr.metadata.InitializrMetadata; @@ -32,8 +33,9 @@ public class ApplicationConfigurationProjectGenerationConfiguration { @Bean - WebFoldersContributor webFoldersContributor(Build build, InitializrMetadata metadata) { - return new WebFoldersContributor(build, metadata); + WebFoldersContributor webFoldersContributor(Build build, InitializrMetadata metadata, + ProjectDescription projectDescription) { + return new WebFoldersContributor(build, metadata, projectDescription); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributor.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributor.java index d54c364ec6..b832a34d32 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributor.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributor.java @@ -21,6 +21,7 @@ import java.nio.file.Path; import io.spring.initializr.generator.buildsystem.Build; +import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.generator.project.contributor.ProjectContributor; import io.spring.initializr.generator.spring.build.BuildMetadataResolver; import io.spring.initializr.metadata.InitializrMetadata; @@ -39,9 +40,9 @@ public class WebFoldersContributor implements ProjectContributor { private final BuildMetadataResolver buildMetadataResolver; - public WebFoldersContributor(Build build, InitializrMetadata metadata) { + public WebFoldersContributor(Build build, InitializrMetadata metadata, ProjectDescription projectDescription) { this.build = build; - this.buildMetadataResolver = new BuildMetadataResolver(metadata); + this.buildMetadataResolver = new BuildMetadataResolver(metadata, projectDescription.getPlatformVersion()); } @Override diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildMetadataResolverTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildMetadataResolverTests.java index 1c677544a7..1533bd6a48 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildMetadataResolverTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/BuildMetadataResolverTests.java @@ -17,6 +17,7 @@ package io.spring.initializr.generator.spring.build; import java.util.Arrays; +import java.util.List; import io.spring.initializr.generator.buildsystem.Build; import io.spring.initializr.generator.buildsystem.DependencyScope; @@ -35,9 +36,12 @@ * Tests for {@link BuildMetadataResolver}. * * @author Stephane Nicoll + * @author Moritz Halbritter */ class BuildMetadataResolverTests { + private static final Version PLATFORM_VERSION = Version.parse("1.0.0"); + @Test void dependenciesFiltersDependenciesWithNoMetadata() { InitializrMetadata metadata = createSampleMetadata(); @@ -45,18 +49,36 @@ void dependenciesFiltersDependenciesWithNoMetadata() { build.dependencies().add("three"); build.dependencies().add("five", "com.example", "five", DependencyScope.COMPILE); build.dependencies().add("one"); - BuildMetadataResolver resolver = new BuildMetadataResolver(metadata); + BuildMetadataResolver resolver = new BuildMetadataResolver(metadata, PLATFORM_VERSION); assertThat(resolver.dependencies(build)).hasSize(2); assertThat(resolver.dependencies(build).map(MetadataElement::getId)).containsExactly("three", "one"); } + @Test + void shouldResolveDependenciesAgainstMapping() { + Dependency web = Dependency.withId("web", "group", "artifact"); + web.setMappings(List.of(Dependency.Mapping.create("[1.0.0,2.0.0)", null, null, "1.0.0", null, null, null), + Dependency.Mapping.create("[2.0.0,3.0.0)", null, null, "2.0.0", null, null, null))); + InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() + .addDependencyGroup("web", web) + .build(); + Build build = createBuild(metadata); + build.dependencies().add("web"); + BuildMetadataResolver resolver = new BuildMetadataResolver(metadata, Version.parse("1.0.0")); + assertThat(resolver.dependencies(build)).singleElement() + .satisfies((dependency) -> assertThat(dependency.getVersion()).isEqualTo("1.0.0")); + resolver = new BuildMetadataResolver(metadata, Version.parse("2.0.0")); + assertThat(resolver.dependencies(build)).singleElement() + .satisfies((dependency) -> assertThat(dependency.getVersion()).isEqualTo("2.0.0")); + } + @Test void hasFacetWithMatchingFacet() { InitializrMetadata metadata = createSampleMetadata(); Build build = createBuild(metadata); build.dependencies().add("one"); build.dependencies().add("my-web"); - assertThat(new BuildMetadataResolver(metadata).hasFacet(build, "web")).isTrue(); + assertThat(new BuildMetadataResolver(metadata, PLATFORM_VERSION).hasFacet(build, "web")).isTrue(); } @Test @@ -65,7 +87,7 @@ void hasFacetWithNonMatchingFacet() { Build build = createBuild(metadata); build.dependencies().add("my-custom"); build.dependencies().add("my-web"); - assertThat(new BuildMetadataResolver(metadata).hasFacet(build, "nope")).isFalse(); + assertThat(new BuildMetadataResolver(metadata, PLATFORM_VERSION).hasFacet(build, "nope")).isFalse(); } private InitializrMetadata createSampleMetadata() { @@ -80,7 +102,7 @@ private InitializrMetadata createSampleMetadata() { } private Build createBuild(InitializrMetadata metadata) { - return new MavenBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); + return new MavenBuild(new MetadataBuildItemResolver(metadata, PLATFORM_VERSION)); } } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizerTests.java index 538afe4618..94c3bb4c35 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/DefaultStarterBuildCustomizerTests.java @@ -18,11 +18,14 @@ import io.spring.initializr.generator.buildsystem.Build; import io.spring.initializr.generator.buildsystem.maven.MavenBuild; +import io.spring.initializr.generator.project.MutableProjectDescription; +import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.generator.test.InitializrMetadataTestBuilder; import io.spring.initializr.generator.version.Version; import io.spring.initializr.metadata.Dependency; import io.spring.initializr.metadata.InitializrMetadata; import io.spring.initializr.metadata.support.MetadataBuildItemResolver; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; @@ -34,6 +37,15 @@ */ class DefaultStarterBuildCustomizerTests { + private ProjectDescription projectDescription; + + @BeforeEach + void setUp() { + MutableProjectDescription description = new MutableProjectDescription(); + description.setPlatformVersion(Version.parse("1.0.0")); + this.projectDescription = description; + } + @Test void defaultStarterIsAddedIfNoneExists() { Dependency dependency = Dependency.withId("acme", "com.example", "acme"); @@ -43,7 +55,7 @@ void defaultStarterIsAddedIfNoneExists() { .build(); Build build = createBuild(metadata); build.dependencies().add("acme"); - new DefaultStarterBuildCustomizer(metadata).customize(build); + new DefaultStarterBuildCustomizer(metadata, this.projectDescription).customize(build); assertThat(build.dependencies().ids()).containsOnly("acme", DefaultStarterBuildCustomizer.DEFAULT_STARTER); } @@ -56,7 +68,7 @@ void defaultStarterIsAddedIfNoCompileScopedStarterExists() { .build(); Build build = createBuild(metadata); build.dependencies().add("runtime"); - new DefaultStarterBuildCustomizer(metadata).customize(build); + new DefaultStarterBuildCustomizer(metadata, this.projectDescription).customize(build); assertThat(build.dependencies().ids()).containsOnly("runtime", DefaultStarterBuildCustomizer.DEFAULT_STARTER); } @@ -67,7 +79,7 @@ void defaultStarterIsNotAddedIfCompileScopedStarterExists() { .build(); Build build = createBuild(metadata); build.dependencies().add("web"); - new DefaultStarterBuildCustomizer(metadata).customize(build); + new DefaultStarterBuildCustomizer(metadata, this.projectDescription).customize(build); assertThat(build.dependencies().ids()).containsOnly("web"); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizerTests.java index e4fc752b78..e2846c5048 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/build/WarPackagingWebStarterBuildCustomizerTests.java @@ -20,11 +20,14 @@ import io.spring.initializr.generator.buildsystem.Build; import io.spring.initializr.generator.buildsystem.maven.MavenBuild; +import io.spring.initializr.generator.project.MutableProjectDescription; +import io.spring.initializr.generator.project.ProjectDescription; import io.spring.initializr.generator.test.InitializrMetadataTestBuilder; import io.spring.initializr.generator.version.Version; import io.spring.initializr.metadata.Dependency; import io.spring.initializr.metadata.InitializrMetadata; import io.spring.initializr.metadata.support.MetadataBuildItemResolver; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; @@ -36,6 +39,15 @@ */ class WarPackagingWebStarterBuildCustomizerTests { + private ProjectDescription projectDescription; + + @BeforeEach + void setUp() { + MutableProjectDescription description = new MutableProjectDescription(); + description.setPlatformVersion(Version.parse("1.0.0")); + this.projectDescription = description; + } + @Test void addWebStarterWhenNoWebFacetIsPresent() { Dependency dependency = Dependency.withId("test", "com.example", "acme", null, Dependency.SCOPE_COMPILE); @@ -44,7 +56,7 @@ void addWebStarterWhenNoWebFacetIsPresent() { .build(); Build build = createBuild(metadata); build.dependencies().add("test"); - new WarPackagingWebStarterBuildCustomizer(metadata).customize(build); + new WarPackagingWebStarterBuildCustomizer(metadata, this.projectDescription).customize(build); assertThat(build.dependencies().ids()).containsOnly("test", "web", "tomcat"); } @@ -57,7 +69,7 @@ void addWebStarterWhenNoWebFacetIsPresentWithCustomWebStarter() { .build(); Build build = createBuild(metadata); build.dependencies().add("test"); - new WarPackagingWebStarterBuildCustomizer(metadata).customize(build); + new WarPackagingWebStarterBuildCustomizer(metadata, this.projectDescription).customize(build); assertThat(build.dependencies().ids()).containsOnly("test", "web", "tomcat"); } @@ -70,7 +82,7 @@ void addWebStarterDoesNotReplaceWebFacetDependency() { .build(); Build build = createBuild(metadata); build.dependencies().add("test"); - new WarPackagingWebStarterBuildCustomizer(metadata).customize(build); + new WarPackagingWebStarterBuildCustomizer(metadata, this.projectDescription).customize(build); assertThat(build.dependencies().ids()).containsOnly("test", "tomcat"); } diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizerTests.java index 1133fcfdc9..e36aa71a5a 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaGradleBuildCustomizerTests.java @@ -21,6 +21,7 @@ import io.spring.initializr.generator.buildsystem.gradle.GradleBuild; import io.spring.initializr.generator.buildsystem.gradle.GradlePlugin; import io.spring.initializr.generator.buildsystem.gradle.StandardGradlePlugin; +import io.spring.initializr.generator.project.MutableProjectDescription; import io.spring.initializr.generator.test.InitializrMetadataTestBuilder; import io.spring.initializr.generator.version.Version; import io.spring.initializr.metadata.Dependency; @@ -62,7 +63,10 @@ private GradleBuild getCustomizedBuild(Dependency dependency) { .addDependencyGroup("test", dependency) .build(); SimpleKotlinProjectSettings settings = new SimpleKotlinProjectSettings("1.2.70"); - KotlinJpaGradleBuildCustomizer customizer = new KotlinJpaGradleBuildCustomizer(metadata, settings); + MutableProjectDescription projectDescription = new MutableProjectDescription(); + projectDescription.setPlatformVersion(Version.parse("1.0.0")); + KotlinJpaGradleBuildCustomizer customizer = new KotlinJpaGradleBuildCustomizer(metadata, settings, + projectDescription); GradleBuild build = new GradleBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); build.dependencies().add("foo"); customizer.customize(build); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaMavenBuildCustomizerTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaMavenBuildCustomizerTests.java index 08fbab5960..b5b87fa592 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaMavenBuildCustomizerTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/code/kotlin/KotlinJpaMavenBuildCustomizerTests.java @@ -20,6 +20,7 @@ import io.spring.initializr.generator.buildsystem.maven.MavenBuild; import io.spring.initializr.generator.buildsystem.maven.MavenPlugin; +import io.spring.initializr.generator.project.MutableProjectDescription; import io.spring.initializr.generator.test.InitializrMetadataTestBuilder; import io.spring.initializr.generator.version.Version; import io.spring.initializr.metadata.Dependency; @@ -69,7 +70,9 @@ private MavenBuild getCustomizedBuild(Dependency dependency) { InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addDependencyGroup("test", dependency) .build(); - KotlinJpaMavenBuildCustomizer customizer = new KotlinJpaMavenBuildCustomizer(metadata); + MutableProjectDescription projectDescription = new MutableProjectDescription(); + projectDescription.setPlatformVersion(Version.parse("1.0.0")); + KotlinJpaMavenBuildCustomizer customizer = new KotlinJpaMavenBuildCustomizer(metadata, projectDescription); MavenBuild build = new MavenBuild(new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE"))); build.dependencies().add("foo"); customizer.customize(build); diff --git a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributorTests.java b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributorTests.java index b9d2c1c5fc..148fd4caf3 100644 --- a/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributorTests.java +++ b/initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/configuration/WebFoldersContributorTests.java @@ -22,6 +22,7 @@ import io.spring.initializr.generator.buildsystem.Build; import io.spring.initializr.generator.buildsystem.maven.MavenBuild; +import io.spring.initializr.generator.project.MutableProjectDescription; import io.spring.initializr.generator.test.InitializrMetadataTestBuilder; import io.spring.initializr.generator.version.Version; import io.spring.initializr.metadata.Dependency; @@ -83,7 +84,9 @@ private Build createBuild(InitializrMetadata metadata) { } private Path contribute(Build build, InitializrMetadata metadata) throws IOException { - new WebFoldersContributor(build, metadata).contribute(this.projectDir); + MutableProjectDescription projectDescription = new MutableProjectDescription(); + projectDescription.setPlatformVersion(Version.parse("1.0.0")); + new WebFoldersContributor(build, metadata, projectDescription).contribute(this.projectDir); return this.projectDir; }