From 50bddd036e9ea991f27908d10bf37fb4d1f02d2d Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Fri, 6 Sep 2019 13:47:25 +0200 Subject: [PATCH] Revisit TemplateRenderer usage This commit stops creating a MustacheTemplateRenderer automatically as it is only used by the Spring conventions at the moment. This makes sure that the test infrastructure can be used even if mustache is not available. Closes gh-991 --- .../HelpDocumentProjectGenerationConfiguration.java | 9 ++++++--- initializr-generator-test/pom.xml | 6 ------ .../generator/test/project/ProjectGeneratorTester.java | 2 -- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfiguration.java index 9ff1e0d5..297dff3c 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/documentation/HelpDocumentProjectGenerationConfiguration.java @@ -24,7 +24,9 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; /** - * Configuration for contributions specific to the help documentation of a project. + * Configuration for contributions specific to the help documentation of a project. If no + * {@link MustacheTemplateRenderer} exists, a default one on {@code classpath:/templates} + * is provided. * * @author Stephane Nicoll */ @@ -33,9 +35,10 @@ import org.springframework.context.annotation.Import; public class HelpDocumentProjectGenerationConfiguration { @Bean - public HelpDocument helpDocument(MustacheTemplateRenderer templateRenderer, + public HelpDocument helpDocument(ObjectProvider templateRenderer, ObjectProvider helpDocumentCustomizers) { - HelpDocument helpDocument = new HelpDocument(templateRenderer); + HelpDocument helpDocument = new HelpDocument( + templateRenderer.getIfAvailable(() -> new MustacheTemplateRenderer("classpath:/templates"))); helpDocumentCustomizers.orderedStream().forEach((customizer) -> customizer.customize(helpDocument)); return helpDocument; } diff --git a/initializr-generator-test/pom.xml b/initializr-generator-test/pom.xml index 2a7dd87b..3fbef0e7 100644 --- a/initializr-generator-test/pom.xml +++ b/initializr-generator-test/pom.xml @@ -30,12 +30,6 @@ assertj-core - - com.samskivert - jmustache - true - - org.springframework spring-test diff --git a/initializr-generator-test/src/main/java/io/spring/initializr/generator/test/project/ProjectGeneratorTester.java b/initializr-generator-test/src/main/java/io/spring/initializr/generator/test/project/ProjectGeneratorTester.java index 9eb6cfab..16cb729f 100644 --- a/initializr-generator-test/src/main/java/io/spring/initializr/generator/test/project/ProjectGeneratorTester.java +++ b/initializr-generator-test/src/main/java/io/spring/initializr/generator/test/project/ProjectGeneratorTester.java @@ -24,7 +24,6 @@ import java.util.function.Supplier; import io.spring.initializr.generator.io.IndentingWriterFactory; import io.spring.initializr.generator.io.SimpleIndentStrategy; -import io.spring.initializr.generator.io.template.MustacheTemplateRenderer; import io.spring.initializr.generator.project.DefaultProjectAssetGenerator; import io.spring.initializr.generator.project.MutableProjectDescription; import io.spring.initializr.generator.project.ProjectAssetGenerator; @@ -51,7 +50,6 @@ public class ProjectGeneratorTester extends AbstractProjectGenerationTester, Supplier> defaultBeans() { Map, Supplier> beans = new HashMap<>(); beans.put(IndentingWriterFactory.class, () -> IndentingWriterFactory.create(new SimpleIndentStrategy(" "))); - beans.put(MustacheTemplateRenderer.class, () -> new MustacheTemplateRenderer("classpath:/templates")); return beans; }