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

Reply via email to