<?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.8.0</version>
        <relativePath>..</relativePath>
    </parent>

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

    <!-- some of the bundles is located at: http://repo1.maven.org/maven2/org/apache/servicemix/bundles/ -->
    <properties>
      <ant-bundle-version>1.7.0_4</ant-bundle-version>
      <antlr-bundle-version>2.7.7_2</antlr-bundle-version>
      <aopalliance-bundle-version>1.0_3</aopalliance-bundle-version>
      <asm-bundle-version>3.3_2</asm-bundle-version>
      <aws-java-sdk-bundle-version>1.1.1_1</aws-java-sdk-bundle-version>
      <bcel-bundle-version>5.2_3</bcel-bundle-version>
      <cglib-version>2.1_3_6</cglib-version>
      <cometd-java-server-bundle-version>2.1.1_1</cometd-java-server-bundle-version>
      <commons-beanutils-bundle-version>1.7.0_3</commons-beanutils-bundle-version>
      <commons-csv-version>1.0-r706899_3</commons-csv-version>
      <commons-codec-version>${commons-code}</commons-codec-version>
      <commons-codec-bundle-version>1.3_3</commons-codec-bundle-version>
      <commons-configuration-version>1.6</commons-configuration-version>
      <commons-daemon-version>1.0.5</commons-daemon-version>
      <commons-digester-version>2.1</commons-digester-version>
      <commons-httpclient-bundle-version>3.1_4</commons-httpclient-bundle-version>
      <commons-io-bundle-version>1.3.2_3</commons-io-bundle-version>
      <commons-jxpath-version>1.3</commons-jxpath-version>
      <commons-net-version>2.2</commons-net-version>
      <commons-management-version>1.0</commons-management-version>
      <commons-math-version>2.2</commons-math-version>
      <commons-pool-bundle-version>1.5.4_1</commons-pool-bundle-version>
      <dom4j-bundle-version>1.6.1_2</dom4j-bundle-version>
      <dozer-bundle-version>5.3.1</dozer-bundle-version>
      <el-api-1.0-version>1.0.1</el-api-1.0-version>
      <fastinfoset-version>1.2.7_3</fastinfoset-version>
      <features.file>features.xml</features.file>
      <flatpack-bundle-version>3.2.0_1</flatpack-bundle-version>
      <felix.configadmin.version>1.2.4</felix.configadmin.version>
      <felix.framework.version>2.0.5</felix.framework.version>
      <freemarker-bundle-version>2.3.18_1</freemarker-bundle-version>
      <geronimo-el-version>1.0.1</geronimo-el-version>
      <geronimo-jsp-version>1.0.1</geronimo-jsp-version>
      <geronimo-ws-metadata-spec-version>1.1.3</geronimo-ws-metadata-spec-version>
      <gernimo-annotation-spec-version>1.1.1</gernimo-annotation-spec-version>
      <guice-bundle-version>2.0_1</guice-bundle-version>
      <hadoop-bundle-version>0.20.203.0_1</hadoop-bundle-version>
      <hamcrest-bundle-version>1.2-dev1_1</hamcrest-bundle-version>
      <hapi-bundle-version>0.5.1_3</hapi-bundle-version>
      <hibernate-validator-bundle-version>4.1.0.Final_1</hibernate-validator-bundle-version>
      <httpcore-bundle-version>4.0-alpha6_1</httpcore-bundle-version>
      <ibatis-bundle-version>2.3.4.726_2</ibatis-bundle-version>
      <irclib-bundle-version>1.10_2</irclib-bundle-version>
      <isorelax-bundle-version>20050913_1</isorelax-bundle-version>
      <jackrabbit-version>1.5.3</jackrabbit-version>
      <java-apns-bundle-version>0.1.6_1</java-apns-bundle-version>
      <jaxb-bundle-version>2.2.1.1_1</jaxb-bundle-version>
      <jasypt-bundle-version>1.7_2</jasypt-bundle-version>
      <jetty-bundle-version>6.1.26_3</jetty-bundle-version>
      <jexcelapi-bundle-version>2.4.2_2</jexcelapi-bundle-version>
      <javax.el-bundle-version>2.1.0</javax.el-bundle-version>
      <jcr-bundle-version>1.0_2</jcr-bundle-version>
      <jdom-bundle-version>1.1_3</jdom-bundle-version>
      <jettison-bundle-version>1.3</jettison-bundle-version>
      <jing-bundle-version>20030619_1</jing-bundle-version>
      <jibx-bundle-version>1.2.2_1</jibx-bundle-version>
      <jodatime-bundle-version>1.5.2_2</jodatime-bundle-version>
      <josql-bundle-version>1.5_3</josql-bundle-version>
      <jruby-bundle-version>1.5.6_1</jruby-bundle-version>
      <jsch-bundle-version>0.1.44_1</jsch-bundle-version>
      <jsendnsca-bundle-version>1.3.1_1</jsendnsca-bundle-version>
      <jsp-api-2.1-version>1.0.1</jsp-api-2.1-version>
      <juel-bundle-version>2.1.2_1</juel-bundle-version>
      <junit-bundle-version>4.7_1</junit-bundle-version>
      <jsmpp-bundle-version>2.1.0_1</jsmpp-bundle-version>
      <lucene-bundle-version>3.0.3_1</lucene-bundle-version>
      <mvel-bundle-version>2.0.8_4</mvel-bundle-version>
      <mina-bundle-version>1.1.7_3</mina-bundle-version>
      <neethi-bundle-version>3.0.0</neethi-bundle-version>
      <oro-bundle-version>2.0.8_3</oro-bundle-version>
      <openjpa-bundle-version>1.2.1_2</openjpa-bundle-version>
      <opensaml-version>2.4.1_1</opensaml-version>
      <joda-time-version>1.6.2</joda-time-version>
      <oscache-bundle-version>2.4_3</oscache-bundle-version>
      <osgi.compendium.version>4.2.0</osgi.compendium.version>
      <protobuf-java-bundle-version>2.3.0_1</protobuf-java-bundle-version>
      <pax.web.version>0.7.2</pax.web.version>
      <quartz-bundle-version>1.8.3_2</quartz-bundle-version>
      <qpid-bundle-version>0.5.0_2</qpid-bundle-version>
      <quickfix-bundle-version>1.5.0_1</quickfix-bundle-version>
      <regexp-bundle-version>1.3_1</regexp-bundle-version>      
      <rome-bundle-version>1.0_1</rome-bundle-version>
      <saxon-bundle-version>9.1.0.8_1</saxon-bundle-version>
      <scala-bundle-version>2.9.0_1</scala-bundle-version>
      <jaxws.api.version>2.2</jaxws.api.version>
      <servlet-api-2.5-version>1.1.2</servlet-api-2.5-version>
      <serp-bundle-version>1.13.1_2</serp-bundle-version>
      <smack-bundle-version>3.1.0_1</smack-bundle-version>      
      <spring-version>3.0.5.RELEASE</spring-version>
      <spring-osgi-version>1.2.1</spring-osgi-version>
      <spring-castor-bundle-version>1.2.0</spring-castor-bundle-version>
      <spymemcached-bundle-version>2.5_1</spymemcached-bundle-version>
      <stringtemplate-bundle-version>3.2_3</stringtemplate-bundle-version>
      <tagsoup-bundle-version>1.2_3</tagsoup-bundle-version>
      <velocity-bundle-version>1.7_2</velocity-bundle-version>
      <xalan-bundle-version>2.7.1_3</xalan-bundle-version>
      <xerces-bundle-version>2.9.1_4</xerces-bundle-version>
      <xmlbeans-bundle-version>2.5.0_1</xmlbeans-bundle-version>
      <xmlschema-version>2.0</xmlschema-version>
      <xmlsec-bundle-version>1.4.5_1</xmlsec-bundle-version>
      <xmlresolver-bundle-version>1.2_3</xmlresolver-bundle-version>
      <xpp3-bundle-version>1.1.4c_3</xpp3-bundle-version>
      <xstream-bundle-version>1.3_3</xstream-bundle-version>
      <werken-xpath-bundle-version>0.9.4_3</werken-xpath-bundle-version>
      <woodstox-core-bundle-version>${woodstox-version}</woodstox-core-bundle-version>
      <stax2-api-bundle-version>3.1.1</stax2-api-bundle-version>
      <saaj-impl-version>1.3.2_2</saaj-impl-version>
      <wsdl4j-bundle-version>1.6.2_3</wsdl4j-bundle-version>
      <wss4j-version>1.6.1</wss4j-version>
    </properties>
    
    <!-- The validate plugin will export these provided dependencies bundles' export packages first -->  
    <dependencies>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
            <version>4.2.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.ops4j.pax.logging</groupId>
            <artifactId>pax-logging-api</artifactId>
            <version>${pax-logging-version}</version>
            <scope>provided</scope>
        </dependency>        
        <dependency>
            <groupId>org.ops4j.pax.logging</groupId>
            <artifactId>pax-logging-service</artifactId>
            <version>${pax-logging-version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.framework</artifactId>
            <version>${felix.framework.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.configadmin</artifactId>
            <version>${felix.configadmin.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.aries.blueprint</groupId>
            <artifactId>org.apache.aries.blueprint</artifactId>
            <version>${aries-blueprint-version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.karaf.shell</groupId>
            <artifactId>org.apache.karaf.shell.console</artifactId>
            <version>${karaf-version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <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>
 
    <profiles>
       <profile>
          <id>snapshot</id>
          <repositories>
            <repository>
              <id>pax.snapshot.repo</id>
              <name>PAX SNAPSHOT Deploy Repository </name>
              <url>https://oss.sonatype.org/content/repositories/ops4j-snapshots/</url>
              <releases>
                <enabled>false</enabled>
              </releases>
              <snapshots>
                <enabled>true</enabled>
              </snapshots>
            </repository>
          </repositories>
       </profile>
       <profile>
          <id>validate</id>
          <build>
             <plugins>
                <plugin>
                   <groupId>org.apache.karaf.tooling</groupId>
                   <artifactId>features-maven-plugin</artifactId>
                   <version>${karaf-version}</version>
                   <configuration>
                       <file>${project.build.directory}/classes/${features.file}</file>
                       <karafConfig>${project.build.directory}/classes/config.properties</karafConfig>
                       <jreVersion>jre-1.6</jreVersion>
                   </configuration>
                   <executions>
                     <execution>
                       <id>validate</id>
                       <phase>process-resources</phase>
                       <goals>
                         <goal>validate</goal>
                       </goals>
                     </execution>
                   </executions>
                   <dependencies>
                    <dependency>
                     <groupId>org.slf4j</groupId>
                     <artifactId>slf4j-jdk14</artifactId>
                     <version>${slf4j-version}</version>
                    </dependency>
                 </dependencies>
               </plugin>
              </plugins>
           </build>
        </profile>
     </profiles>

</project>
