Hi devs, I've been working on the boot2 branch with Claus last week in order to investigate how to support spring-boot 1 & 2 in the same Camel version. We will decide later (2.21) if we want to support both versions together or just make Camel 2.20 to support spring-boot 1.5.x and Camel 2.21 for spring-boot 2.x only.
Btw, after doing some tests with both versions, I noticed that the alignment issues that we had with spring-boot 1.4.x and Camel are disappearing in later versions of spring-boot, mainly because the holes in org.springframework.boot:spring-boot-dependencies have been progressively filled up. I'm trying to include some other minor fixes in that pom for spring-boot 2... This practically means (and some people already know) that it's not always mandatory to include "camel-spring-boot-dependencies" into the dependency management section of every end-user application. Plain Camel starters can be just added to a normal spring-boot application. If this was not the case, we would need a camel-spring-boot-dependencies2 pom to align dependencies in the boot2 branch... Given that, I've created under "/bom" a org.apache.camel:camel-bom artifact. This is not related to spring-boot, it's supposed to be just a list of Camel artifacts published into maven central (at least, the ones useful for the end user). It's literally a BOM (Bill Of Material) that we provide. It's different from camel-parent because it contains only Camel modules and not third-party modules, so it can be included in a end-user application or also into another library without creating conflicts with other BOMs w.r.t. transitive dependencies. It is generated and maintained automatically by filtering out what's "not-our-stuff" from camel-parent. We have been asked to provide a Camel BOM like that for start.spring.io few months ago, but I definitely think it's something that can be useful in other contexts in the future, other than spring-boot. Thoughts? Nicola
