Antonin/Claus -

I’ve used the bnd-maven-plugin, and it dramatically reduced the amount of 
configuration I had to do for my bundles.  I hit a bug in maven-bundle-plugin 
(https://issues.apache.org/jira/browse/FELIX-5179) and moving to the 
bnd-maven-plugin allowed me to what I needed to do.  I even provided a patch 
for the maven-bundle-plugin, but it has yet to be applied.

I haven’t explored the intricacies of the Camel build as far as bundle 
manifests are concerned, but I think it would be worthwhile to try the 
bnd-maven-plugin.


> On Mar 24, 2016, at 2:28 AM, Antonin Stefanutti <anto...@stefanutti.fr> wrote:
> 
> Hi Claus,
> 
> Just in case for info, there is apparently a new BND Maven plugin [1] that is 
> supposed to alleviate some of the issues encountered with maven-bundle-plugin.
> 
> I haven’t tried it (nor am knowledgeable in the area) but that may be good to 
> know at some point for that piece of work.
> 
> [1]: http://njbartlett.name/2015/03/27/announcing-bnd-maven-plugin.html
> 
> Antonin
> 
>> On 24 Mar 2016, at 07:44, Claus Ibsen <claus.ib...@gmail.com> wrote:
>> 
>> Hi
>> 
>> m)
>> Upgrade OSGi
>> 
>> We are using osgi 4.3.1 version which whatever OSGi version that is.
>> But there is a OSGi 5.0 that newer Karaf containers uses.
>> 
>> But the big pain is upgrading maven-bundle-plugin. We are currently
>> using an old 2.3.7. But the newer versions have their new sets of
>> problems / fixes.
>> 
>> i have struggled with newer versions generating missing details in the
>> manifest.mf files. For example camel-core did not export all its
>> packages etc. A bit scary. But we do have a fair bit of maven
>> properties and other osgi "magic" to make the build process build OSGi
>> modules across all the 250 or so artifacts.
>> 
>> I pushed to a branch called osgi-trouble where you can see some of this 
>> problems
>> https://github.com/apache/camel/commits/osgi-trouble
>> 
>> Using the latest 3.0.1 bundle plugin fails to build camel-core. It
>> complains something about the osgi activator.
>> 
>> 
>> 
>> 
>> On Wed, Mar 23, 2016 at 11:07 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>> Hi
>>> 
>>> So Camel 2.17 was the last release supporting Java 1.7.
>>> The next Camel 2.18 is requiring Java 1.8.
>>> 
>>> Here is some thoughts of mine about this release up for discussion.
>>> 
>>> 
>>> 
>>> a)
>>> I see the overall goal of Camel 2.18 as a stepping stone towards Java
>>> 1.8 and Camel 3.0.
>>> 
>>> By that I mean the release should be a way of moving our existing
>>> users from Java 1.7 and the current Camel APIs and the likes gradually
>>> towards Java 1.8 and eventually Camel 3.0.
>>> 
>>> In other words we should not get carried away to change/break APIs and
>>> whatnot just because Java 1.8 lambdas and functions.
>>> 
>>> There are too many current users that rely on the current Camel API
>>> and we cannot go around change processor / expression / predicate /
>>> aggregation strategy and other interfaces to be java 8 functional if
>>> that means current code cannot compile. And certainly not adding
>>> Optional<X> as return types all over.
>>> 
>>> The following releases (Camel 2.19 or 3.0) can pick up that torch and
>>> be more Java 1.8 aggressive. For example Camel 3.0 can expect API
>>> changes that are Java 8 lambda / functional based. And as well changes
>>> in the DSL to go with that.
>>> 
>>> There are some minor code changes needed to make the source compile as
>>> source 1.8 to go in this Camel 2.18 let alone.
>>> 
>>> 
>>> b)
>>> Drop components that do not support and run on Java 1.8
>>> And potentially remove some deprecated components
>>> 
>>> 
>>> c)
>>> Drop karaf 2.x.
>>> And move to karaf 4.x for all our testing.
>>> 
>>> 
>>> d)
>>> Drop Jetty 8.x.
>>> 
>>> This also requires to upgrade at least two components that currently
>>> rely on Jetty 8 to use Jetty 9.
>>> 
>>> 
>>> e)
>>> Upgrade to latest Jetty 9.
>>> Jetty 9.3 (or is it 9.4) requires Java 1.8
>>> 
>>> 
>>> f)
>>> Drop support for older versions of Spring. We have a number of
>>> camel-test-spring3 etc modules that can be dropped. And maybe even
>>> spring 4.0. as its also EOL.
>>> 
>>> 
>>> g)
>>> Potentially move spring-dm out of camel-spring into a camel-spring-dm
>>> module. So camel-spring can use latest version of Spring safely. This
>>> also makes it easier to deprecated spring-dm and remove it eventually.
>>> The Karaf team is working on a sping -> blueprint layer so you can use
>>> spring xml files but Karaf will "convert" that under the hood to
>>> blueprint and run it as blueprint. When that is ready we no longer
>>> need spring-dm.
>>> 
>>> 
>>> h)
>>> Continue adding components docs in the source, eg src/main/doc files.
>>> So we eventually have as many/all of them. This is an ongoing effort,
>>> as we need to do this for the EIPs and the other parts of the docs.
>>> 
>>> However I see this as a great step for a new documentation and
>>> website, that IMHO is a big goal for Camel 3.0. To make the project
>>> website fresh and modern. And make the documentation easier for end
>>> users to use and view.
>>> 
>>> 
>>> i)
>>> Add camel-hysterix component and integrate camel's circuit breaker
>>> into turbine/hysterix so you can see metrics from camel in the
>>> dashboard. Eg to integrate with the popular Netflix OSS stack.
>>> 
>>> 
>>> j)
>>> Split camel-cxf into modules so we can separate WS and RS and also
>>> spring vs blueprint. Today its big ball of dependencies that is a bit
>>> hard to slice and dice. Specially for MSA style with REST and you dont
>>> want to add in a bunch of extra not needed JARs.
>>> 
>>> 
>>> k)
>>> Continue as usual by adding new components, data formats, fix bugs, and so 
>>> on.
>>> 
>>> 
>>> l)
>>> Timeline. This release do not need to have 6-8 months timeframe. We
>>> could try to get this "stepping stone" release done sooner, so it can
>>> be released during/shortly after summer.
>>> 
>>> There is plenty of "first work" that we must do with the java 8
>>> upgrade and dropping older techs etc, that we have our hands full for
>>> a while.
>>> 
>>> Doing a release with these changes allows our end users to migrate
>>> along in a easy way, than a big bang - breaking apis - release would
>>> do. And the latter would be more appropriate to be released as Camel
>>> 3.0.
>>> 
>>> Then towards the end of this year, we can see where we are and plan
>>> for a Camel 3.0 with a new website and documentation that such a
>>> release deserve. For example if we release Camel 3.0 in start of 2017
>>> then its also Camel's 10 year birthday year.
>>> 
>>> And doing such a release with a rewamped website with fresh looking
>>> documentation and content, is what helps the project a lot.
>>> 
>>> The current website looks the same as it did when it was created:
>>> https://web.archive.org/web/20070701184530/http://activemq.apache.org/camel/
>>> 
>>> PS: We surely also need a better "what is Camel" story on the front
>>> page. Its still that very first one with all the tech jumble that was
>>> initially created.
>>> 
>>> PPS: I would also love to see a new Camel logo. The current one is a
>>> bit dull and boring.
>>> 
>>> 
>>> 
>>> 
>>> --
>>> Claus Ibsen
>>> -----------------
>>> http://davsclaus.com @davsclaus
>>> Camel in Action 2: https://www.manning.com/ibsen2
>> 
>> 
>> 
>> -- 
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
> 

Reply via email to