Hi,

> Honestly while working with karaf we always had a maven centric world so we 
> are bit biased I guess.

This is completely understandable. Maven is the most advanced build system, and 
has the most widely-used repository out there.

> For me the core of maven is the maven repository.

It is indeed very nice.

> Before maven there were thousands of places to get jars from. As there was no 
> reliable place to get dependencies from most projects put their dependencies 
> into a zip/or tar.gz file that formed the distro.

Yes, true.

> 1. Maven keeps your source repository free from binaries
> 2. Maven central the place where you can get almost any jar available as open 
> source
> 3. Companies can transparently mirror external repositories like maven 
> central.
> 4. In the karaf case the maven repository is a nice place to load artefacts 
> from.
> 5. Every code your teams produce goes to the company maven repository.
> 6. Maven has a nice snapshot handling.

These are all very good things, no doubt!

The fact of the matter remains, though, that Maven was never built with OSGi in 
mind. Also, just because it is currently the most complete repository, that 
does not mean the universe should stop. OBR is a repository based on 
capabilities and requirements, which is core to the OSGi model. If the other 
benefits you mention could be ported to the OSGi world, that would be ideal. 
Right now, we are trying to fit the square maven peg into the round OSGI hole.

> So as you see it is not the build system. I would be interested how you do 
> all the things above without the maven repo.

I get the feeling that you are comparing apples to smoothies. The apple is the 
actual repository, i.e. convention as to where and how the data is stored, 
while the smoothie is what you do with it. I think that OBR is a more advanced 
apple than maven, but nobody has really developed the smoothie yet, so maven 
has the better smoothie. You seem more interested in the smoothie, maybe. (Ok, 
bad metaphor??)

Since maven is so widely adopted, it would be foolish to ignore. That is not 
what I am suggesting. However, I think it would not be wise to force Karaf 
users into the maven world, either.

I really like the way that Karaf has handled blueprint vs. DS. Kara itself is 
based in part on blueprint, but I am not forced to use it. This, I do not mind 
at all. Even when I list the current bundles, by default I don’t even have to 
look at the stuff installed behind the scenes. I was initially worried about 
all the “stuff” getting installed, but I have relaxed a bit.

For Karaf commands, also at first I was not happy that it forced me to decided 
“either or” simple gogo commands or Karaf commands. However, the commands 
really are nice. I think somebody should push to have completes and all the 
other nice stuff added to the OSGi spec.

On that note… The OSGi people are only begging to address tooling for 
development. They have not yet addressed development workflows and such so 
much, which I think is what you are lauding about maven. Since Karaf seems to 
me to be the “de facto OSGi runtime” (going out on a limb, but that is my 
impression), I think that Karaf could have a lot of good influence in this 
direction. It would be prudent not to go too far off on a non-OSGi tangent, 
IMHO.


Just some of my thoughts.

Cheers,
=David



Reply via email to