apache / camel-quarkus

Apache Camel Quarkus
https://camel.apache.org
Apache License 2.0
255 stars 189 forks source link

Figure out how to maintain Camel components that bring too old or too many non-convergent dependencies #1898

Open ppalaga opened 3 years ago

ppalaga commented 3 years ago

Here is the list of components where the issue occurs: https://github.com/apache/camel-quarkus/issues?q=is%3Aissue+%5Bdependency+hell%5D

I see two options:

A. Keep enforcing dependencyConvergence, but manage in the extension instead of our global BoM B. Stop enforcing dependencyConvergence for the given extensions

Both options have some potential to worsen the ability of the given extensions to combine flawlessly with the rest of the ecosystem. I think that's fine as long as it is documented.

Other ideas?

ppalaga commented 3 years ago

With Spark, we went with A. there is an extension's own BOM that needs to get imported before any other Quarkus and Camel Quarkus BOMs in user apps.

We discuss with the Quarkus team whether Quarkus project generator tooling could support extensions of this kind https://groups.google.com/forum/#!topic/quarkus-dev/1wRJONB0DjA

ppalaga commented 3 years ago

I spoke with @aloubyansky and here is how we are going to proceed:

ppalaga commented 3 years ago

Note to myself: there is https://registry.quarkus.io/ able to list all available extensions and in the future possibly also platforms.

maxandersen commented 3 years ago

from discussion on list both @aloubyansky and I both agreed separate platform would be a bad way to go - what has changed ?

aloubyansky commented 3 years ago

Right but at the same time I also wrote that this is the most appropriate way if you want to do it today.

ppalaga commented 3 years ago

Docs for creating platforms: https://github.com/quarkusio/quarkus/pull/13153

ppalaga commented 2 years ago

We gave up on Spark https://github.com/apache/camel-quarkus/issues/3466