<?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="${activemq.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}">
        <feature version="${servicemix.nmr.version}">nmr</feature>
        <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.apache.servicemix.bundles/org.apache.servicemix.bundles.drools/${drools.bundle.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.jruby/jruby-core/${jruby.version}</bundle>
        <bundle dependency="true">mvn:org.jruby/jruby-stdlib/${jruby.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.jaxb-api-${jaxb.api.version}/${servicemix.specs.version}</bundle>
        <bundle start-level='10'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-${jaxws-api.version}/${servicemix.specs.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>
