Skip to content

Commit de8d39c

Browse files
committed
Polish "Add support for YAML configuration file format"
See gh-1682
1 parent 20f0907 commit de8d39c

File tree

11 files changed

+34
-17
lines changed

11 files changed

+34
-17
lines changed

initializr-docs/src/main/asciidoc/configuration-guide.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ will have values. In the rest of this section, we will configure those basic set
286286
Most of the settings are configured via `application.properties` using the `initializr`
287287
namespace. Because the configuration is highly hierarchical, we recommend using the yaml
288288
format that is more readable for such structure. If you agree, go ahead and create an
289-
`application.yml` in `src/main/resources`.
289+
`application.yaml` in `src/main/resources`.
290290
====
291291

292292

initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/properties/ApplicationProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public void add(String key, String value) {
6969
add(key, (Object) value);
7070
}
7171

72-
void writeTo(PrintWriter writer) {
72+
void writeProperties(PrintWriter writer) {
7373
for (Map.Entry<String, Object> entry : this.properties.entrySet()) {
7474
writer.printf("%s=%s%n", entry.getKey(), entry.getValue());
7575
}

initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/properties/ApplicationPropertiesContributor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public void contribute(Path projectRoot) throws IOException {
5151
}
5252
try (PrintWriter writer = new PrintWriter(Files.newOutputStream(output, StandardOpenOption.APPEND), false,
5353
StandardCharsets.UTF_8)) {
54-
this.properties.writeTo(writer);
54+
this.properties.writeProperties(writer);
5555
}
5656
}
5757

initializr-generator-spring/src/main/java/io/spring/initializr/generator/spring/properties/ApplicationYamlPropertiesContributor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
import io.spring.initializr.generator.project.contributor.ProjectContributor;
2727

2828
/**
29-
* A {@link ProjectContributor} that contributes a {@code application.yml} file to a
29+
* A {@link ProjectContributor} that contributes a {@code application.yaml} file to a
3030
* project.
3131
*
3232
* @author Sijun Yang
3333
*/
3434
public class ApplicationYamlPropertiesContributor implements ProjectContributor {
3535

36-
private static final String FILE = "src/main/resources/application.yml";
36+
private static final String FILE = "src/main/resources/application.yaml";
3737

3838
private final ApplicationProperties properties;
3939

initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/ProjectGeneratorIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ void yaml() {
9494
"test/demo-app/mvnw", "test/demo-app/mvnw.cmd",
9595
"test/demo-app/.mvn/wrapper/maven-wrapper.properties",
9696
"test/demo-app/src/main/java/com/example/demo/DemoApplication.java",
97-
"test/demo-app/src/main/resources/application.yml",
97+
"test/demo-app/src/main/resources/application.yaml",
9898
"test/demo-app/src/test/java/com/example/demo/DemoApplicationTests.java", "test/demo-app/HELP.md");
9999
}
100100

initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/properties/ApplicationPropertiesComplianceTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class ApplicationPropertiesComplianceTests extends AbstractComplianceTests {
4949
static Stream<Arguments> parameters() {
5050
return Stream.of(
5151
Arguments.arguments(ConfigurationFileFormat.forId(PropertiesFormat.ID), "application.properties"),
52-
Arguments.arguments(ConfigurationFileFormat.forId(YamlFormat.ID), "application.yml"));
52+
Arguments.arguments(ConfigurationFileFormat.forId(YamlFormat.ID), "application.yaml"));
5353
}
5454

5555
@ParameterizedTest

initializr-generator-spring/src/test/java/io/spring/initializr/generator/spring/properties/ApplicationPropertiesTests.java

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,31 +35,31 @@ class ApplicationPropertiesTests {
3535
void stringProperty() {
3636
ApplicationProperties properties = new ApplicationProperties();
3737
properties.add("test", "string");
38-
String written = write(properties);
38+
String written = writeProperties(properties);
3939
assertThat(written).isEqualToIgnoringNewLines("test=string");
4040
}
4141

4242
@Test
4343
void longProperty() {
4444
ApplicationProperties properties = new ApplicationProperties();
4545
properties.add("test", 1);
46-
String written = write(properties);
46+
String written = writeProperties(properties);
4747
assertThat(written).isEqualToIgnoringNewLines("test=1");
4848
}
4949

5050
@Test
5151
void doubleProperty() {
5252
ApplicationProperties properties = new ApplicationProperties();
5353
properties.add("test", 0.1);
54-
String written = write(properties);
54+
String written = writeProperties(properties);
5555
assertThat(written).isEqualToIgnoringNewLines("test=0.1");
5656
}
5757

5858
@Test
5959
void booleanProperty() {
6060
ApplicationProperties properties = new ApplicationProperties();
6161
properties.add("test", false);
62-
String written = write(properties);
62+
String written = writeProperties(properties);
6363
assertThat(written).isEqualToIgnoringNewLines("test=false");
6464
}
6565

@@ -81,14 +81,24 @@ void writeYaml() {
8181
properties.add("app.config.debug", true);
8282
properties.add("db.connection.timeout", 30);
8383
String written = writeYaml(properties);
84-
assertThat(written).contains("name: testapp", "port: 8080", "app:\n config:\n debug: true\n version: 1.0",
85-
"db:\n host: localhost\n connection:\n timeout: 30");
84+
assertThat(written).isEqualToNormalizingNewlines("""
85+
app:
86+
config:
87+
debug: true
88+
version: 1.0
89+
port: 8080
90+
name: testapp
91+
db:
92+
host: localhost
93+
connection:
94+
timeout: 30
95+
""");
8696
}
8797

88-
private String write(ApplicationProperties properties) {
98+
private String writeProperties(ApplicationProperties properties) {
8999
StringWriter stringWriter = new StringWriter();
90100
try (PrintWriter writer = new PrintWriter(stringWriter)) {
91-
properties.writeTo(writer);
101+
properties.writeProperties(writer);
92102
}
93103
return stringWriter.toString();
94104
}

initializr-service-sample/README.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ On further request, you won't see this log entry as the content is cached.
5858
There are no expiration set, so the available versions won't change until you restart the service.
5959

6060
=== Basic Metadata
61-
The configuration in `application.yml` is very simple with a single `web` dependency that brings `spring-boot-starter-web`.
61+
The configuration in `application.yaml` is very simple with a single `web` dependency that brings `spring-boot-starter-web`.
6262
The default `groupId` for generated projects has been customized to `org.acme`.
6363

6464
You can experiment by adding more dependencies or other elements that drive how projects are generated.

initializr-service-sample/src/main/resources/application.yml renamed to initializr-service-sample/src/main/resources/application.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,10 @@ initializr:
5252
format: project
5353
default: false
5454
action: /starter.zip
55+
configuration-file-formats:
56+
- name: Properties
57+
id: properties
58+
default: true
59+
- name: YAML
60+
id: yaml
61+
default: false

0 commit comments

Comments
 (0)