-
Notifications
You must be signed in to change notification settings - Fork 323
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Eliminate circe-yaml dependency (#10326)
* Eliminating circe-yaml This change adds our very-own YAML parser on top of SnakeYAML. Compared to Circe parser on top of SnakeYAML. The advantage? In some not-so-distant future we might actually get rid of circe and the related performance issues. The logic is similar to what circe does i.e. analyzing SnakeYAML to build our own structure. This change is not complete, as there are still some tests failing, but most common Configs are already parseable. We _could_ auto-generate some of the code but still some of the logic would have to be tweaked by hand; the current logic has a number of special cases, as I found out the hard way. * wip: more tests passing * Fix remaining tests in ConfigSpec * Fixing YAML decoder for editions Dropping circe as a decoder for Editions revealed some problems. Turns out the current implementation had even more special cases to deal with. * nit * Allow for empty exports * Mostly complete encodin part Replaced almost all `toYAML` locations with SnakeYAML equivalent. The encoding has to use Java collections for which there exists a built-in support. If we were to use Scala collections we would have to deal with tagging, at the very least. * Remove the last remaining Circe's YAML parser * Bug fix + further loop optimization * removal of some dependencies * Remove circe-yaml Added a custom SnakeYAML Node updater to mimick the JSON -> YAML -> JSON conversion needed for updating fields. The algorithm recursively follows the key-path and inserts the desired Node. This is not a performance oriented code on purpose. * Fix compilation issues `circe-core` was marked as `provided` but no one eventually included it in the final jar, hence `NoClassFoundException`. * fix licensing * Removing obsolete circe definitions * fmt * nits * s/SnakeYamlDecoder/YamlDecoder * fmt * Partial revert, PM needs JSON decoders/encoders * style * incremental compilation gone wrong
- Loading branch information
Showing
56 changed files
with
1,979 additions
and
851 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 0 additions & 15 deletions
15
distribution/engine/THIRD-PARTY/io.circe.circe-yaml-common_2.13-0.15.1/NOTICES
This file was deleted.
Oops, something went wrong.
15 changes: 0 additions & 15 deletions
15
distribution/engine/THIRD-PARTY/io.circe.circe-yaml_2.13-0.15.1/NOTICES
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 0 additions & 15 deletions
15
distribution/launcher/THIRD-PARTY/io.circe.circe-yaml-common_2.13-0.15.1/NOTICES
This file was deleted.
Oops, something went wrong.
15 changes: 0 additions & 15 deletions
15
distribution/launcher/THIRD-PARTY/io.circe.circe-yaml_2.13-0.15.1/NOTICES
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 0 additions & 15 deletions
15
distribution/project-manager/THIRD-PARTY/io.circe.circe-yaml-common_2.13-0.15.1/NOTICES
This file was deleted.
Oops, something went wrong.
15 changes: 0 additions & 15 deletions
15
distribution/project-manager/THIRD-PARTY/io.circe.circe-yaml_2.13-0.15.1/NOTICES
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.