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

  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-parent</artifactId>
    <version>2.15.5-SNAPSHOT</version>
    <relativePath>../parent</relativePath>
  </parent>

  <artifactId>components</artifactId>
  <name>Camel :: Components</name>
  <description>Camel Components</description>
  <packaging>pom</packaging>

  <modules>
	  <!-- we want to test these modules first to catch any errors early as possible -->
    <module>camel-test</module>
    <module>camel-testng</module>
    <module>camel-test-blueprint</module>
    <module>camel-test-spring</module>
    <module>camel-test-spring3</module>
    <module>camel-test-spring40</module>
    <module>camel-core-osgi</module>
    <module>camel-core-xml</module>
    <module>camel-blueprint</module>
    <module>camel-spring</module>
    <module>camel-bam</module>
    <module>camel-groovy</module>
    <module>camel-scala</module>
    <module>camel-http</module>
    <module>camel-http4</module>
    <module>camel-jetty-common</module>
    <module>camel-jetty8</module>
    <module>camel-jetty9</module>
    <!-- camel-jetty is used to republish the camel-jetty8 -->
    <module>camel-jetty</module>
    <module>camel-cxf</module>
    <module>camel-cxf-transport</module>
    <module>camel-web-standalone</module>
    <module>camel-jms</module>

    <!-- regular modules in alphabetic order -->
    <module>camel-ahc</module>
    <module>camel-ahc-ws</module>
    <module>camel-amqp</module>
    <module>camel-apns</module>
    <module>camel-atmos</module>
    <module>camel-atmosphere-websocket</module>
    <module>camel-atom</module>
    <module>camel-avro</module>
    <module>camel-aws</module>
    <module>camel-base64</module>
    <module>camel-beanio</module>
    <module>camel-beanstalk</module>
    <module>camel-bean-validator</module>
    <module>camel-barcode</module>
    <module>camel-bindy</module>
    <module>camel-box</module>
    <module>camel-cache</module>
    <module>camel-cassandraql</module>
    <module>camel-castor</module>
    <module>camel-cdi</module>
    <module>camel-chunk</module>
    <module>camel-cmis</module>
    <module>camel-cometd</module>
    <module>camel-context</module>
    <module>camel-couchdb</module>
    <module>camel-crypto</module>
    <module>camel-csv</module>
    <module>camel-disruptor</module>
    <module>camel-dns</module>
    <module>camel-docker</module>
    <module>camel-dozer</module>
    <module>camel-dropbox</module>
    <module>camel-eclipse</module>
    <module>camel-ejb</module>
    <module>camel-elasticsearch</module>
    <module>camel-eventadmin</module>
    <module>camel-exec</module>
    <module>camel-facebook</module>
    <module>camel-flatpack</module>
    <module>camel-fop</module>
    <module>camel-freemarker</module>
    <module>camel-ftp</module>
    <module>camel-gae</module>
    <module>camel-ganglia</module>
    <module>camel-geocoder</module>
    <module>camel-github</module>
    <module>camel-google-calendar</module>
    <module>camel-google-drive</module>
    <module>camel-google-mail</module>
    <module>camel-gora</module>
    <module>camel-gson</module>
    <module>camel-guava-eventbus</module>
    <module>camel-guice</module>
    <module>camel-hawtdb</module>
    <module>camel-hazelcast</module>
    <module>camel-hbase</module>
    <module>camel-hdfs</module>
    <module>camel-hdfs2</module>
    <module>camel-hipchat</module>
    <module>camel-hl7</module>
    <module>camel-ibatis</module>
    <module>camel-ical</module>
    <module>camel-infinispan</module>
    <module>camel-irc</module>
    <module>camel-jackson</module>
    <module>camel-javaspace</module>
    <module>camel-jaxb</module>
    <module>camel-jasypt</module>
    <module>camel-jclouds</module>
    <module>camel-jcr</module>
    <module>camel-jdbc</module>
    <module>camel-jgroups</module>
    <!-- camel-jibx doesn't work under JDK8, but may be build without tests -->
    <module>camel-jibx</module>
    <module>camel-jing</module>
    <module>camel-jira</module>
    <module>camel-jmx</module>
    <module>camel-josql</module>
    <module>camel-jpa</module>
    <module>camel-jsonpath</module>
    <module>camel-jsch</module>
    <module>camel-jt400</module>
    <module>camel-juel</module>
    <module>camel-jxpath</module>
    <module>camel-kafka</module>
    <module>camel-kestrel</module>
    <module>camel-krati</module>
    <module>camel-kura</module>
    <module>camel-ldap</module>
    <module>camel-leveldb</module>
    <module>camel-linkedin</module>
    <module>camel-lucene</module>
    <module>camel-mail</module>
    <module>camel-metrics</module>
    <module>camel-mina</module>
    <module>camel-mina2</module>
    <module>camel-mongodb</module>
    <module>camel-mqtt</module>
    <module>camel-msv</module>
    <module>camel-mustache</module>
    <module>camel-mvel</module>
    <module>camel-mybatis</module>
    <module>camel-nagios</module>
    <module>camel-netty</module>
    <module>camel-netty4</module>
    <module>camel-netty-http</module>
    <module>camel-netty4-http</module>
    <module>camel-ognl</module>
    <module>camel-olingo2</module>
    <module>camel-openshift</module>
    <module>camel-optaplanner</module>
    <module>camel-paxlogging</module>
    <module>camel-pgevent</module>
    <module>camel-printer</module>
    <module>camel-protobuf</module>
    <module>camel-quartz</module>
    <module>camel-quartz2</module>
    <module>camel-quickfix</module>
    <module>camel-rabbitmq</module>
    <module>camel-restlet</module>
    <module>camel-rmi</module>
    <module>camel-routebox</module>
    <module>camel-rss</module>
    <module>camel-ruby</module>
    <module>camel-rx</module>
    <module>camel-sap-netweaver</module>
    <module>camel-saxon</module>
    <module>camel-salesforce</module>
    <module>camel-schematron</module>
    <module>camel-scr</module>
    <module>camel-script</module>
    <module>camel-servlet</module>
    <module>camel-servletlistener</module>
    <module>camel-shiro</module>
    <module>camel-sip</module>
    <module>camel-smpp</module>
    <module>camel-snmp</module>
    <module>camel-sjms</module>
    <module>camel-soap</module>
    <module>camel-solr</module>
    <module>camel-spark-rest</module>
    <module>camel-splunk</module>
    <module>camel-spring-batch</module>
    <module>camel-spring-boot</module>
    <module>camel-spring-javaconfig</module>
    <module>camel-spring-integration</module>
    <module>camel-spring-ldap</module>
    <module>camel-spring-redis</module>
    <module>camel-spring-security</module>
    <module>camel-spring-ws</module>
    <module>camel-sql</module>
    <module>camel-ssh</module>
    <module>camel-stax</module>
    <module>camel-stomp</module>
    <module>camel-stream</module>
    <module>camel-stringtemplate</module>
    <module>camel-syslog</module>
    <module>camel-swagger</module>
    <module>camel-tagsoup</module>
    <module>camel-twitter</module>
    <module>camel-univocity-parsers</module>
    <module>camel-urlrewrite</module>
    <module>camel-velocity</module>
    <module>camel-vertx</module>
    <module>camel-weather</module>
    <module>camel-web</module>
    <module>camel-websocket</module>
    <module>camel-xmlbeans</module>
    <module>camel-xmljson</module>
    <module>camel-xmlrpc</module>
    <module>camel-xmlsecurity</module>
    <module>camel-xmpp</module>
    <module>camel-xstream</module>
    <module>camel-yammer</module>
    <module>camel-zipfile</module>
    <module>camel-zookeeper</module>
  </modules>


  <build>
    <pluginManagement>
      <plugins>
        <!-- Eclipse m2e Lifecycle Management -->
        <plugin>
         <groupId>org.eclipse.m2e</groupId>
         <artifactId>lifecycle-mapping</artifactId>
         <version>${lifecycle-mapping-version}</version>
         <configuration>
           <lifecycleMappingMetadata>
             <pluginExecutions>
               <pluginExecution>
                 <pluginExecutionFilter>
                   <groupId>org.apache.camel</groupId>
                   <artifactId>camel-package-maven-plugin</artifactId>
                   <versionRange>${project.version}</versionRange>
                   <goals>
                     <goal>prepare-components</goal>
                   </goals>
                 </pluginExecutionFilter>
                 <action>
                   <ignore />
                 </action>
               </pluginExecution>
             </pluginExecutions>
           </lifecycleMappingMetadata>
         </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-package-maven-plugin</artifactId>
        <version>${project.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>prepare-components</goal>
            </goals>
            <phase>generate-resources</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <!-- enables the APT dependency so that it can be disabled in IDE builds -->
    <profile>
      <id>apt</id>
      <activation>
        <property>
            <name>!dummy.prop.to.keep.this.profile.active.even.when.other.profiles.are.active</name>
        </property>
      </activation>

      <dependencies>
        <!-- enable the APT processor -->
        <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>apt</artifactId>
          <version>${project.version}</version>
          <scope>provided</scope>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
</project>
