Re: [HEADS UP] - Spring Boot Auto Configuration improved and now validated during build
This is awesome! Nice work! Thanks!
Apache Camel PMC Chair
Apache Karaf Committer
Apache Servicemix PMC Member
On Friday, July 20, 2018, 9:55:46 AM GMT+2, Claus Ibsen <claus.ibsen@xxxxxxxxx> wrote:
This week I have been working on the gaps in our spring boot auto
configuration documentation and the source code generation of those
for all the -starter JARs
This morning I got so far that my last commit enables validation
during build, if the -starter JAR has options without any
documentation (we need to document every option). By enabling this we
ensure that we get documentation included from the start.
All these options are now also included in the component adoc files
which you can view on github, but also when we have a nice new website
and documentation, you have all these options as well.
I also had to turn off generation of some options that was a bit too
wide and would generate options that you could actually not
use/configure at runtime.
In case you wonder what the difference is between all the existing
Camel options on eg endpoints and Spring Boot -starter JARs, then the
latter is the options that Spring Boot itself has detected and
supports during its auto configuration. So we slurp the Spring Boot
metadata json file, that Spring Boot has generated, and then parse it,
and validate that they all the documentation, and use that information
to generate the Camel documentation we then update in the
corresponding component .adoc file. This means its 100% the options
that Spring Boot can use.
An example can be camel-ahc
There are still room for improvement and also we can tweak how the
spring boot options are listed in the adoc file.
Anyway I just wanted to say the heads-up about the build system can
now fail if for some reason some options is not documented. You can
turn this off in the pom.xml file in the folder of all the -starter
JARs in its maven plugin (just look and you find it).
Camel in Action 2: https://www.manning.com/ibsen2