2016-10-19 15:28 GMT+02:00 Christian Schneider <[email protected]>:

> On 19.10.2016 15:22, Guillaume Nodet wrote:
>
>> I disagree.
>>
>> All the problems come when you start using maven transitive dependencies
>> in
>> real projects and hit lots of dependencies which are not OSGi bundles or
>> not OSGi ready.  Think about simple examples like spring, or all the
>> bundles that we do re-wrap in servicemix.
>> I think this idea is nice in theory, but it just does not work in real
>> life.
>>
> The idea is to not simply use the transitive dependencies of an existing
> project.
> Instead you create a pom where you tune the dependencies using excludes
> that only the bundles remain that you really want.
> I agree that just using any pom will produce bad results.


That sounds like years ago when we migrated from maven 1 to maven 2.  Maven
1 did not use transitive dependencies, so suddenly, a lot of unwanted
artifacts were included in the build and we had to use exclusions and
such.  The main difference, is that the fact that everyone would be
migrating from maven 1 to maven 2 was quite sure, so it was a transition.
However, I doubt everyone will support OSGi ever, so that's a state, not a
transition.
I think that's the difference.


>
>
>> Also, in the past years, several attemps have been made at using pure
>> maven
>> metadata to do provisioning, it has always failed to my knowledge, so I'd
>> really want to avoid going that road again.
>>
> The idea is not to use the maven metadata. It should still work like an
> OBR index but the index could be generated on the fly.
>
>>
>> Keep in mind that Karaf always create OBR repositories on the fly, based
>> on
>> the bundles listed in the features.
>>
> So the main change would be to move the definition of the bundles from the
> feature file to a pom. Eventually this could be the pom where the feature
> file resides.


That could be have been an interesting idea when people were working on
Tycho.  That's not the case anymore, and maven is not the only build tool
people use (think graddle, ivy, etc.., though I think it's still the more
popular).

I'm really not convinced that it will really help.  For simple projects,
the feature can already be generated automatically, we may be able to
slighly improve it.  For more complicated cases, projects like cxf, camel,
karaf, pax web, etc..., I'm not sure it will be usable.

In order to push user to a direction, we need to make sure it scales to
real projects.  Nice tools for beginners can become a pain when you realize
you need to change to something else because they are too limited.  Maven
metadata will never be able to support the metadata than a karaf feature
can carry...


>
>
> Christian
>
>
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> http://www.talend.com
>
>


-- 
------------------------
Guillaume Nodet
------------------------
Red Hat, Open Source Integration

Email: [email protected]
Web: http://fusesource.com
Blog: http://gnodet.blogspot.com/

Reply via email to