Browse Source

Allow runtime compatibility with SnakeYaml 2.0

This commit ensures that SnakeYaml 2.0 is compatible at runtime with
Spring Framework 5.3.x with the `YamlProcessor` support.
The baseline version for SnakeYaml remains the same.

Closes gh-30097
pull/30262/head
Brian Clozel 3 years ago
parent
commit
d00fd4c502
  1. 2
      build.gradle
  2. 5
      spring-beans/src/main/java/org/springframework/beans/factory/config/YamlProcessor.java

2
build.gradle

@ -92,7 +92,7 @@ configure(allprojects) { project -> @@ -92,7 +92,7 @@ configure(allprojects) { project ->
entry 'jibx-run'
}
dependency "org.ogce:xpp3:1.1.6"
dependency "org.yaml:snakeyaml:1.30"
dependency "org.yaml:snakeyaml:1.33"
dependency "com.h2database:h2:2.1.214"
dependency "com.github.ben-manes.caffeine:caffeine:2.9.3"

5
spring-beans/src/main/java/org/springframework/beans/factory/config/YamlProcessor.java

@ -184,8 +184,9 @@ public abstract class YamlProcessor { @@ -184,8 +184,9 @@ public abstract class YamlProcessor {
protected Yaml createYaml() {
LoaderOptions loaderOptions = new LoaderOptions();
loaderOptions.setAllowDuplicateKeys(false);
return new Yaml(new FilteringConstructor(loaderOptions), new Representer(),
new DumperOptions(), loaderOptions);
DumperOptions dumperOptions = new DumperOptions();
return new Yaml(new FilteringConstructor(loaderOptions), new Representer(dumperOptions),
dumperOptions, loaderOptions);
}
private boolean process(MatchCallback callback, Yaml yaml, Resource resource) {

Loading…
Cancel
Save