<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <!--

        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.
    -->

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.camel</groupId>
        <artifactId>karaf</artifactId>
        <version>2.0-SNAPSHOT</version>
    </parent>

    <groupId>org.apache.camel.karaf</groupId>
    <artifactId>features</artifactId>
    <packaging>pom</packaging>
    <version>2.0-SNAPSHOT</version>
    <name>Camel :: Platforms :: Apache Karaf :: Features</name>

    <properties>
      <abdera-bundle-version>0.4.0-incubating_1</abdera-bundle-version>
      <ant-bundle-version>1.7.0_1</ant-bundle-version>
      <antlr-bundle-version>3.0.1_1</antlr-bundle-version>
      <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>
      <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>
      <commons-httpclient-bundle-version>3.1_1</commons-httpclient-bundle-version>
      <commons-io-bundle-version>1.3.2_1</commons-io-bundle-version>
      <commons-jxpath-version>1.3</commons-jxpath-version>
      <commons-lang-version>2.4</commons-lang-version>
      <commons-net-version>2.0</commons-net-version>
      <flatpack-bundle-version>3.1.1_1</flatpack-bundle-version>
      <freemarker-bundle-version>2.3.15_1</freemarker-bundle-version>
      <geronimo-el-version>1.0.1</geronimo-el-version>
      <geronimo-jaxws-spec-version>1.1.2</geronimo-jaxws-spec-version>
      <geronimo-jsp-version>1.0.1</geronimo-jsp-version>
      <geronimo-ws-metadata-spec-version>1.1.2</geronimo-ws-metadata-spec-version>
      <hamcrest-bundle-version>1.2-dev1_1</hamcrest-bundle-version>
      <ibatis-bundle-version>2.3.4.726_1</ibatis-bundle-version>
      <jackrabbit-version>1.5.3</jackrabbit-version>
      <jaxb-bundle-version>2.1.6_1</jaxb-bundle-version>
      <jexcelapi-bundle-version>2.4.2_1</jexcelapi-bundle-version>
      <hapi-bundle-version>0.5.1_1</hapi-bundle-version>
      <httpcore-bundle-version>4.0-alpha6_1</httpcore-bundle-version>
      <irclib-bundle-version>1.10_1</irclib-bundle-version>
      <isorelax-bundle-version>20050913_1</isorelax-bundle-version>
      <jcr-bundle-version>1.0_1</jcr-bundle-version>
      <jdom-bundle-version>1.1_1</jdom-bundle-version>
      <jettison-bundle-version>1.0.1_1</jettison-bundle-version>
      <jetty-cometd-bundle-version>6.1.11_1</jetty-cometd-bundle-version>
      <jing-bundle-version>20030619_1</jing-bundle-version>
      <jodatime-bundle-version>1.5.2_1</jodatime-bundle-version>
      <josql-bundle-version>1.5_1</josql-bundle-version>
      <jsch-bundle-version>0.1.31_1</jsch-bundle-version>
      <juel-bundle-version>2.1.0_1</juel-bundle-version>
      <junit-bundle-version>4.4_1</junit-bundle-version>
      <mvel-bundle-version>2.0.9_1</mvel-bundle-version>
      <neethi-version>2.0.4</neethi-version>
      <ognl-bundle-version>2.7.3_1</ognl-bundle-version>
      <oro-bundle-version>2.0.8_1</oro-bundle-version>
      <oscache-bundle-version>2.4_1</oscache-bundle-version>
      <quartz-bundle-version>1.6.1_1</quartz-bundle-version>
      <qpid-bundle-version>1.0-incubating-M2.1_1</qpid-bundle-version>
      <saxon-bundle-version>9.1.0.1_1</saxon-bundle-version>
      <servicemix-specs-version>1.3.0</servicemix-specs-version>
      <servlet-api-2.5-version>2.5-20081211</servlet-api-2.5-version>
      <smack-bundle-version>3.0.4_1</smack-bundle-version>      
      <spring-javaconfig-version>1.0.0-20090215</spring-javaconfig-version>      
      <stringtemplate-bundle-version>3.2_1</stringtemplate-bundle-version>
      <tagsoup-bundle-version>1.2_1</tagsoup-bundle-version>
      <velocity-bundle-version>1.6.2_1</velocity-bundle-version>
      <xalan-bundle-version>2.7.1_1</xalan-bundle-version>
      <xerces-bundle-version>2.9.1_1</xerces-bundle-version>
      <xmlbeans-bundle-version>2.4.0_2</xmlbeans-bundle-version>
      <xmlschema-version>1.4.4</xmlschema-version>
      <xmlsec-bundle-version>1.3.0_1</xmlsec-bundle-version>
      <xmlresolver-bundle-version>1.2_1</xmlresolver-bundle-version>
      <xpp3-bundle-version>1.1.4c_1</xpp3-bundle-version>
      <xstream-bundle-version>1.3_1</xstream-bundle-version>
      <werken-xpath-bundle-version>0.9.4_1</werken-xpath-bundle-version>
      <wsdl4j-bundle-version>1.6.1_1</wsdl4j-bundle-version>
    </properties>

    <build>
      <resources>
        <resource>
          <directory>src/main/resources</directory>
          <filtering>true</filtering>
        </resource>
      </resources>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <executions>
             <execution>
                <id>filter</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>resources</goal>
                </goals>
             </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-artifacts</id>
                <phase>package</phase>
                <goals>
                  <goal>attach-artifact</goal>
                </goals>
                <configuration>
                  <artifacts>
                    <artifact>
                      <file>target/classes/features.xml</file>
                       <type>xml</type>
                       <classifier>features</classifier>
                     </artifact>
                   </artifacts>
                 </configuration>
               </execution>
           </executions>
         </plugin>
      </plugins>
    </build>

</project>
