File polyglot-snakeyaml-2.2.patch of Package tesla-polyglot.34129

--- polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/main/java/org/sonatype/maven/polyglot/yaml/ModelConstructor.java	2024-04-22 05:45:18.127841878 +0200
+++ polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/main/java/org/sonatype/maven/polyglot/yaml/ModelConstructor.java	2024-04-22 05:45:37.617878164 +0200
@@ -9,6 +9,7 @@
 
 import org.apache.maven.model.*;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.yaml.snakeyaml.LoaderOptions;
 import org.yaml.snakeyaml.TypeDescription;
 import org.yaml.snakeyaml.constructor.Construct;
 import org.yaml.snakeyaml.constructor.Constructor;
@@ -39,8 +40,8 @@
    */
   private final Map<Class<?>, Construct> pomConstructors = new HashMap<>();
 
-  public ModelConstructor() {
-    super(Model.class);
+  public ModelConstructor(LoaderOptions loadingConfig) {
+    super(Model.class, loadingConfig);
 
     yamlConstructors.put(XPP3DOM_TAG, new ConstructXpp3Dom());
     yamlClassConstructors.put(NodeId.mapping, new MavenObjectConstruct());
--- polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/main/java/org/sonatype/maven/polyglot/yaml/ModelRepresenter.java	2024-04-22 05:45:18.127841878 +0200
+++ polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/main/java/org/sonatype/maven/polyglot/yaml/ModelRepresenter.java	2024-04-22 05:47:28.544723549 +0200
@@ -14,6 +14,7 @@
 import org.apache.maven.model.Plugin;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.yaml.snakeyaml.error.YAMLException;
+import org.yaml.snakeyaml.DumperOptions;
 import org.yaml.snakeyaml.introspector.Property;
 import org.yaml.snakeyaml.nodes.Node;
 import org.yaml.snakeyaml.nodes.NodeTuple;
@@ -34,7 +35,8 @@
  * @since 0.7
  */
 class ModelRepresenter extends Representer {
-  public ModelRepresenter() {
+  public ModelRepresenter(DumperOptions options) {
+    super(options);
     this.representers.put(Xpp3Dom.class, new RepresentXpp3Dom());
     Represent stringRepresenter = this.representers.get(String.class);
     this.representers.put(Boolean.class, stringRepresenter);
@@ -96,7 +98,7 @@
     private static final String ATTRIBUTE_PREFIX = "attr/";
 
     public Node representData(Object data) {
-      return representMapping(Tag.MAP, toMap((Xpp3Dom) data), null);
+      return representMapping(Tag.MAP, toMap((Xpp3Dom) data), DumperOptions.FlowStyle.AUTO);
     }
 
     private Map<String, Object> toMap(Xpp3Dom node) {
--- polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/main/java/org/sonatype/maven/polyglot/yaml/YamlModelReader.java	2024-04-22 05:45:18.127841878 +0200
+++ polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/main/java/org/sonatype/maven/polyglot/yaml/YamlModelReader.java	2024-04-22 05:45:37.617878164 +0200
@@ -13,6 +13,7 @@
 import org.codehaus.plexus.component.annotations.Component;
 import org.sonatype.maven.polyglot.io.ModelReaderSupport;
 import org.yaml.snakeyaml.DumperOptions;
+import org.yaml.snakeyaml.LoaderOptions;
 import org.yaml.snakeyaml.Yaml;
 import org.yaml.snakeyaml.representer.Representer;
 
@@ -33,8 +34,9 @@
   private final Yaml yaml;
 
   public YamlModelReader() {
-    ModelConstructor constructor = new ModelConstructor();
-    yaml = new Yaml(constructor, new Representer(), new DumperOptions(), new ModelResolver());
+    ModelConstructor constructor = new ModelConstructor(new LoaderOptions());
+    DumperOptions options =  new DumperOptions();
+    yaml = new Yaml(constructor, new Representer(options), options, new ModelResolver());
   }
 
   public Model read(Reader input, Map<String, ?> options) throws IOException, ModelParseException {
--- polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/main/java/org/sonatype/maven/polyglot/yaml/YamlModelWriter.java	2024-04-22 05:45:18.127841878 +0200
+++ polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/main/java/org/sonatype/maven/polyglot/yaml/YamlModelWriter.java	2024-04-22 05:45:37.617878164 +0200
@@ -33,12 +33,12 @@
 @Component(role = ModelWriter.class, hint = "yaml")
 public class YamlModelWriter extends ModelWriterSupport {
   public void write(Writer output, Map<String, Object> o, Model model) throws IOException {
-    //TODO improve SnakeYAML API (A. Somov)
     DumperOptions dumperOptions = new DumperOptions();
     dumperOptions.setIndent(2);
     dumperOptions.setWidth(80);
+    dumperOptions.setDefaultScalarStyle(DumperOptions.ScalarStyle.PLAIN);
     Serializer serializer = new Serializer(new Emitter(output, dumperOptions), new ModelResolver(), dumperOptions, Tag.MAP);
-    Representer representer = new ModelRepresenter();
+    Representer representer = new ModelRepresenter(dumperOptions);
     try {
       serializer.open();
       Node node = representer.represent(model);
--- polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/test/java/org/sonatype/maven/polyglot/yaml/CompactFormatTest.java	2024-04-22 05:45:18.127841878 +0200
+++ polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/test/java/org/sonatype/maven/polyglot/yaml/CompactFormatTest.java	2024-04-22 05:45:37.617878164 +0200
@@ -98,11 +98,13 @@
 
   @Test
   public void testColonInFlowContext() throws Exception {
+    // support for colon in the flow context is improved
+    // in SnakeYAML 2.0
     try {
       getModel("dependencies-colon-issue.yaml");
-      throw new UnsupportedOperationException("Colon in flow context should not be accepted.");
     } catch (Exception e) {
-      assertTrue(e.getMessage().contains("http://pyyaml.org/wiki/YAMLColonInFlowContext"));
+      String message = e.getMessage();
+      assertTrue(message, message.contains("Unable to find property 'groupId:log4j' on class: org.apache.maven.model.Exclusion"));
     }
   }
 
--- polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/test/java/org/sonatype/maven/polyglot/yaml/ModelRepresenterTest.java	2024-04-22 05:45:18.127841878 +0200
+++ polyglot-maven-polyglot-0.4.5/polyglot-yaml/src/test/java/org/sonatype/maven/polyglot/yaml/ModelRepresenterTest.java	2024-04-22 05:45:37.617878164 +0200
@@ -22,7 +22,7 @@
 
 	@Before
 	public void setUp() throws Exception {
-		modelRepresenter = new ModelRepresenter();
+		modelRepresenter = new ModelRepresenter(new DumperOptions());
 	}
 
 	@Test
openSUSE Build Service is sponsored by