<?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 xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" name="org-apache-tamaya-all">
    <features name="org-apache-tamaya-config" version="${project.version}">
        <features name="org-apache-tamaya-configadmin" version="${project.version}">
            <bundle>mvn:org.apache.tamaya.ext/tamaya-osgi_alpha/${project.version}/jar</bundle>
            <bundle>mvn:org.apache.tamaya.ext/tamaya-functions/${project.version}/jar</bundle>
            <bundle>mvn:org.apache.tamaya/tamaya-spisupport/${project.version}/jar</bundle>
            <bundle>mvn:org.apache.tamaya.ext/tamaya-osgi-karaf_alpha/${project.version}/jar</bundle>
            <features name="org-apache-tamaya-minimal" version="${project.version}">
                <feature name="org-apache-tamaya-api" version="${project.version}">
                    <bundle>mvn:org.apache.tamaya/tamaya-api/${project.version}/jar</bundle>
                    <bundle>mvn:org.apache.geronimo.specs/geronimo-annotation_1.2_spec/1.0-alpha-1/jar</bundle>
                </feature>
                <feature name="org-apache-tamaya-core" version="${project.version}">
                    <bundle>mvn:org.apache.tamaya/tamaya-core/${project.version}/jar</bundle>
                </feature>
            </features>
        </features>
        <features name="org-apache-tamaya-config-injection" version="${project.version}">
            <bundle>mvn:org.apache.tamaya.ext/tamaya-osgi-injection_alpha/${project.version}/jar</bundle>
            <bundle>mvn:org.apache.tamaya.ext/tamaya-injection-api/${project.version}/jar</bundle>
            <bundle>mvn:org.apache.tamaya.ext/tamaya-injection-se/${project.version}/jar</bundle>
        </features>
        <feature name="org-apache-tamaya-config-updater" version="${project.version}">
            <bundle>mvn:org.apache.tamaya.ext/tamaya-events/${project.version}/jar</bundle>
            <bundle>mvn:org.apache.tamaya.ext/tamaya-osgi-updater_alpha/${project.version}/jar</bundle>
        </feature>
    </features>
    <features name="org-apache-tamaya-formats" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-formats/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-formats-json" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-formats-json/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-formats-yaml" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-formats-yaml/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-filter" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-filter/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-resources" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-resources/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-resolver" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-resolver/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-mutable-config" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-mutable-config/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-spring" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-spring/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-optional" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-optional/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-jndi" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-jndi/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-features" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-features/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-events" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-events/${project.version}/jar</bundle>
    </features>
    <features name="org-apache-tamaya-uom" version="${project.version}">
        <bundle>mvn:org.apache.tamaya.ext/tamaya-uom/${project.version}/jar</bundle>
    </features>
</features>
