circe-yaml
circe-yaml copied to clipboard
use snakeyaml-engine, which only handles yaml 1.2
closes https://github.com/circe/circe-yaml/pull/300 closes https://github.com/circe/circe-yaml/pull/301 closes https://github.com/circe/circe-yaml/pull/302
/cc @oyvindberg
Note that i made that commit two minutes after I got it to compile. I gave also never used circe-yaml or snakeyaml before. As such I'd expect it will take some work to finish it. Tests are not green.
Also this seems to be breaking public api, and a breaking change to yaml format. This should at the minimum get a new major version, perhaps it should be a separate artifact, or even a separate library.
Maybe we could find a way to do this that does not break the public API.
The circe-yaml
library would then still be not well configurable, but maybe it's better to have API continuity than configurability :+1:
I'd say the opposite, let's make it very obvious and clear. This update can and will interpret arbitrary yaml differently
Also the new snakeyaml library is very configurable with config objects. Let's rather use those, so for instance the printer can become much simpler.
The only thing we really need to provide is a Node <-> JSON bijection and some syntax
Related issue on BitBucket: snakeyaml-engine Cannot parse integers encoded in hexadecimal https://bitbucket.org/snakeyaml/snakeyaml-engine/issues/38/cannot-parse-integers-encoded-in
Codecov Report
Base: 87.30% // Head: 87.35% // Increases project coverage by +0.05%
:tada:
Coverage data is based on head (
cbfd4b0
) compared to base (9df6d5c
). Patch coverage: 90.83% of modified lines in pull request are covered.
Additional details and impacted files
@@ Coverage Diff @@
## master #303 +/- ##
==========================================
+ Coverage 87.30% 87.35% +0.05%
==========================================
Files 5 14 +9
Lines 126 253 +127
Branches 9 13 +4
==========================================
+ Hits 110 221 +111
- Misses 16 32 +16
Impacted Files | Coverage Δ | |
---|---|---|
...rce-yaml/src/main/scala/io/circe/yaml/Parser.scala | 89.09% <ø> (ø) |
|
.../src/main/scala/io/circe/yaml/parser/package.scala | 35.71% <ø> (ø) |
|
.../src/main/scala/io/circe/yaml/syntax/package.scala | 100.00% <ø> (ø) |
|
.../main/scala/io/circe/yaml/v12/parser/package.scala | 50.00% <50.00%> (ø) |
|
.../src/main/scala/io/circe/yaml/v12/ParserImpl.scala | 84.74% <84.74%> (ø) |
|
...-v12/src/main/scala/io/circe/yaml/v12/Parser.scala | 100.00% <100.00%> (ø) |
|
...v12/src/main/scala/io/circe/yaml/v12/Printer.scala | 100.00% <100.00%> (ø) |
|
...src/main/scala/io/circe/yaml/v12/PrinterImpl.scala | 100.00% <100.00%> (ø) |
|
...v12/src/main/scala/io/circe/yaml/v12/package.scala | 100.00% <100.00%> (ø) |
|
...main/scala/io/circe/yaml/v12/printer/package.scala | 100.00% <100.00%> (ø) |
|
... and 6 more |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
Hi @jeffmay , would you like to merge this yourself of can I do it? Just make sure, are you aware that this is a breaking change for the library, right?
I wasn't able to implement all the suggestions from the comments, so I've at least explained the reason in the comments.
Otherwise this is ready to be merged @jeffmay
I'll rework this into 2 separate modules, one for 1.1, the other for 1.2.
@jeffmay This is ready. Can you please merge this and release an RC version (0.14.2-RC1
)? (I think all this should be 100 % backwards compatible.)
I'll go ahead and merge this before any more merge conflicts appear. We can keep polishing this after it is in master