camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Siano, Stephan" <stephan.si...@sap.com>
Subject RE: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs camel-core-all
Date Tue, 05 Mar 2019 14:52:56 GMT
Hi Claus,

IMO option 2 is going to hurt. On the other hands a major version change is the time to make
changes like that, so my feeling is that option 3 will just extend the pain.

What would the dependency graph between the core modules (including unit tests) look like
for option 2? The last time I looked (but that was before milestone 1) most of the unit tests
for the components which were moved out of camel-core were still in camel-core. On the other
hands many tests for core features rely on components like camel-direct. If it is possible
to refactor the modules including the tests into a reasonable graph I think option 2 is the
best solution, but if this is not manageable, I would prefer option 1 to an odd dependency
graph between the core modules.

This is of course just my personal opinion...

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen <claus.ibsen@gmail.com> 
Sent: Dienstag, 5. März 2019 09:49
To: users@camel.apache.org
Subject: [FEEDBACK] - Apache Camel 3 - camel-core vs camel-core-lite vs camel-core-all

Hi

As you may know Apache Camel 3 development is underway, and part of
the work is to modularize camel-core into smaller modules, where the
major work has been done for the M1 release. This means that 95% of
the core components from camel-core has been moved out, eg camel-log,
camel-seda, camel-direct etc.

Now we want to have a camel-core dependency that are tiny and would
like feedback on different styles

1)
Keep camel-core dependency as in Camel 2.x which has dependency on all
the core components (known as camel-core-all) AND introduce a new
camel-core-lite that has minimal dependencies so you can pick and
choose only the dependencies you need.

2)
Keep camel-core as a lite dependency and introduce a new
camel-core-all that has all the core components and is similar to
camel 2.x. This means that users would need to migrate from using
camel-core => camel-core-all OR add only the extra core components
they use, eg camel-direct, camel-seda, etc.

3)
Do #1 and move towards #2 in the future.

We can add a new camel-core-all dependency that has all the core
components etc, and then let camel-core depend on this dependency. And
then we can also add the camel-core-lite module as well. Then if we
one day switch camel-core from the ALL to the LITE style, we can do
that out of the box, for example for Camel 4 ;)

Note: One issue with the name camel-core-all is that it smells like it
has all the core modules, but it will not include camel-core-osgi or
camel-core-xml as they are only needed when you add camel-spring or
camel-blueprint (for XML and/or OSGi support).

Well just thinking out loud a bit, here in the morning after a couple
of cup of coffees.

Any thoughts and feedback is much welcome.


-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2
Mime
View raw message