You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2009/09/17 09:15:07 UTC

svn commit: r816079 - in /camel/trunk: ./ camel-core/ components/camel-amqp/ components/camel-atom/ components/camel-cxf/ components/camel-flatpack/ components/camel-freemarker/ components/camel-http/ components/camel-jpa/ components/camel-mina/ compon...

Author: gnodet
Date: Thu Sep 17 07:15:06 2009
New Revision: 816079

URL: http://svn.apache.org/viewvc?rev=816079&view=rev
Log:
CAMEL-1988: better OSGI metadata

Modified:
    camel/trunk/camel-core/pom.xml
    camel/trunk/components/camel-amqp/pom.xml
    camel/trunk/components/camel-atom/pom.xml
    camel/trunk/components/camel-cxf/pom.xml
    camel/trunk/components/camel-flatpack/pom.xml
    camel/trunk/components/camel-freemarker/pom.xml
    camel/trunk/components/camel-http/pom.xml
    camel/trunk/components/camel-jpa/pom.xml
    camel/trunk/components/camel-mina/pom.xml
    camel/trunk/components/camel-osgi/pom.xml
    camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/Activator.java
    camel/trunk/components/camel-quickfix/pom.xml
    camel/trunk/components/camel-spring-integration/pom.xml
    camel/trunk/components/camel-spring-javaconfig/pom.xml
    camel/trunk/components/camel-spring/pom.xml
    camel/trunk/components/camel-stringtemplate/pom.xml
    camel/trunk/components/camel-velocity/pom.xml
    camel/trunk/components/camel-xmlbeans/pom.xml
    camel/trunk/components/camel-xmpp/pom.xml
    camel/trunk/parent/pom.xml
    camel/trunk/platforms/karaf/features/pom.xml
    camel/trunk/platforms/karaf/features/src/main/resources/features.xml
    camel/trunk/pom.xml

Modified: camel/trunk/camel-core/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/camel-core/pom.xml (original)
+++ camel/trunk/camel-core/pom.xml Thu Sep 17 07:15:06 2009
@@ -36,17 +36,20 @@
     </camel.osgi.export.pkg>
 	<camel.osgi.import>
 		!javax.xml.bind.annotation.adapters,
+	    !org.apache.camel.*,
 		org.apache.xalan.xsltc.trax;resolution:=optional,
         javax.activation;resolution:=optional,
         javax.xml.bind;resolution:=optional,
         javax.xml.bind.annotation;resolution:=optional,
         javax.xml.stream;resolution:=optional,
-        org.apache.camel.spring.util;resolution:=optional,
         org.springframework.jmx.export.annotation;resolution:=optional,
         org.springframework.jmx.export.assembler;resolution:=optional,
         org.springframework.jmx.export.metadata;resolution:=optional,
 		*
     </camel.osgi.import>
+    <camel.osgi.dynamic>
+        org.apache.camel.spring.util;${camel.osgi.import.strict.version},org.apache.camel.processor.interceptor.jpa;${camel.osgi.import.strict.version}
+    </camel.osgi.dynamic>
   </properties>
 
   <repositories>

Modified: camel/trunk/components/camel-amqp/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-amqp/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-amqp/pom.xml (original)
+++ camel/trunk/components/camel-amqp/pom.xml Thu Sep 17 07:15:06 2009
@@ -32,7 +32,6 @@
 
   <properties>
     <camel.osgi.export.pkg>org.apache.camel.component.amqp.*</camel.osgi.export.pkg>
-    <qpid-version>0.5.0</qpid-version>
   </properties>
 
   <repositories>

Modified: camel/trunk/components/camel-atom/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-atom/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-atom/pom.xml (original)
+++ camel/trunk/components/camel-atom/pom.xml Thu Sep 17 07:15:06 2009
@@ -33,7 +33,14 @@
   <description>Camel Atom support</description>
 
   <properties>
