diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfiguration.java index af9841a9bb..c366224c64 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/groovy/GroovyProjectGenerationConfiguration.java @@ -50,31 +50,32 @@ public class GroovyProjectGenerationConfiguration { private final ProjectDescription description; - private final IndentingWriterFactory indentingWriterFactory; - - public GroovyProjectGenerationConfiguration(ProjectDescription description, - IndentingWriterFactory indentingWriterFactory) { + public GroovyProjectGenerationConfiguration(ProjectDescription description) { this.description = description; - this.indentingWriterFactory = indentingWriterFactory; } @Bean - public MainSourceCodeProjectContributor mainGroovySourceCodeProjectContributor( + GroovySourceCodeWriter groovySourceCodeWriter(IndentingWriterFactory indentingWriterFactory) { + return new GroovySourceCodeWriter(indentingWriterFactory); + } + + @Bean + MainSourceCodeProjectContributor mainGroovySourceCodeProjectContributor( ObjectProvider> mainApplicationTypeCustomizers, ObjectProvider> mainCompilationUnitCustomizers, - ObjectProvider> mainSourceCodeCustomizers) { - return new MainSourceCodeProjectContributor<>(this.description, GroovySourceCode::new, - new GroovySourceCodeWriter(this.indentingWriterFactory), mainApplicationTypeCustomizers, - mainCompilationUnitCustomizers, mainSourceCodeCustomizers); + ObjectProvider> mainSourceCodeCustomizers, + GroovySourceCodeWriter groovySourceCodeWriter) { + return new MainSourceCodeProjectContributor<>(this.description, GroovySourceCode::new, groovySourceCodeWriter, + mainApplicationTypeCustomizers, mainCompilationUnitCustomizers, mainSourceCodeCustomizers); } @Bean - public TestSourceCodeProjectContributor testGroovySourceCodeProjectContributor( + TestSourceCodeProjectContributor testGroovySourceCodeProjectContributor( ObjectProvider> testApplicationTypeCustomizers, - ObjectProvider> testSourceCodeCustomizers) { - return new TestSourceCodeProjectContributor<>(this.description, GroovySourceCode::new, - new GroovySourceCodeWriter(this.indentingWriterFactory), testApplicationTypeCustomizers, - testSourceCodeCustomizers); + ObjectProvider> testSourceCodeCustomizers, + GroovySourceCodeWriter groovySourceCodeWriter) { + return new TestSourceCodeProjectContributor<>(this.description, GroovySourceCode::new, groovySourceCodeWriter, + testApplicationTypeCustomizers, testSourceCodeCustomizers); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfiguration.java index 65e6c973d2..abaf3b1624 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/java/JavaProjectGenerationConfiguration.java @@ -50,31 +50,32 @@ public class JavaProjectGenerationConfiguration { private final ProjectDescription description; - private final IndentingWriterFactory indentingWriterFactory; - - public JavaProjectGenerationConfiguration(ProjectDescription description, - IndentingWriterFactory indentingWriterFactory) { + public JavaProjectGenerationConfiguration(ProjectDescription description) { this.description = description; - this.indentingWriterFactory = indentingWriterFactory; } @Bean - public MainSourceCodeProjectContributor mainJavaSourceCodeProjectContributor( + JavaSourceCodeWriter javaSourceCodeWriter(IndentingWriterFactory indentingWriterFactory) { + return new JavaSourceCodeWriter(indentingWriterFactory); + } + + @Bean + MainSourceCodeProjectContributor mainJavaSourceCodeProjectContributor( ObjectProvider> mainApplicationTypeCustomizers, ObjectProvider> mainCompilationUnitCustomizers, - ObjectProvider> mainSourceCodeCustomizers) { - return new MainSourceCodeProjectContributor<>(this.description, JavaSourceCode::new, - new JavaSourceCodeWriter(this.indentingWriterFactory), mainApplicationTypeCustomizers, - mainCompilationUnitCustomizers, mainSourceCodeCustomizers); + ObjectProvider> mainSourceCodeCustomizers, + JavaSourceCodeWriter javaSourceCodeWriter) { + return new MainSourceCodeProjectContributor<>(this.description, JavaSourceCode::new, javaSourceCodeWriter, + mainApplicationTypeCustomizers, mainCompilationUnitCustomizers, mainSourceCodeCustomizers); } @Bean - public TestSourceCodeProjectContributor testJavaSourceCodeProjectContributor( + TestSourceCodeProjectContributor testJavaSourceCodeProjectContributor( ObjectProvider> testApplicationTypeCustomizers, - ObjectProvider> testSourceCodeCustomizers) { - return new TestSourceCodeProjectContributor<>(this.description, JavaSourceCode::new, - new JavaSourceCodeWriter(this.indentingWriterFactory), testApplicationTypeCustomizers, - testSourceCodeCustomizers); + ObjectProvider> testSourceCodeCustomizers, + JavaSourceCodeWriter javaSourceCodeWriter) { + return new TestSourceCodeProjectContributor<>(this.description, JavaSourceCode::new, javaSourceCodeWriter, + testApplicationTypeCustomizers, testSourceCodeCustomizers); } } diff --git a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfiguration.java b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfiguration.java index fe9f19c804..a19ac639b0 100644 --- a/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfiguration.java +++ b/initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/code/kotlin/KotlinProjectGenerationConfiguration.java @@ -57,30 +57,31 @@ public class KotlinProjectGenerationConfiguration { private final ProjectDescription description; - private final IndentingWriterFactory indentingWriterFactory; - - public KotlinProjectGenerationConfiguration(ProjectDescription description, - IndentingWriterFactory indentingWriterFactory) { + public KotlinProjectGenerationConfiguration(ProjectDescription description) { this.description = description; - this.indentingWriterFactory = indentingWriterFactory; } @Bean - public MainSourceCodeProjectContributor mainKotlinSourceCodeProjectContributor( + KotlinSourceCodeWriter kotlinSourceCodeWriter(IndentingWriterFactory indentingWriterFactory) { + return new KotlinSourceCodeWriter(this.description.getLanguage(), indentingWriterFactory); + } + + @Bean + MainSourceCodeProjectContributor mainKotlinSourceCodeProjectContributor( ObjectProvider> mainApplicationTypeCustomizers, ObjectProvider> mainCompilationUnitCustomizers, - ObjectProvider> mainSourceCodeCustomizers) { - return new MainSourceCodeProjectContributor<>(this.description, KotlinSourceCode::new, - new KotlinSourceCodeWriter(this.description.getLanguage(), this.indentingWriterFactory), + ObjectProvider> mainSourceCodeCustomizers, + KotlinSourceCodeWriter kotlinSourceCodeWriter) { + return new MainSourceCodeProjectContributor<>(this.description, KotlinSourceCode::new, kotlinSourceCodeWriter, mainApplicationTypeCustomizers, mainCompilationUnitCustomizers, mainSourceCodeCustomizers); } @Bean - public TestSourceCodeProjectContributor testKotlinSourceCodeProjectContributor( + TestSourceCodeProjectContributor testKotlinSourceCodeProjectContributor( ObjectProvider> testApplicationTypeCustomizers, - ObjectProvider> testSourceCodeCustomizers) { - return new TestSourceCodeProjectContributor<>(this.description, KotlinSourceCode::new, - new KotlinSourceCodeWriter(this.description.getLanguage(), this.indentingWriterFactory), + ObjectProvider> testSourceCodeCustomizers, + KotlinSourceCodeWriter kotlinSourceCodeWriter) { + return new TestSourceCodeProjectContributor<>(this.description, KotlinSourceCode::new, kotlinSourceCodeWriter, testApplicationTypeCustomizers, testSourceCodeCustomizers); }