Hi, over the past weeks I've worked to clean up the YAML DSL I've created for camel-k [1] which ended up in a complete rewrite [2].
The new implementation is in large part auto generated out of the camel model (with some minor manual adjustments), it does not use reflection, it is based on the SnakeYAML Engine [3] and it includes a much simpler generator for the JSON schema as all the information are attached to the generated code. The engine behind the DSL is pretty much stable and there are some tasks I'd still have to do but as they are pretty much internal and may require some change to the Camel model, I'd like to merge my work on Camel as soon as possible hence, I have some question about the process: - the engine leverages some new APIs from Java 11 (var is pretty useful for code generation), I don't remember what was our plan to move Camel to Java 11 so wonder if I need to migrate the code to Java 8 or if we'll move to Java 11 soon - the code generation is based on JavaPoet [4] and I have plans to migrate to the camel own tool but since it does not affect the correctness of the code, I think I could delay the migration to a later stage. - I could make the YAML DSL part of a new camel-snakeyaml component but for modularity, I wonder if we should introduce specific artifacts like camel-dsl-yaml, camel-dsl-xml-io, etc. Let me know, Luca [1] https://github.com/apache/camel-k-runtime/tree/master/camel-k-loader-yaml [2] https://github.com/lburgazzoli/camel-yaml-dsl [3] https://bitbucket.org/asomov/snakeyaml-engine/ [4] https://github.com/square/javapoet --- Luca Burgazzoli