-    <camel.osgi.export.pkg>org.apache.camel.component.atom.*;org.apache.camel.component.feed.*</camel.osgi.export.pkg>
+    <camel.osgi.export.pkg>org.apache.camel.component.atom.*,org.apache.camel.component.feed.*</camel.osgi.export.pkg>
+    <camel.osgi.import.pkg>
+        !javax.xml.bind.annotation.adapters,
+        !org.apache.camel.component.atom.*,
+        !org.apache.camel.component.feed.*,
+        ${camel.osgi.import.defaults},
+        *
+    </camel.osgi.import.pkg>
   </properties>
 
   <repositories>

Modified: camel/trunk/components/camel-cxf/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/pom.xml (original)
+++ camel/trunk/components/camel-cxf/pom.xml Thu Sep 17 07:15:06 2009
@@ -31,7 +31,6 @@
   <description>Camel CXF support</description>
 
   <properties>
-     <camel.osgi.import.pkg>org.apache.cxf*;version="[2.2,3.0.0)",*</camel.osgi.import.pkg>
      <camel.osgi.export.pkg>org.apache.camel.component.cxf.*</camel.osgi.export.pkg>
   </properties>
 

Modified: camel/trunk/components/camel-flatpack/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-flatpack/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-flatpack/pom.xml (original)
+++ camel/trunk/components/camel-flatpack/pom.xml Thu Sep 17 07:15:06 2009
@@ -47,7 +47,7 @@
     <dependency>
       <groupId>net.sf.flatpack</groupId>
       <artifactId>flatpack</artifactId>
-      <version>3.1.1</version>
+      <version>${flatpack-version}</version>
     </dependency>
 
     <!-- testing -->

Modified: camel/trunk/components/camel-freemarker/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-freemarker/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-freemarker/pom.xml (original)
+++ camel/trunk/components/camel-freemarker/pom.xml Thu Sep 17 07:15:06 2009
@@ -47,7 +47,7 @@
         <dependency>
             <groupId>org.freemarker</groupId>
             <artifactId>freemarker</artifactId>
-            <version>2.3.15</version>
+            <version>${freemarker-version}</version>
         </dependency>
         <dependency>
             <groupId>log4j</groupId>

Modified: camel/trunk/components/camel-http/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-http/pom.xml (original)
+++ camel/trunk/components/camel-http/pom.xml Thu Sep 17 07:15:06 2009
@@ -31,7 +31,6 @@
   <description>Camel HTTP support</description>
 
   <properties>
-    <camel.osgi.import.pkg>org.apache.commons.httpclient.*;version="[3.1,4.0)",*</camel.osgi.import.pkg>
 	<camel.osgi.export.pkg>org.apache.camel.component.http.*</camel.osgi.export.pkg>
   </properties>
 

Modified: camel/trunk/components/camel-jpa/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jpa/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-jpa/pom.xml (original)
+++ camel/trunk/components/camel-jpa/pom.xml Thu Sep 17 07:15:06 2009
@@ -31,10 +31,20 @@
   <description>Camel JPA support</description>
 
   <properties>
-    <camel.osgi.export.pkg>org.apache.camel.component.jpa.*,
+    <camel.osgi.export.pkg>
+      org.apache.camel.component.jpa.*,
       org.apache.camel.processor.idempotent.jpa.*,
       org.apache.camel.processor.interceptor.jpa.*
     </camel.osgi.export.pkg>
+    <camel.osgi.import.pkg>
+      !javax.xml.bind.annotation.adapters,
+      !org.apache.camel.component.jpa.*,
+      !org.apache.camel.processor.idempotent.jpa.*,
+      !org.apache.camel.processor.interceptor.jpa.*,
+      org.apache.camel.*;${camel.osgi.import.camel.version},
+      ${camel.osgi.import.defaults},
+      *
+    </camel.osgi.import.pkg>
   </properties>
 
   <dependencies>

Modified: camel/trunk/components/camel-mina/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mina/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-mina/pom.xml (original)
+++ camel/trunk/components/camel-mina/pom.xml Thu Sep 17 07:15:06 2009
@@ -31,7 +31,6 @@
     <description>Camel MINA support</description>
 
     <properties>
