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

Reply via email to