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

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

  <modules>
    <!-- components used by camel-core -->
    <module>camel-browse</module>
    <module>camel-controlbus</module>
    <module>camel-dataformat</module>
    <module>camel-direct</module>
    <module>camel-directvm</module>
    <module>camel-language</module>
    <module>camel-log</module>
    <module>camel-ref</module>
    <module>camel-seda</module>
    <module>camel-stub</module>
    <module>camel-timer</module>
    <module>camel-validator</module>
    <module>camel-vm</module>

    <!-- we want to test these modules first to catch any errors early as possible -->
    <module>camel-test</module>
    <module>camel-test-blueprint</module>
    <module>camel-test-cdi</module>
    <module>camel-test-karaf</module>
    <module>camel-test-spring</module>
    <module>camel-testcontainers</module>
    <module>camel-testcontainers-spring</module>
    <module>camel-core-osgi</module>
    <module>camel-core-xml</module>
    <module>camel-blueprint</module>
    <module>camel-spring</module>
    <module>camel-groovy</module>
    <module>camel-http-common</module>
    <module>camel-http4</module>
    <module>camel-hystrix</module>
    <module>camel-ipfs</module>
    <module>camel-jetty-common</module>
    <module>camel-jetty</module>
    <module>camel-jetty9</module>
    <module>camel-undertow</module>
    <module>camel-cxf</module>
    <module>camel-cxf-transport</module>
    <module>camel-jms</module>
    <module>camel-master</module>
    <module>camel-service</module>

    <!-- build it first so it can be used by other component to test i.e. ServiceCall EIP -->
    <module>camel-ribbon</module>

    <!-- regular modules in alphabetic order -->
    <module>camel-activemq</module>
    <module>camel-ahc</module>
    <module>camel-ahc-ws</module>
    <module>camel-amqp</module>
    <module>camel-apns</module>
    <module>camel-as2</module>
    <module>camel-asn1</module>
    <module>camel-asterisk</module>
    <module>camel-atmos</module>
    <module>camel-atmosphere-websocket</module>
    <module>camel-atom</module>
    <module>camel-atomix</module>
    <module>camel-avro</module>
    <module>camel-aws</module>
    <module>camel-aws-xray</module>
    <module>camel-azure</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-bonita</module>
    <module>camel-boon</module>
    <module>camel-box</module>
    <module>camel-braintree</module>
    <module>camel-caffeine</module>
    <module>camel-cassandraql</module>
    <module>camel-cdi</module>
    <module>camel-chunk</module>
    <module>camel-cm-sms</module>
    <module>camel-cmis</module>
    <module>camel-coap</module>
    <module>camel-cometd</module>
    <module>camel-consul</module>
    <module>camel-corda</module>
    <module>camel-couchbase</module>
    <module>camel-couchdb</module>
    <module>camel-crypto</module>
    <module>camel-crypto-cms</module>
    <module>camel-csv</module>
    <module>camel-digitalocean</module>
    <module>camel-disruptor</module>
    <module>camel-dns</module>
    <module>camel-docker</module>
    <module>camel-dozer</module>
    <module>camel-drill</module>
    <module>camel-dropbox</module>
    <module>camel-ehcache</module>
    <module>camel-ejb</module>
    <module>camel-elasticsearch-rest</module>
    <module>camel-elsql</module>
    <module>camel-etcd</module>
    <module>camel-eventadmin</module>
    <module>camel-json-validator</module>
    <module>camel-exec</module>
    <module>camel-facebook</module>
    <module>camel-fastjson</module>
    <module>camel-fhir</module>
    <module>camel-file</module>
    <module>camel-flatpack</module>
    <module>camel-flink</module>
    <module>camel-fop</module>
    <module>camel-freemarker</module>
    <module>camel-ftp</module>
    <module>camel-ganglia</module>
    <module>camel-geocoder</module>
    <module>camel-git</module>
    <module>camel-github</module>
    <module>camel-google-calendar</module>
    <module>camel-google-sheets</module>
    <module>camel-google-drive</module>
    <module>camel-google-mail</module>
    <module>camel-google-bigquery</module>
    <module>camel-google-pubsub</module>
    <module>camel-gora</module>
    <module>camel-grape</module>
    <module>camel-grpc</module>
    <module>camel-gson</module>
    <module>camel-guava-eventbus</module>
    <module>camel-hazelcast</module>
    <module>camel-hbase</module>
    <module>camel-hdfs2</module>
    <module>camel-headersmap</module>
    <module>camel-hipchat</module>
    <module>camel-hl7</module>
    <module>camel-ical</module>
    <module>camel-iec60870</module>
    <module>camel-ignite</module>
    <module>camel-infinispan</module>
    <module>camel-influxdb</module>
    <module>camel-iota</module>
    <module>camel-irc</module>
    <module>camel-ironmq</module>
    <module>camel-jackson</module>
    <module>camel-jacksonxml</module>
    <module>camel-jaxb</module>
    <module>camel-jasypt</module>
    <module>camel-jbpm</module>
    <module>camel-jcache</module>
    <module>camel-jclouds</module>
    <module>camel-jcr</module>
    <module>camel-jdbc</module>
    <module>camel-jgroups</module>
    <module>camel-jgroups-raft</module>
    <!-- camel-jibx doesn't work under JDK8, but may be build without tests -->
    <module>camel-jibx</module>
    <module>camel-jing</module>
    <module>camel-jmx</module>
    <module>camel-jolt</module>
    <module>camel-johnzon</module>
    <module>camel-jpa</module>
    <module>camel-jsonpath</module>
    <module>camel-jsch</module>
    <module>camel-jt400</module>
    <module>camel-kafka</module>
    <module>camel-kubernetes</module>
    <module>camel-kura</module>
    <module>camel-ldap</module>
    <module>camel-ldif</module>
    <module>camel-leveldb</module>
    <module>camel-linkedin</module>
    <module>camel-lra</module>
    <module>camel-lucene</module>
    <module>camel-lumberjack</module>
    <module>camel-lzf</module>
    <module>camel-mail</module>
    <module>camel-metrics</module>
    <module>camel-micrometer</module>
    <module>camel-milo</module>
    <module>camel-mina2</module>
    <module>camel-mllp</module>
    <module>camel-mongodb3</module>
    <module>camel-mongodb-gridfs</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-nats</module>
    <module>camel-netty4</module>
    <module>camel-netty4-http</module>
    <module>camel-nsq</module>
    <module>camel-ognl</module>
    <module>camel-olingo2</module>
    <module>camel-olingo4</module>
    <module>camel-openstack</module>
    <module>camel-opentracing</module>
    <module>camel-optaplanner</module>
    <module>camel-paho</module>
    <module>camel-paxlogging</module>
    <module>camel-pdf</module>
    <module>camel-pgevent</module>
    <module>camel-printer</module>
    <module>camel-properties</module>
    <module>camel-protobuf</module>
    <module>camel-pubnub</module>
    <module>camel-quartz2</module>
    <module>camel-quickfix</module>
    <module>camel-rabbitmq</module>
    <module>camel-reactive-streams</module>
    <module>camel-reactor</module>
    <module>camel-rest</module>
    <module>camel-rest-swagger</module>
    <module>camel-restlet</module>
    <module>camel-rmi</module>
    <module>camel-rss</module>
    <module>camel-rxjava2</module>
    <module>camel-saga</module>
    <module>camel-sap-netweaver</module>
    <module>camel-saxon</module>
    <module>camel-scheduler</module>
    <module>camel-salesforce</module>
    <module>camel-schematron</module>
    <module>camel-script</module>
    <module>camel-servicenow</module>
    <module>camel-servlet</module>
    <module>camel-shiro</module>
    <module>camel-sip</module>
    <module>camel-smpp</module>
    <module>camel-snakeyaml</module>
    <module>camel-snmp</module>
    <module>camel-sjms</module>
    <module>camel-sjms2</module>
    <module>camel-slack</module>
    <module>camel-soap</module>
    <module>camel-solr</module>
    <module>camel-spark</module>
    <module>camel-spark-rest</module>
    <module>camel-splunk</module>
    <module>camel-spring-batch</module>
    <module>camel-spring-boot</module>
    <module>camel-spring-cloud</module>
    <module>camel-spring-cloud-consul</module>
    <module>camel-spring-cloud-netflix</module>
    <module>camel-spring-cloud-zookeeper</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-java</module>
    <module>camel-tagsoup</module>
    <module>camel-tarfile</module>
    <module>camel-telegram</module>
    <module>camel-tika</module>
    <module>camel-thrift</module>
    <module>camel-twilio</module>
    <module>camel-twitter</module>
    <module>camel-univocity-parsers</module>
    <module>camel-velocity</module>
    <module>camel-vertx</module>
    <module>camel-weather</module>
    <module>camel-web3j</module>
    <module>camel-websocket</module>
    <module>camel-wordpress</module>
    <module>camel-xchange</module>
    <module>camel-xmlsecurity</module>
    <module>camel-xmpp</module>
    <module>camel-xslt</module>
    <module>camel-xstream</module>
    <module>camel-yammer</module>
    <module>camel-zendesk</module>
    <module>camel-zipfile</module>
    <module>camel-zipkin</module>
    <module>camel-zookeeper</module>
    <module>camel-zookeeper-master</module>
    <module>camel-websocket-jsr356</module>
  </modules>


  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-package-maven-plugin</artifactId>
        <version>${project.version}</version>
        <configuration>
            <!-- set to true to make build fail fast if missing documentation in docs files -->
            <failFast>false</failFast>
        </configuration>
        <executions>
          <execution>
            <id>generate</id>
            <goals>
              <goal>prepare-components</goal>
              <goal>generate-components-list</goal>
            </goals>
            <phase>process-classes</phase>
          </execution>
          <execution>
            <id>validate</id>
            <goals>
              <goal>validate-components</goal>
              <goal>prepare-spring-boot-starter</goal>
              <goal>prepare-spring-boot-auto-configuration</goal>
              <goal>generate-legal</goal>
            </goals>
            <phase>prepare-package</phase>
          </execution>
          <execution>
            <id>readme</id>
            <goals>
              <goal>update-readme</goal>             
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-generated-resources</id>
            <goals>
              <goal>resources</goal>
            </goals>
            <phase>process-classes</phase>
            <configuration>
              <resources>
                <resource>
                  <directory>${basedir}/target/generated/camel/components</directory>
                </resource>
                <resource>
                  <directory>${basedir}/target/generated/camel/dataformats</directory>
                </resource>
                <resource>
                  <directory>${basedir}/target/generated/camel/languages</directory>
                </resource>
                <resource>
                  <directory>${basedir}/target/generated/camel/others</directory>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <configuration>
          <instructions>
            <_plugin>
              org.apache.felix.bundleplugin.BlueprintPlugin,
              aQute.lib.spring.SpringXMLType,
              org.apache.felix.bundleplugin.JpaPlugin,
              org.apache.camel.maven.bundle.CamelPlugin
            </_plugin>
          </instructions>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-bundle-plugin</artifactId>
            <version>${project.version}</version>
          </dependency>
        </dependencies>
      </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 Camel APT processors -->
        <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>apt</artifactId>
          <version>${project.version}</version>
          <scope>provided</scope>
        </dependency>
      </dependencies>
    </profile>
  </profiles>

</project>