-        <camel.osgi.import.pkg>org.apache.mina.*;version="[1.1.7,2.0)",*</camel.osgi.import.pkg>
         <camel.osgi.export.pkg>org.apache.camel.component.mina.*</camel.osgi.export.pkg>
     </properties>
 

Modified: camel/trunk/components/camel-osgi/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-osgi/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-osgi/pom.xml (original)
+++ camel/trunk/components/camel-osgi/pom.xml Thu Sep 17 07:15:06 2009
@@ -31,8 +31,19 @@
   <description>Camel OSGi support</description>
 
   <properties>
-    <camel.osgi.export.pkg>org.apache.camel.osgi.*</camel.osgi.export.pkg>
-    <camel.osgi.activator>org.apache.camel.osgi.Activator</camel.osgi.activator>
+    <camel.osgi.export.pkg>
+        org.apache.camel.osgi.*
+    </camel.osgi.export.pkg>
+    <camel.osgi.import.pkg>
+        !javax.xml.bind.annotation.adapters,
+        !org.apache.camel.osgi.*,
+        org.apache.camel.*;${camel.osgi.import.strict.version},
+        ${camel.osgi.import.defaults},
+        *
+    </camel.osgi.import.pkg>
+    <camel.osgi.activator>
+        org.apache.camel.osgi.Activator
+    </camel.osgi.activator>
   </properties>
 
   <dependencies>

Modified: camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/Activator.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/Activator.java?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/Activator.java (original)
+++ camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/Activator.java Thu Sep 17 07:15:06 2009
@@ -30,6 +30,10 @@
 import java.util.Set;
 import java.util.StringTokenizer;
 
+import org.apache.camel.Component;
+import org.apache.camel.TypeConverter;
+import org.apache.camel.spi.Language;
+import org.apache.camel.spi.LanguageResolver;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -91,7 +95,15 @@
         }
     }
 
