<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<features name="servicemix-${version}">
    <repository>mvn:org.apache.cxf.karaf/apache-cxf/${cxf.features.version}/xml/features</repository>
    <repository>mvn:org.apache.karaf.assemblies.features/standard/${karaf.version}/xml/features</repository>
    <repository>mvn:org.apache.karaf.assemblies.features/enterprise/${karaf.version}/xml/features</repository>
    <repository>mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/${servicemix.nmr.version}/xml/features</repository>
    <repository>mvn:org.apache.camel.karaf/apache-camel/${camel.version}/xml/features</repository>


    <feature name="connector" version="${version}" resolver="(obr)" start-level='50'>
        <feature version="${aries.transaction.version}">transaction</feature>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-j2ee-connector_1.5_spec/${geronimo-j2ee-connector.version}</bundle>
        <bundle>mvn:org.apache.geronimo.components/geronimo-connector/${geronimo-connector.version}</bundle>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms.version}</bundle>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-tx/${spring.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-context/${spring.version}</bundle>                                       ‚
        <bundle dependency="true">mvn:org.springframework/spring-aop/${spring.version}</bundle>
    </feature>

    <feature name="cxf-nmr" version="${version}" resolver="(obr)" start-level='50'>
        <feature version="${cxf.version}">cxf</feature>
        <feature version="${servicemix.nmr.version}">nmr</feature>
        <bundle>mvn:org.apache.servicemix.cxf/org.apache.servicemix.cxf.transport.nmr/${version}</bundle>
        <bundle>mvn:org.apache.servicemix.cxf/org.apache.servicemix.cxf.binding.nmr/${version}</bundle>
    </feature>
    <feature name="camel-nmr" version="${version}" resolver="(obr)" start-level='50'>
        <feature version="${camel.version}">camel</feature>
        <feature version="${servicemix.nmr.version}">nmr</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-${jaxws-api.version}/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/${geronimo-ws-metadata.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix.specs.version}</bundle>
        <bundle>mvn:org.apache.servicemix.camel/org.apache.servicemix.camel.component/${version}</bundle>
    </feature>

    <!--
      -
      -  Examples
      -
    -->
    <feature name="examples-activemq-camel-blueprint" version="${version}" resolver="(obr)">
        <feature version="${version}">activemq-camel</feature>
        <feature version="${camel.version}">camel-blueprint</feature>
        <bundle>mvn:org.apache.servicemix.examples/activemq-camel-blueprint/${version}</bundle>
    </feature>
    <feature name="examples-cxf-osgi" version="${version}" resolver="(obr)">
        <feature version="${cxf.version}">cxf</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jbi-api-1.0/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix/servicemix-utils/${servicemix.utils.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-osgi/${version}</bundle>
    </feature>
    <feature name="examples-cxf-jaxrs" version="${version}" resolver="(obr)">
        <feature version="${cxf.version}">cxf</feature>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
	<bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-jaxrs/${version}</bundle>
    </feature>
    <feature name="examples-cxf-jaxrs-blueprint" version="${version}" resolver="(obr)">
        <feature version="${cxf.version}">cxf</feature>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
	<bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-jaxrs-blueprint/${version}</bundle>
    </feature>
    <feature name="examples-cxf-jaxws-blueprint" version="${version}" resolver="(obr)">
        <feature version="${cxf.version}">cxf</feature>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
	<bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-jaxws-blueprint/${version}</bundle>
    </feature>
    <feature name="examples-cxf-nmr" version="${version}" resolver="(obr)">
        <feature version="${version}">cxf-nmr</feature>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-nmr/${version}</bundle>
    </feature>
    <feature name="examples-camel-osgi" version="${version}" resolver="(obr)">
        <feature version="${camel.version}">camel</feature>
        <bundle>mvn:org.apache.servicemix.examples/camel-osgi/${version}</bundle>
    </feature>
    <feature name="examples-camel-blueprint" version="${version}" resolver="(obr)">
        <feature version="${camel.version}">camel-blueprint</feature>
        <bundle>mvn:org.apache.servicemix.examples/camel-blueprint/${version}</bundle>
    </feature>
    <feature name="examples-camel-nmr" version="${version}" resolver="(obr)">
        <feature version="${version}">camel-nmr</feature>
        <bundle>mvn:org.apache.servicemix.examples/camel-nmr/${version}</bundle>
    </feature>
    <feature name="examples-camel-nmr-blueprint" version="${version}" resolver="(obr)">
        <feature version="${version}">camel-nmr</feature>
        <feature version="${camel.version}">camel-blueprint</feature>
        <bundle>mvn:org.apache.servicemix.examples/camel-nmr-blueprint/${version}</bundle>
    </feature>
    <feature name="examples-cxf-camel-nmr" version="${version}" resolver="(obr)">
        <feature version="${version}">camel-nmr</feature>
        <feature version="${version}">cxf-nmr</feature>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-camel-nmr/${version}</bundle>
    </feature>
    <feature name="examples-cxf-ws-addressing" version="${version}" resolver="(obr)">
        <feature version="${cxf.version}">cxf</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jbi-api-1.0/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix/servicemix-utils/${servicemix.utils.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-ws-addressing/${version}</bundle>
    </feature>
    <feature name="examples-cxf-wsdl-first-osgi-package" version="${version}" resolver="(obr)">
        <feature version="${servicemix.components.version}">servicemix-cxf-bc</feature>
        <feature version="${servicemix.components.version}">servicemix-cxf-se</feature>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples.cxf-wsdl-first-osgi-package/wsdl-first-cxfbc-bundle/${version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples.cxf-wsdl-first-osgi-package/wsdl-first-cxfse-bundle/${version}</bundle>
    </feature>
    <feature name="examples-cxf-ws-security-osgi" version="${version}" resolver="(obr)">
        <feature version="${cxf.version}">cxf</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jbi-api-1.0/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix/servicemix-utils/${servicemix.utils.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-ws-security-osgi/${version}</bundle>
    </feature>
    <feature name="examples-cxf-ws-security-blueprint" version="${version}" resolver="(obr)">
        <feature version="${cxf.version}">cxf</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jbi-api-1.0/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix/servicemix-utils/${servicemix.utils.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-ws-security-blueprint/${version}</bundle>
    </feature>
    <feature name="examples-cxf-ws-security-signature" version="${version}" resolver="(obr)">
        <feature version="${cxf.version}">cxf</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jbi-api-1.0/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix/servicemix-utils/${servicemix.utils.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-beans/${spring.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/cxf-ws-security-signature/${version}</bundle>
    </feature>
    <feature name="examples-cxf-ws-rm" version="${version}" resolver="(obr)">
        <bundle>mvn:org.apache.servicemix.examples/cxf-ws-rm/${version}</bundle>
    </feature>

    <feature name="examples-nmr" version="${version}">
        <bundle>mvn:org.apache.servicemix.examples/org.apache.servicemix.examples.nmr.endpoint/${pom.version}</bundle>
        <bundle>mvn:org.apache.servicemix.examples/org.apache.servicemix.examples.nmr.client/${pom.version}</bundle>
    </feature>

    <feature name="examples-activiti-camel" version="${version}" resolver="(obr)">
	      <feature version="${camel.version}">camel-core</feature>
        <feature version="${activiti.version}">activiti</feature>
        <bundle>mvn:org.apache.servicemix.examples/activiti-camel/${version}</bundle>
    </feature>


    <!--
      -
      -  JBI Components
      -
    -->

    <feature name="servicemix-shared" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.nmr.version}">jbi</feature>
        <feature version="${spring.version}">spring</feature>
        <bundle dependency="true">mvn:org.apache.ws.xmlschema/xmlschema-core/${xmlschema.version}</bundle>
        <bundle dependency="true">mvn:javax.mail/mail/${javax.mail.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.wsdl4j/${wsdl4j.bundle.version}</bundle>
        <bundle>mvn:org.apache.xbean/xbean-spring/${xbean.version}</bundle>
        <bundle>mvn:org.apache.xbean/xbean-classloader/${xbean.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix/servicemix-utils/${servicemix.utils.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-common/${servicemix.components.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-soap/${servicemix.components.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-soap2/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-cxf-bc" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <feature version="${cxf.version}">cxf</feature>
        <feature>jetty</feature>
        <bundle dependency="true">mvn:org.springframework/spring-tx/${spring.version}</bundle>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-cxf-bc/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-file" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle>mvn:org.apache.servicemix/servicemix-file/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-ftp" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oro/${oro.bundle.version}</bundle>
        <bundle dependency="true">mvn:commons-net/commons-net/${commons-net.bundle.version}</bundle>
        <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-ftp/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-http" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <feature>jetty</feature>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo-servlet.version}</bundle>
        <bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.ws.xmlschema/xmlschema-core/${xmlschema.version}</bundle>
        <bundle dependency="true">mvn:org.apache.santuario/xmlsec/${xmlsec.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.ws.security/wss4j/${wss4j.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-http/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-jms" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.ws.xmlschema/xmlschema-core/${xmlschema.version}</bundle>
        <bundle dependency="true">mvn:org.apache.santuario/xmlsec/${xmlsec.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.ws.security/wss4j/${wss4j.version}</bundle>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-j2ee-connector_1.5_spec/${geronimo-j2ee-connector.version}</bundle>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-jms/${spring.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-tx/${spring.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-jms/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-mail" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:javax.mail/mail/${javax.mail.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-mail/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-bean" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/${geronimo-annotation.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-bean/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-camel" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <feature version="${camel.version}">camel</feature>
        <bundle>mvn:org.apache.servicemix/servicemix-camel/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-drools" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdt-core/${jdt-core.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr-runtime/${antlr-runtime.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz/${quartz.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.protobuf-java/${protobuf.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.drools/knowledge-api/${drools.version}</bundle>
        <bundle dependency="true">mvn:org.drools/knowledge-internal-api/${drools.version}</bundle>
        <bundle dependency="true">mvn:org.drools/drools-core/${drools.version}</bundle>
        <bundle dependency="true">mvn:org.drools/drools-compiler/${drools.version}</bundle>
        <bundle dependency="true">mvn:org.mvel/mvel2/${mvel.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-drools/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-cxf-se" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <feature version="${cxf.version}">cxf</feature>
        <bundle>mvn:org.apache.servicemix/servicemix-cxf-se/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-eip" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle>mvn:org.apache.servicemix/servicemix-eip/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-osworkflow" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-collections/${commons-collections.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz/${quartz.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oscore/${oscore.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.propertyset/${propertyset.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.osworkflow/${osworkflow.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-osworkflow/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-quartz" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-collections/${commons-collections.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz/${quartz.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.springframework/spring-context-support/${spring.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-quartz/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-scripting" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.scripting-api-1.0/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.asm/${asm2.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr2.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/${rhino.bundle.version}</bundle>
        <bundle>mvn:org.codehaus.groovy/groovy-all/${groovy.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jruby/${jruby.bundle.version}</bundle>
        <bundle>mvn:com.google.code.scriptengines/scriptengines-groovy/${scriptengines.version}</bundle>
        <bundle>mvn:com.google.code.scriptengines/scriptengines-javascript/${scriptengines.version}</bundle>
        <bundle>mvn:com.google.code.scriptengines/scriptengines-jruby/${scriptengines.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-scripting/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-validation" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle>mvn:org.apache.servicemix/servicemix-validation/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-saxon" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/${xmlresolver.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon/${saxon.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.apache.commons/commons-jexl/${commons-jexl.version}</bundle>
        <bundle dependency="true">mvn:org.apache.xbean/xbean-blueprint/${xbean.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-saxon/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-wsn2005" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <feature version="${activemq.version}">activemq</feature>
        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/${geronimo-ws-metadata.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-${jaxb.api.version}/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-${jaxws-api.version}/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/${jaxb-impl.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-wsn2005/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-snmp" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.snmp4j/${snmp4j.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-snmp/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-vfs" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-vfs/${commons-vfs.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-vfs/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-smpp" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/${jsmpp.bundle.version}</bundle>
        <bundle>mvn:org.apache.servicemix/servicemix-smpp/${servicemix.components.version}</bundle>
    </feature>
    <feature name="servicemix-exec" version="${servicemix.components.version}" resolver="(obr)" start-level='50'>
        <feature version="${servicemix.components.version}">servicemix-shared</feature>
        <bundle>mvn:org.apache.servicemix/servicemix-exec/${servicemix.components.version}</bundle>
    </feature>

    <!-- Default broker configuration -->
    <feature name="activemq-broker" version="${version}" resolver="(obr)" start-level='50'>
        <feature version="${activemq.version}">activemq-blueprint</feature>
        <bundle>blueprint:file:etc/activemq-broker.xml</bundle>
    </feature>

    <feature name="jms-appender" version="${version}" resolver="(obr)" start-level="50">
        <feature version="${version}">activemq-broker</feature>
        <bundle>mvn:org.apache.servicemix.logging/jms-appender/${version}</bundle>
    </feature>

    <!-- Activiti support -->
    <feature name="activiti" version="${activiti.version}" resolver="(obr)">
        <feature version="${cxf.version}">cxf-specs</feature>
        <feature version="${aries.transaction.version}">transaction</feature>
        <feature version="${camel.version}">camel</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.wsdl4j/${wsdl4j.bundle.version}</bundle>
        <bundle dependency="true">mvn:org.mybatis/mybatis/${mybatis.version}/</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.scripting-api-1.0/${servicemix.specs.version}</bundle>
        <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang.version}</bundle>
        <bundle dependency="true">mvn:com.h2database/h2/${h2.version}</bundle>
        <bundle>mvn:org.activiti/activiti-engine/${activiti.version}</bundle>
        <bundle>mvn:org.activiti/activiti-osgi/${activiti.version}</bundle>
        <bundle>mvn:org.activiti/activiti-camel/${activiti.version}</bundle>
        <bundle>mvn:org.apache.servicemix.activiti/org.apache.servicemix.activiti.config/${project.version}</bundle>
    </feature>
    
    <feature name="saaj" resolver='(obr)'>
        <bundle start-level='25'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saaj-impl/${saaj-impl.bundle.version}</bundle>
        <bundle start-level='10'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix.specs.version}</bundle>
        <bundle start-level='10' dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/${servicemix.specs.version}</bundle>
    </feature>

</features>
