L.S.,

I definitely agree we should focus on the core assembly (Karaf +
CXF/Camel/ActiveMQ) first and the goal should to provide a release for
every working combination of new versions being released there.  As
long as we refrain from using SNAPSHOT versions for the other stuff
and keep the entire build working, there should not really be a
problem doing that, even with the current codebase.

I don't think aiming for a subproject with a separate lifecycle is the
right way to achieve this goal though, at least not at this moment.
After years of having worked with several subprojects at once here in
the ServiceMix project, I think it would be good, especially for a
smaller community like ours, to keep things simple and just have a
simple project to work on, to release, to vote, ...  I have done quite
a few ServiceMix 4 releases and I know I will definitely consider a
single-shot release build a real pleasure to work with.

This doesn't mean we have to keep the ServiceMix 5 contents the way it
is today.  The assemblies, examples and itests modules are critical in
my mind, but we can do what we want with everything else in there.
Once we agree on the approach to take, perhaps we should start another
thread to figure out which bits to keep and what to do with the
others.

If we decide to move things to another place, it might be enough to
work with the Karaf community to get those new locations added to the
feature:repo-add resolution mechanism so we can easily install them
anyway or use them for our demos (we can even provide the
convention-based solution using just a few extra entries to the
shell.init.script file, I think).  For the stuff we do keep around in
ServiceMix, it probably makes sense to get those added as well btw ;)


Regards,

Gert Vanthienen


On Sun, Feb 16, 2014 at 7:58 PM, Raul Kripalani <[email protected]> wrote:
> Hello guys,
>
> One of the things I'd like to discuss is our approach to modularise the
> additional capabilities that SMX5 provides on top of "the core" (Karaf +
> Camel + CXF + AMQ), e.g. Activiti integration, Akka integration, JMS
> logging appender, etc.
>
> I would like to shift these elements to a separate "modules" repository, in
> a manner analogous to the "bundles" repository of SMX [1]. In my opinion,
> they should not be part of the default SMX5 assembly, and they should have
> a separate lifecycle.
>
> SMX has 4 big direct dependencies: Karaf, Camel, CXF and AMQ. In the
> future, I would expect a new SMX release whenever one of these 4 projects
> release upstream (ideally!). This is definitely something we can control,
> especially because many members of the SMX community also belong to those
> upstream communities.
>
> Any other projects, e.g. Akka, Activiti, perhaps ElasticSearch / Kibana,
> DropWizard, vert.x, etc. anything we may want to add as a "capability" to
> SMX in the future, should have independent release cycles.
>
> Then I would provide a Karaf shell so that users can "pull" these
> capabilities straight from Maven Central:
>
>     karaf@root()> servicemix:module-list
>     (finds all the available modules and versions by querying Maven repos)
>
>     karaf@root()> servicemix:module-add akka 1.0.0
>     (adds version 1.0.0 of the Akka module)
>
> In reality, these commands would mainly call a bunch of commands from the
> "feature" shell behind the curtains. For example, the 2nd command would do
> the following:
>
>    * Add a feature repo
> mvn:org.apache.servicemix.modules/akka/1.0.0/xml/features
>    * Install a feature also called "akka" from this feature repo.
>
> Basically, modules would have a "contract" such that they'd need to provide
> a features repo each + a feature with the same name.
>
> In a nutshell:
>
>   * Let's make SMX leaner by focusing on "the big 4" components.
>   * Independent lifecycles for additional modules or capabilities.
>   * Upstream dependency upgrades can be controlled and updated locally in a
> more granular manner.
>   * Set of "servicemix" shell commands to add capabilities which are hosted
> and versioned separately from the core.
>
> What do you think?
>
> Regards,
>
> [1] https://github.com/apache/servicemix4-bundles
>
> *Raúl Kripalani*
> Apache Camel PMC Member & Committer | Enterprise Architect, Open Source
> Integration specialist
> http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
> http://blog.raulkr.net | twitter: @raulvk

Reply via email to