MetadataBuildItemResolver should use platform version

Closes gh-872
This commit is contained in:
Stephane Nicoll
2019-03-17 14:41:03 +01:00
parent 9050056f24
commit 568ef5ed32
12 changed files with 115 additions and 26 deletions

View File

@@ -26,6 +26,7 @@ import io.spring.initializr.generator.io.SimpleIndentStrategy;
import io.spring.initializr.generator.language.Language;
import io.spring.initializr.generator.project.ProjectDescription;
import io.spring.initializr.generator.project.ProjectGenerationContext;
import io.spring.initializr.generator.project.ResolvedProjectDescription;
import io.spring.initializr.generator.spring.test.InitializrMetadataTestBuilder;
import io.spring.initializr.generator.spring.test.ProjectAssert;
import io.spring.initializr.generator.test.project.ProjectGeneratorTester;
@@ -107,8 +108,9 @@ public abstract class AbstractComplianceTests {
private void setupProjectGenerationContext(InitializrMetadata metadata,
ProjectGenerationContext context) {
context.registerBean(InitializrMetadata.class, () -> metadata);
context.registerBean(BuildItemResolver.class,
() -> new MetadataBuildItemResolver(metadata));
context.registerBean(BuildItemResolver.class, () -> new MetadataBuildItemResolver(
metadata,
context.getBean(ResolvedProjectDescription.class).getPlatformVersion()));
context.registerBean(IndentingWriterFactory.class,
() -> IndentingWriterFactory.create(new SimpleIndentStrategy("\t")));
}

View File

@@ -22,6 +22,7 @@ import io.spring.initializr.generator.buildsystem.Build;
import io.spring.initializr.generator.buildsystem.DependencyScope;
import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
import io.spring.initializr.generator.spring.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.MetadataElement;
@@ -79,7 +80,8 @@ class BuildMetadataResolverTests {
}
private Build createBuild(InitializrMetadata metadata) {
return new MavenBuild(new MetadataBuildItemResolver(metadata));
return new MavenBuild(
new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE")));
}
}

View File

@@ -19,6 +19,7 @@ package io.spring.initializr.generator.spring.build;
import io.spring.initializr.generator.buildsystem.Build;
import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
import io.spring.initializr.generator.spring.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;
@@ -70,7 +71,8 @@ class DefaultStarterBuildCustomizerTests {
}
private Build createBuild(InitializrMetadata metadata) {
return new MavenBuild(new MetadataBuildItemResolver(metadata));
return new MavenBuild(
new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE")));
}
}

View File

@@ -73,7 +73,8 @@ class DependencyManagementBuildCustomizerTests {
}
private MavenBuild createBuild(InitializrMetadata metadata) {
return new MavenBuild(new MetadataBuildItemResolver(metadata));
return new MavenBuild(
new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE")));
}
private void customizeBuild(Build build, InitializrMetadata metadata) {

View File

@@ -21,6 +21,7 @@ import java.util.Collections;
import io.spring.initializr.generator.buildsystem.Build;
import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
import io.spring.initializr.generator.spring.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;
@@ -68,14 +69,15 @@ class WarPackagingWebStarterBuildCustomizerTests {
dependency.setFacets(Collections.singletonList("web"));
InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults()
.addDependencyGroup("test", dependency).build();
Build build = new MavenBuild(new MetadataBuildItemResolver(metadata));
Build build = createBuild(metadata);
build.dependencies().add("test");
new WarPackagingWebStarterBuildCustomizer(metadata).customize(build);
assertThat(build.dependencies().ids()).containsOnly("test", "tomcat");
}
private Build createBuild(InitializrMetadata metadata) {
return new MavenBuild(new MetadataBuildItemResolver(metadata));
return new MavenBuild(
new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE")));
}
}

View File

@@ -20,6 +20,7 @@ import java.util.Collections;
import io.spring.initializr.generator.buildsystem.gradle.GradleBuild;
import io.spring.initializr.generator.spring.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;
@@ -60,7 +61,8 @@ class KotlinJpaGradleBuildCustomizerTests {
SimpleKotlinProjectSettings settings = new SimpleKotlinProjectSettings("1.2.70");
KotlinJpaGradleBuildCustomizer customizer = new KotlinJpaGradleBuildCustomizer(
metadata, settings);
GradleBuild build = new GradleBuild(new MetadataBuildItemResolver(metadata));
GradleBuild build = new GradleBuild(
new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE")));
build.dependencies().add("foo");
customizer.customize(build);
return build;

View File

@@ -21,6 +21,7 @@ import java.util.Collections;
import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
import io.spring.initializr.generator.buildsystem.maven.MavenPlugin;
import io.spring.initializr.generator.spring.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;
@@ -68,7 +69,8 @@ class KotlinJpaMavenBuildCustomizerTests {
.addDependencyGroup("test", dependency).build();
KotlinJpaMavenBuildCustomizer customizer = new KotlinJpaMavenBuildCustomizer(
metadata);
MavenBuild build = new MavenBuild(new MetadataBuildItemResolver(metadata));
MavenBuild build = new MavenBuild(
new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE")));
build.dependencies().add("foo");
customizer.customize(build);
return build;

View File

@@ -23,6 +23,7 @@ import java.util.Collections;
import io.spring.initializr.generator.buildsystem.Build;
import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
import io.spring.initializr.generator.spring.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;
@@ -80,7 +81,8 @@ class WebFoldersContributorTests {
}
private Build createBuild(InitializrMetadata metadata) {
return new MavenBuild(new MetadataBuildItemResolver(metadata));
return new MavenBuild(
new MetadataBuildItemResolver(metadata, Version.parse("2.0.0.RELEASE")));
}
private Path contribute(Build build, InitializrMetadata metadata) throws IOException {