-    protected synchronized void addComponentEntry(String entryPath, Bundle bundle, Map<String, ComponentEntry> entries) {
+    protected synchronized void addComponentEntry(String entryPath, Bundle bundle, Map<String, ComponentEntry> entries, Class clazz) {
+        // Check bundle compatibility
+        try {
+            if (bundle.loadClass(clazz.getName()) != clazz) {
+                return;
+            }
+        } catch (Throwable t) {
+            return;
+        }
         Enumeration e = bundle.getEntryPaths(entryPath);
         if (e != null) {
             while (e.hasMoreElements()) {
@@ -110,12 +122,21 @@
     }
 
     protected void mayBeAddComponentAndLanguageFor(Bundle bundle) {        
-        addComponentEntry(META_INF_COMPONENT, bundle, COMPONENTS);
-        addComponentEntry(META_INF_LANGUAGE, bundle, LANGUAGES);
-        addComponentEntry(META_INF_LANGUAGE_RESOLVER, bundle, LANGUAGE_RESOLVERS);
+        addComponentEntry(META_INF_COMPONENT, bundle, COMPONENTS, Component.class);
+        addComponentEntry(META_INF_LANGUAGE, bundle, LANGUAGES, Language.class);
+        addComponentEntry(META_INF_LANGUAGE_RESOLVER, bundle, LANGUAGE_RESOLVERS, LanguageResolver.class);
     }
     
     protected synchronized void mayBeAddTypeConverterFor(Bundle bundle) {
+        // Check bundle compatibility
+        try {
+            Class clazz = TypeConverter.class;
+            if (bundle.loadClass(clazz.getName()) != clazz) {
+                return;
+            }
+        } catch (Throwable t) {
+            return;
+        }
         try {
             Enumeration e = bundle.getResources(META_INF_TYPE_CONVERTER);
             if (e != null) {

Modified: camel/trunk/components/camel-quickfix/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-quickfix/pom.xml (original)
+++ camel/trunk/components/camel-quickfix/pom.xml Thu Sep 17 07:15:06 2009
@@ -30,8 +30,7 @@
 
     <properties>
         <camel.osgi.export.pkg>
-            org.apache.camel.component.quickfix.*;
-            org.apache.camel.component.quickfix.converter.*;
+            org.apache.camel.component.quickfix.*
         </camel.osgi.export.pkg>
     </properties>
    

Modified: camel/trunk/components/camel-spring-integration/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-integration/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-spring-integration/pom.xml (original)
+++ camel/trunk/components/camel-spring-integration/pom.xml Thu Sep 17 07:15:06 2009
@@ -33,7 +33,6 @@
 
   <properties>
     <camel.osgi.export.pkg>org.apache.camel.component.spring.integration.*</camel.osgi.export.pkg>
-    <spring-integration-version>1.0.3.RELEASE</spring-integration-version>
   </properties>
 
   <repositories>

Modified: camel/trunk/components/camel-spring-javaconfig/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-javaconfig/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-spring-javaconfig/pom.xml (original)
+++ camel/trunk/components/camel-spring-javaconfig/pom.xml Thu Sep 17 07:15:06 2009
@@ -33,7 +33,6 @@
 
   <properties>
     <camel.osgi.export.pkg>org.apache.camel.spring.javaconfig.*</camel.osgi.export.pkg>
-    <spring-javaconfig-version>1.0.0-20090215</spring-javaconfig-version>    
   </properties>
 
 

Modified: camel/trunk/components/camel-spring/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/pom.xml (original)
+++ camel/trunk/components/camel-spring/pom.xml Thu Sep 17 07:15:06 2009
@@ -31,19 +31,27 @@
   <packaging>bundle</packaging>
 
   <properties>
-  <camel.osgi.import>
-    !javax.xml.bind.annotation.adapters,
-    org.apache.camel.osgi;resolution:=optional,
-    *
-  </camel.osgi.import>
-  <camel.osgi.export>
-    org.apache.camel.spring.*;${camel.osgi.version},
-    org.apache.camel.component;${camel.osgi.split.pkg};${camel.osgi.version},
-    org.apache.camel.component.event;${camel.osgi.split.pkg};${camel.osgi.version},
-    org.apache.camel.component.test;${camel.osgi.split.pkg};${camel.osgi.version},
-    org.apache.camel.component.validator;${camel.osgi.split.pkg};${camel.osgi.version},
-    org.apache.camel.component.xslt;${camel.osgi.split.pkg};${camel.osgi.version}
-  </camel.osgi.export>
+      <camel.osgi.import>
+        !org.apache.camel.spring.*,
+        !org.apache.camel.component,
+        !org.apache.camel.component.event,
+        !org.apache.camel.component.validator,
+        !org.apache.camel.component.xslt,
+        !javax.xml.bind.annotation.adapters,
+        org.apache.camel.*;${camel.osgi.import.strict.version},
+        *
+      </camel.osgi.import>
+      <camel.osgi.export>
+        org.apache.camel.spring.*;${camel.osgi.version},
+        org.apache.camel.component;${camel.osgi.split.pkg};${camel.osgi.version},
+        org.apache.camel.component.event;${camel.osgi.split.pkg};${camel.osgi.version},
+        org.apache.camel.component.test;${camel.osgi.split.pkg};${camel.osgi.version},
+        org.apache.camel.component.validator;${camel.osgi.split.pkg};${camel.osgi.version},
+        org.apache.camel.component.xslt;${camel.osgi.split.pkg};${camel.osgi.version}
+      </camel.osgi.export>
+      <camel.osgi.dynamic>
+          org.apache.camel.osgi;${camel.osgi.import.strict.version}
+      </camel.osgi.dynamic>
   </properties>
 
   <dependencies>

Modified: camel/trunk/components/camel-stringtemplate/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-stringtemplate/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-stringtemplate/pom.xml (original)
+++ camel/trunk/components/camel-stringtemplate/pom.xml Thu Sep 17 07:15:06 2009
@@ -47,7 +47,7 @@
     <dependency>
       <groupId>org.antlr</groupId>
       <artifactId>stringtemplate</artifactId>
-      <version>3.0</version>
+      <version>${stringtemplate-version}</version>
     </dependency>
 
     <!-- testing -->

Modified: camel/trunk/components/camel-velocity/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-velocity/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-velocity/pom.xml (original)
+++ camel/trunk/components/camel-velocity/pom.xml Thu Sep 17 07:15:06 2009
@@ -47,7 +47,7 @@
     <dependency>
       <groupId>org.apache.velocity</groupId>
       <artifactId>velocity</artifactId>
-      <version>1.6.2</version>
+      <version>${velocity-version}</version>
     </dependency>
     <dependency>
       <groupId>log4j</groupId>

Modified: camel/trunk/components/camel-xmlbeans/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmlbeans/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-xmlbeans/pom.xml (original)
+++ camel/trunk/components/camel-xmlbeans/pom.xml Thu Sep 17 07:15:06 2009
@@ -43,7 +43,7 @@
     <dependency>
       <groupId>org.apache.xmlbeans</groupId>
       <artifactId>xmlbeans</artifactId>
-      <version>2.4.0</version>
+      <version>${xmlbeans-version}</version>
     </dependency>
     <dependency>
       <groupId>stax</groupId>

Modified: camel/trunk/components/camel-xmpp/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmpp/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/components/camel-xmpp/pom.xml (original)
+++ camel/trunk/components/camel-xmpp/pom.xml Thu Sep 17 07:15:06 2009
@@ -63,12 +63,12 @@
     <dependency>
       <groupId>org.igniterealtime.smack</groupId>
       <artifactId>smack</artifactId>
-      <version>3.0.4</version>
+      <version>${smack-version}</version>
     </dependency>
     <dependency>
       <groupId>org.igniterealtime.smack</groupId>
       <artifactId>smackx</artifactId>
-      <version>3.0.4</version>
+      <version>${smack-version}</version>
     </dependency>
     <!-- to allow Spring annotations (jmx) to be tested -->
     <dependency>

Modified: camel/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/parent/pom.xml (original)
+++ camel/trunk/parent/pom.xml Thu Sep 17 07:15:06 2009
@@ -40,7 +40,6 @@
     <apacheds-version>1.5.4</apacheds-version>
     <axiom-version>1.2.8</axiom-version>
     <cxf-version>2.2.3</cxf-version>
-    <felix-version>1.4.1</felix-version>
     <felix-osgi-version>1.2.0</felix-osgi-version>
     <fuse-commons-management-version>1.0</fuse-commons-management-version>
     <geronimo-jms-spec-version>1.1.1</geronimo-jms-spec-version>
@@ -68,6 +67,8 @@
     <commons-dbcp-version>1.2.2</commons-dbcp-version>
     <derby-version>10.4.2.0</derby-version>
     <easymock-version>2.4</easymock-version>
+    <flatpack-version>3.1.1</flatpack-version>
+    <freemarker-version>2.3.15</freemarker-version>
     <hamcrest-version>1.2-dev1</hamcrest-version>
     <hibernate-version>3.2.6.ga</hibernate-version>
     <hibernate-entitymanager-version>3.2.1.ga</hibernate-entitymanager-version>
@@ -78,28 +79,65 @@
     <ognl-version>2.7.3_1</ognl-version>
     <pax-exam-version>1.0.0</pax-exam-version>
     <pax-tiny-bundle-version>1.0.0</pax-tiny-bundle-version>  
+    <qpid-version>0.5.0</qpid-version>
     <saxon-version>9.1.0.1</saxon-version>
     <scala-version>2.7.3</scala-version>
     <scala-plugin-version>2.9.1</scala-plugin-version>
+    <smack-version>3.0.4</smack-version>
     <spring-ehcache-version>1.6.2</spring-ehcache-version>
+    <spring-integration-version>1.0.3.RELEASE</spring-integration-version>
+    <spring-javaconfig-version>1.0.0-20090215</spring-javaconfig-version>
+    <stringtemplate-version>3.0</stringtemplate-version>
+    <tagsoup-version>1.2</tagsoup-version>
     <testng-version>5.8</testng-version>
+    <velocity-version>1.6.2</velocity-version>
     <xbean-spring-version>3.5</xbean-spring-version>
     <xstream-version>1.3.1</xstream-version>
     <xmlsec-version>1.4.2</xmlsec-version>
     <javamail-version>1.4.1</javamail-version>
     <xerces-version>2.8.0</xerces-version>
     <xalan-version>2.7.1</xalan-version>
+    <xmlbeans-version>2.4.0</xmlbeans-version>
 
     <!-- OSGi bundles properties -->
-    <camel.osgi.import.pkg>!javax.xml.bind.annotation.adapters,*</camel.osgi.import.pkg>
+    <camel.osgi.import.camel.version>version="[$(version;==;${camel.osgi.version.clean}),$(version;=+;${camel.osgi.version.clean}))"</camel.osgi.import.camel.version>
+    <camel.osgi.import.strict.version>version="[$(version;===;${camel.osgi.version.clean}),$(version;==+;${camel.osgi.version.clean}))"</camel.osgi.import.strict.version>
+    <camel.osgi.import.default.version>[$(version;==;$(@)),$(version;+;$(@)))</camel.osgi.import.default.version>
+    <camel.osgi.import.defaults>
+        org.apache.commons.logging.*;version="[1.1,2)",
+        org.apache.cxf.*;version="[2.2,3)",
+        org.apache.qpid.*;version="[0.5,0.6)",
+        org.apache.abdera.*;version="[0.4,0.5)",
+        org.apache.commons.httpclient.*;version="[3.1,4.0)",
+        org.apache.mina.*;version="[1.1.7,2.0)",
+        org.apache.velocity.*;version="[1.6.2,2)",
+        org.apache.xmlbeans.*;version="[2.4,3)",
+        com.thoughtworks.xstream.*;version="[1.3,2)",
+        org.antlr.stringtemplate.*;version="[3.0,4)",
+        org.jivesoftware.smack.*;version="[3.0,4)",
+        org.ccil.cowan.tagsoup.*;version="[1.2,2)",
+        org.mortbay.cometd.*;version="[6.1,7)",
+        net.sf.flatpack.*;version="[3.1.1,4)",
+        freemarker.*;version="[2.3.15,3)",
+    </camel.osgi.import.defaults>
+    <camel.osgi.import.additional />
+    <camel.osgi.import.pkg>
+        !javax.xml.bind.annotation.adapters,
+        !${camel.osgi.export.pkg},
+        org.apache.camel.*;${camel.osgi.import.camel.version},
+        ${camel.osgi.import.defaults},
+        ${camel.osgi.import.additional},
+        *
+    </camel.osgi.import.pkg>
     <camel.osgi.activator />
     <camel.osgi.private.pkg>!*</camel.osgi.private.pkg>
     <camel.osgi.export>${camel.osgi.export.pkg};${camel.osgi.version}</camel.osgi.export>
     <camel.osgi.version>version=${project.version}</camel.osgi.version>
     <camel.osgi.split.pkg>-split-package:=first</camel.osgi.split.pkg>
     <camel.osgi.import>${camel.osgi.import.pkg}</camel.osgi.import>
+    <camel.osgi.dynamic />
     <camel.osgi.symbolic.name>${groupId}.${artifactId}</camel.osgi.symbolic.name>
-    <camel.osgi.exclude.dependencies>true</camel.osgi.exclude.dependencies>
+    <camel.osgi.exclude.dependencies>false</camel.osgi.exclude.dependencies>
 
     <!-- encoding -->
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -945,7 +983,7 @@
       <dependency>
         <groupId>org.ccil.cowan.tagsoup</groupId>
         <artifactId>tagsoup</artifactId>
-        <version>1.2</version>
+        <version>${tagsoup-version}</version>
       </dependency>
 
       <!-- optional Axiom -->
@@ -959,6 +997,74 @@
   </dependencyManagement>
 
   <build>
+      <plugins>
+          <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-antrun-plugin</artifactId>
+              <version>1.2</version>
+              <inherited>true</inherited>
+              <executions>
+                  <execution>
+                      <id>create-prop</id>
+                      <phase>initialize</phase>
+                      <configuration>
+                          <tasks>
+                              <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath"/>
+                              <property name="ant.regexp.regexpimpl" value="org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp"/>
+                              <property name="mv" value="${project.version}"/>
+                              <echo message="Maven version:   ${mv}" />
+                              <propertyregex property="ov.p1" input="${mv}" regexp="(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:[^a-zA-Z0-9](.*))?" replace="\1" defaultValue="0"/>
+                              <propertyregex property="ov.p2" input="${mv}" regexp="(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:[^a-zA-Z0-9](.*))?" replace=".\2" defaultValue=".0"/>
+                              <propertyregex property="ov.p3" input="${mv}" regexp="(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:[^a-zA-Z0-9](.*))?" replace=".\3" defaultValue=".0"/>
+                              <propertyregex property="ov.p4" input="${mv}" regexp="(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:[^a-zA-Z0-9](.*))?" replace=".\4" defaultValue=""/>
+                              <propertyregex property="ov.p1a" input="${ov.p1}" regexp="(.+)" replace="\1" defaultValue="0"/>
+                              <propertyregex property="ov.p2a" input="${ov.p2}" regexp="(\..+)" replace="\1" defaultValue=".0"/>
+                              <propertyregex property="ov.p3a" input="${ov.p3}" regexp="(\..+)" replace="\1" defaultValue=".0"/>
+                              <propertyregex property="ov.p4a" input="${ov.p4}" regexp="(\..+)" replace="\1" defaultValue=""/>
+                              <property name="ov" value="${ov.p1a}${ov.p2a}${ov.p3a}${ov.p4a}"/>
+                              <echo message="OSGi version:    ${ov}" />
+                              <mkdir dir="target"/>
+                              <echo message="camel.osgi.version.clean = ${ov}" file="target/camel.osgi.version.txt"/>
+                          </tasks>
+                      </configuration>
+                      <goals>
+                          <goal>run</goal>
+                      </goals>
+                  </execution>
+              </executions>
+              <dependencies>
+                  <dependency>
+                      <groupId>ant-contrib</groupId>
+                      <artifactId>ant-contrib</artifactId>
+                      <version>1.0b3</version>
+                  </dependency>
+                  <dependency>
+                      <groupId>ant</groupId>
+                      <artifactId>ant-optional</artifactId>
+                      <version>1.5.3-1</version>
+                  </dependency>
+             </dependencies>
+          </plugin>
+          <plugin>
+              <groupId>org.codehaus.mojo</groupId>
+              <artifactId>properties-maven-plugin</artifactId>
+              <version>1.0-alpha-2</version>
+              <inherited>true</inherited>
+              <executions>
+                <execution>
+                  <phase>initialize</phase>
+                  <goals>
+                    <goal>read-project-properties</goal>
+                  </goals>
+                  <configuration>
+                    <files>
+                      <file>target/camel.osgi.version.txt</file>
+                    </files>
+                  </configuration>
+                </execution>
+              </executions>
+          </plugin>
+     </plugins>
     <pluginManagement>
             <plugins>
                 <plugin>

Modified: camel/trunk/platforms/karaf/features/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/features/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/platforms/karaf/features/pom.xml (original)
+++ camel/trunk/platforms/karaf/features/pom.xml Thu Sep 17 07:15:06 2009
@@ -40,6 +40,7 @@
       <aopalliance-bundle-version>1.0_1</aopalliance-bundle-version>
       <asm-bundle-version>2.2.3_1</asm-bundle-version>
       <dom4j-bundle-version>1.6_1</dom4j-bundle-version>
+      <cglib-version>2.1_3_2</cglib-version>
       <commons-beanutils-bundle-version>1.7.0_1</commons-beanutils-bundle-version>
       <commons-dbcp-bundle-version>1.2.2_3</commons-dbcp-bundle-version>
       <commons-csv-version>1.0-r706899_1</commons-csv-version>
@@ -90,6 +91,8 @@
       <servlet-api-2.5-version>2.5-20081211</servlet-api-2.5-version>
       <smack-bundle-version>3.0.4_1</smack-bundle-version>      
       <spring-commons-collections-version>3.2.1</spring-commons-collections-version>
+      <spring-version>2.5.6.SEC01</spring-version>
+      <spring-osgi-version>1.2.0</spring-osgi-version>
       <spring-javaconfig-version>1.0.0-20090215</spring-javaconfig-version>
       <spring-javax-persistence-version>1.99.0</spring-javax-persistence-version>
       <spring-serp-version>1.13.1</spring-serp-version>

Modified: camel/trunk/platforms/karaf/features/src/main/resources/features.xml
URL: http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/features/src/main/resources/features.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/platforms/karaf/features/src/main/resources/features.xml (original)
+++ camel/trunk/platforms/karaf/features/src/main/resources/features.xml Thu Sep 17 07:15:06 2009
@@ -11,16 +11,21 @@
   <feature name='camel-spring' version='${pom.version}'>
     <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
     <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance-bundle-version}</bundle>
-    <bundle>mvn:org.springframework/spring-aop/${spring-version}</bundle>
-    <bundle>mvn:org.springframework/spring-beans/${spring-version}</bundle>
     <bundle>mvn:org.springframework/spring-core/${spring-version}</bundle>
+    <bundle>mvn:org.springframework/spring-beans/${spring-version}</bundle>
     <bundle>mvn:org.springframework/spring-context/${spring-version}</bundle>
+    <bundle>mvn:org.springframework/spring-aop/${spring-version}</bundle>
     <bundle>mvn:org.springframework/spring-tx/${spring-version}</bundle>
     <feature version='${pom.version}'>camel-core</feature>
     <bundle>mvn:org.apache.camel/camel-spring/${pom.version}</bundle>
   </feature>
   <feature name='camel-osgi' version='${pom.version}'>
     <feature version='${pom.version}'>camel-spring</feature>
+    <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle>
+    <bundle>mvn:org.springframework.osgi/spring-osgi-io/${spring-osgi-version}</bundle>
+    <bundle>mvn:org.springframework.osgi/spring-osgi-core/${spring-osgi-version}</bundle>
+    <bundle>mvn:org.springframework.osgi/spring-osgi-extender/${spring-osgi-version}</bundle>
+    <bundle>mvn:org.springframework.osgi/spring-osgi-annotation/${spring-osgi-version}</bundle>
     <bundle>mvn:org.apache.camel/camel-osgi/${pom.version}</bundle>
   </feature>
    <feature name='camel-test' version='${pom.version}'>

Modified: camel/trunk/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/pom.xml?rev=816079&r1=816078&r2=816079&view=diff
==============================================================================
--- camel/trunk/pom.xml (original)
+++ camel/trunk/pom.xml Thu Sep 17 07:15:06 2009
@@ -43,7 +43,7 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <site-repo-url>scpexe://people.apache.org/www/camel.apache.org/maven/</site-repo-url>
     <cxf-version>2.2.2</cxf-version>
-    <felix-version>1.4.1</felix-version>
+    <felix-version>2.0.0</felix-version>
     <jetty-version>6.1.18</jetty-version>
   </properties>
 
@@ -275,12 +275,14 @@
 	      <instructions>
 	        <Bundle-Name>${artifactId}</Bundle-Name>
 	        <Bundle-SymbolicName>${camel.osgi.symbolic.name}</Bundle-SymbolicName>
-                <Bundle-Activator>${camel.osgi.activator}</Bundle-Activator>
+            <Bundle-Activator>${camel.osgi.activator}</Bundle-Activator>
 	        <Export-Package>${camel.osgi.export}</Export-Package>
 	        <Import-Package>${camel.osgi.import}</Import-Package>
+	        <DynamicImport-Package>${camel.osgi.dynamic}</DynamicImport-Package>
 	        <Private-Package>${camel.osgi.private.pkg}</Private-Package>
 	        <Implementation-Title>Apache Camel</Implementation-Title>
 	        <Implementation-Version>${project.version}</Implementation-Version>
+            <_versionpolicy>${camel.osgi.import.default.version}</_versionpolicy>
 	      </instructions>
 	    </configuration>
       </plugin>