<?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="org.ops4j.pax.web-4.3.6.redhat-001" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0">

    <feature name="pax-jetty" description="Provide Jetty engine support" version="9.2.23.v20171218">
        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/2.7.0</bundle>
        <bundle dependency="true" start-level="30">mvn:javax.servlet/javax.servlet-api/3.1.0.redhat-1</bundle>
        <bundle dependency="true" start-level="30">mvn:com.sun.mail/javax.mail/1.5.5</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle dependency="true" start-level="30">mvn:javax.annotation/javax.annotation-api/1.2</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.geronimo.specs/geronimo-jaspic_1.0_spec/1.1</bundle>
        <bundle dependency="true" start-level="30">mvn:org.ow2.asm/asm-all/5.0.4</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-continuation/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-http/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-io/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-jaspi/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-jmx/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-jndi/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-plus/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-rewrite/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-security/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-server/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-servlet/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-servlets/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-util/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-util-ajax/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-webapp/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-jaas/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-xml/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-client/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/1.0.6</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.websocket/websocket-server/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.websocket/websocket-client/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.websocket/websocket-common/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.websocket/websocket-servlet/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.websocket/websocket-api/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.websocket/javax-websocket-server-impl/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.websocket/javax-websocket-client-impl/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:javax.websocket/javax.websocket-api/1.1</bundle>

        <!--capability>
            pax.http.provider;provider:=jetty
        </capability-->
    </feature>
    
    <feature name="pax-jetty-spdy" version="4.3.6.redhat-001" description="Optional additional feature to run Jetty with SPDY">
        <details>
            Please beware, for this feature to run properly you'll need to add the alpn-boot.jar to the
            lib/ext folder of Karaf in some cases of your JVM.
        
            make sure you have the following jar from it's maven coordinate installed: 
            
            mvn:org.mortbay.jetty.alpn/alpn-boot/8.1.6.v20151105 (and yes version 8.x is intentional there is no newer version available)
            
        </details>
        <feature version="[9.0,10.0)">pax-jetty</feature>
        <bundle dependency="true" start-level="1">mvn:org.eclipse.jetty.osgi/jetty-osgi-alpn/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.spdy/spdy-server/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.spdy/spdy-core/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.spdy/spdy-client/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.spdy/spdy-http-server/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty.spdy/spdy-http-common/9.2.23.v20171218</bundle>
        <bundle start-level="30">mvn:org.eclipse.jetty/jetty-client/9.2.23.v20171218</bundle>
    </feature>

    <feature name="pax-http-jetty" version="4.3.6.redhat-001">
        <configfile finalname="/etc/jetty.xml">mvn:org.ops4j.pax.web/pax-web-features/4.3.6/xml/jettyconfig</configfile>
        <config name="org.ops4j.pax.web">
            org.osgi.service.http.port=8181
            javax.servlet.context.tempdir=${karaf.data}/pax-web-jsp
            org.ops4j.pax.web.config.file=${karaf.base}/etc/jetty.xml
        </config>
        <feature version="[9.0,10.0)">pax-jetty</feature>

        <bundle dependency="true" start-level="20">mvn:org.ow2.asm/asm-all/5.0.4</bundle>
        <bundle dependency="true" start-level="20">mvn:org.apache.xbean/xbean-bundleutils/4.5</bundle>
        <bundle dependency="true" start-level="20">mvn:org.apache.xbean/xbean-reflect/4.5</bundle>
        <bundle dependency="true" start-level="20">mvn:org.apache.xbean/xbean-finder/4.5</bundle>

        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-api/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-spi/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-runtime/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-jetty/4.3.6</bundle>
    </feature>

    <feature name="pax-http" version="4.3.6.redhat-001" description="Implementation of the OSGI HTTP Service">
        <details>Allows to publish servlets using pax web and jetty</details>
        <feature version="[4.3,4.4)">pax-http-jetty</feature>
    </feature>

    <feature name="pax-http-whiteboard" description="Provide HTTP Whiteboard pattern support" version="4.3.6.redhat-001">
        <feature version="[4.3,4.4)">pax-http</feature>
        <bundle dependency="true" start-level="30">mvn:org.eclipse.jdt.core.compiler/ecj/4.4.2.redhat-1</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-jsp/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-extender-whiteboard/4.3.6</bundle>
    </feature>

    <feature name="pax-war" description="Provide support of a full WebContainer" version="4.3.6.redhat-001">
        <config name="org.ops4j.pax.url.war">
            org.ops4j.pax.url.war.importPaxLoggingPackages=true
        </config>
        <feature version="[4.3,4.4)">pax-http-whiteboard</feature>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-jsp/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-extender-war/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-extender-whiteboard/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-deployer/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.url/pax-url-war/2.5.2/jar/uber</bundle>
    </feature>

    <feature name="pax-http-tomcat" description="Provide Tomcat support" version="4.3.6.redhat-001">
        <config name="org.ops4j.pax.url.war">
            org.ops4j.pax.url.war.importPaxLoggingPackages=true
        </config>
        <config name="org.ops4j.pax.web">
            org.osgi.service.http.port=8181
            javax.servlet.context.tempdir=${karaf.data}/pax-web-jsp
        </config>
        <feature>scr</feature>
        <feature version="[4.3,4.4)">pax-http</feature>
        <bundle dependency="true" start-level="30">mvn:javax.el/javax.el-api/2.2.5</bundle>
        <bundle dependency="true" start-level="30">mvn:org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-core/8.0.14.1</bundle>
        <bundle dependency="true" start-level="30">mvn:org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-websocket/8.0.14.1</bundle>
        <bundle dependency="true" start-level="30">mvn:org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-logging-juli/8.0.14.1</bundle>
        <bundle dependency="true" start-level="30">mvn:javax.servlet/javax.servlet-api/3.1.0.redhat-1</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.geronimo.specs/geronimo-atinject_1.0_spec/1.0</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr303-api-1.0.0/2.7.0</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/1.3.9_1</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/2.7.0</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.java-persistence-api-2.0/2.7.0</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.javamail-api-1.4/2.7.0</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.2/2.7.0</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.7.0</bundle>

        <bundle dependency="true" start-level="30">mvn:org.apache.geronimo.specs/geronimo-ejb_3.1_spec/1.0</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.geronimo.specs/geronimo-osgi-registry/1.1</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.geronimo.specs/geronimo-jaxrpc_1.1_spec/2.1</bundle>

        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/2.7.0</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/2.7.0</bundle>

        <bundle dependency="true" start-level="30">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle dependency="true" start-level="30">mvn:org.apache.geronimo.specs/geronimo-jaspic_1.0_spec/1.1</bundle>

        <!--<bundle dependency="true" start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxp-api-1.3/2.7.0</bundle>-->
        <bundle dependency="true" start-level="30">mvn:org.apache.geronimo.specs/geronimo-annotation_1.1_spec/1.0.1</bundle>
        <bundle dependency="true" start-level="30">mvn:javax.websocket/javax.websocket-api/1.1</bundle>

        <bundle dependency="true" start-level="20">mvn:org.ow2.asm/asm-all/5.0.4</bundle>
        <bundle dependency="true" start-level="20">mvn:org.apache.xbean/xbean-bundleutils/4.5</bundle>
        <bundle dependency="true" start-level="20">mvn:org.apache.xbean/xbean-reflect/4.5</bundle>
        <bundle dependency="true" start-level="20">mvn:org.apache.xbean/xbean-finder/4.5</bundle>

        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-api/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-spi/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-runtime/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-tomcat/4.3.6</bundle>
        <bundle start-level="30">mvn:org.ops4j.pax.web/pax-web-jsp/4.3.6</bundle>

        <!--capability>
            pax.http.provider;provider:=tomcat
        </capability-->
    </feature>

    <feature name="pax-war-tomcat" version="4.3.6.redhat-001">
        <feature version="[4.3,4.4)">pax-http-tomcat</feature>
        <feature version="[4.3,4.4)">pax-war</feature>
    </feature>

    <feature name="pax-jsf-support" version="4.3.6.redhat-001">
        <feature version="[4.3,4.4)">pax-war</feature>
        <feature>pax-cdi-web-openwebbeans</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr250-1.0/2.7.0</bundle>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr303-api-1.0.0/2.7.0</bundle>
        <bundle dependency="true">mvn:commons-beanutils/commons-beanutils/1.9.4.redhat-00002</bundle>
        <bundle dependency="true">mvn:commons-collections/commons-collections/3.2.2.redhat-2</bundle>
        <bundle dependency="true">mvn:commons-codec/commons-codec/1.10.0.redhat-5</bundle>
        <bundle dependency="true">mvn:commons-digester/commons-digester/2.1</bundle>
        <bundle dependency="true">mvn:org.apache.geronimo.bundles/commons-discovery/0.4_1</bundle>
        <bundle>mvn:org.apache.myfaces.core/myfaces-api/2.2.9</bundle>
        <bundle>mvn:org.apache.myfaces.core/myfaces-impl/2.2.9</bundle>
    </feature>

</features>
