karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Apache Karaf 2.3 - And spring in the out of the box features files
Date Sat, 05 Jan 2013 11:11:52 GMT
Hi

In the Apache Karaf 2.3.0 distribution, there is a standard features
file which has a number of spring features.

Take a look in this file:
http://repo2.maven.org/maven2/org/apache/karaf/assemblies/features/standard/2.3.0/standard-2.3.0-features.xml

Notice that there is 3 different spring versions supported
- 2.5.6
- 3.0
- 3.1

The first two (2.5.6 and 3.0) have the same name "spring" but differs
in the version attribute.
And only Spring 3.1 has its own feature name "spring31".

This is a very unfortunately problem, as it makes it much header to
re-use the Karaf features for
referring to Spring.

So for example in Apache Camel we do that. But it makes it impossible
for us to refer to Spring 3.1 as our choice.

Or better yet, we want to say
<feature version="[3.1,4)">spring</feature>

eg to refer to the "spring" feature with the version range of Spring
3.1 or better.

Today we have to hardcode the name
<feature version="[3.1,4)">spring31</feature>

So we can do this in Apache Camel, but then we are locked down on
Spring 3.1. And people want to use Spring 3.2
is left out in the dark.

And the 2nd problem is that when you install spring-dm, then you
cannot pick the Spring version you want, but instead
as it does it wrong:

<feature name="spring-dm" description="Spring DM support"
version="1.2.1" resolver="(obr)">
<feature version="[2.5.6,4)">spring</feature>

Notice that spring-dm refers to a feature with the name "spring". But
Karaf only offers this name as Spring 2.5 or 3.0.
So if you install spring-dm you force installing Spring 3.0 also.

So that mean you end up having both Spring 3.0 and 3.1. And that is
not what you want.

[  60] [Active     ] [            ] [       ] [   50] camel-core
(2.11.0.SNAPSHOT)
[  61] [Active     ] [Created     ] [       ] [   50]
camel-karaf-commands (2.11.0.SNAPSHOT)
[  62] [Active     ] [Created     ] [       ] [   50] camel-blueprint
(2.11.0.SNAPSHOT)
[  63] [Active     ] [            ] [       ] [   30] Apache
ServiceMix :: Bundles :: aopalliance (1.0.0.6)
[  64] [Active     ] [            ] [       ] [   30] Spring Core
(3.1.2.RELEASE)
[  65] [Active     ] [            ] [       ] [   30] Spring ASM (3.1.2.RELEASE)
[  66] [Active     ] [            ] [       ] [   30] Spring
Expression Language (3.1.2.RELEASE)
[  67] [Active     ] [            ] [       ] [   30] Spring Beans
(3.1.2.RELEASE)
[  68] [Active     ] [            ] [       ] [   30] Spring AOP (3.1.2.RELEASE)
[  69] [Active     ] [            ] [       ] [   30] Spring Context
(3.1.2.RELEASE)
[  70] [Active     ] [            ] [       ] [   30] Spring Context
Support (3.1.2.RELEASE)
[  71] [Active     ] [            ] [       ] [   30] Spring
Transaction (3.1.2.RELEASE)
[  72] [Active     ] [            ] [       ] [   80]
geronimo-jta_1.1_spec (1.1.1)
[  73] [Active     ] [            ] [       ] [   30] Spring Core
(3.0.7.RELEASE)
[  74] [Active     ] [            ] [       ] [   30] Spring ASM (3.0.7.RELEASE)
[  75] [Active     ] [            ] [       ] [   30] Spring
Expression Language (3.0.7.RELEASE)
[  76] [Active     ] [            ] [       ] [   30] Spring Beans
(3.0.7.RELEASE)
[  77] [Active     ] [            ] [       ] [   30] Spring AOP (3.0.7.RELEASE)
[  78] [Active     ] [            ] [       ] [   30] Spring Context
(3.0.7.RELEASE)
[  79] [Active     ] [            ] [       ] [   30] Spring Context
Support (3.0.7.RELEASE)
[  80] [Active     ] [            ] [       ] [   30] Apache
ServiceMix :: Bundles :: cglib (2.2.2.1)
[  81] [Active     ] [            ] [       ] [   30] spring-osgi-io (1.2.1)
[  82] [Active     ] [            ] [       ] [   30] spring-osgi-core (1.2.1)
[  83] [Active     ] [            ] [       ] [   30]
spring-osgi-extender (1.2.1)
[  84] [Active     ] [            ] [       ] [   30]
spring-osgi-annotation (1.2.1)



So I suggest that this is fixed so the Karaf features will use the
name "spring" for all its spring features.
And then use version ranges.

Then people can pick the spring version of choice.

And as Spring 3.2 is GA I also suggest to add that Spring as a version
that comes out of the box.


Would this be possible to fix in a Karaf 2.3.1 release?
Otherwise we cannot offer easy of use with Karaf and Camel anymore.



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cibsen@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Mime
View raw message