<?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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-dependencies</artifactId>
        <version>3.4.1</version>
    </parent>

    <groupId>org.apache.camel.karaf</groupId>
    <artifactId>karaf</artifactId>
    <version>3.4.1</version>
    <packaging>pom</packaging>

    <name>Camel Karaf</name>
    <description>Camel Karaf Root POM</description>
    <url>https://camel.apache.org</url>
    <inceptionYear>2007</inceptionYear>

    <developers>
        <developer>
            <name>The Apache Camel Team</name>
            <email>dev@camel.apache.org</email>
            <url>https://camel.apache.org</url>
            <organization>Apache Software Foundation</organization>
            <organizationUrl>http://apache.org/</organizationUrl>
        </developer>
    </developers>

    <mailingLists>
        <mailingList>
            <name>Development List</name>
            <subscribe>dev-subscribe@camel.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@camel.apache.org</unsubscribe>
            <post>dev@camel.apache.org</post>
        </mailingList>
        <mailingList>
            <name>User List</name>
            <subscribe>users-subscribe@camel.apache.org</subscribe>
            <unsubscribe>users-unsubscribe@camel.apache.org</unsubscribe>
            <post>users@camel.apache.org</post>
        </mailingList>
        <mailingList>
            <name>Commits List</name>
            <subscribe>commits-subscribe@camel.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@camel.apache.org</unsubscribe>
            <post>commits@camel.apache.org</post>
        </mailingList>
    </mailingLists>

    <modules>
        <module>tooling</module>
        <module>core</module>
        <module>components</module>
        <module>platforms</module>
        <module>catalog</module>
        <module>tests</module>
        <module>bom</module>
    </modules>

    <scm>
        <connection>scm:git:http://gitbox.apache.org/repos/asf/camel-karaf.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/camel-karaf.git</developerConnection>
        <url>https://gitbox.apache.org/repos/asf?p=camel-karaf.git;a=summary</url>
        <tag>camel-karaf-3.4.1</tag>
    </scm>
    <issueManagement>
        <system>jira</system>
        <url>https://issues.apache.org/jira/browse/CAMEL</url>
    </issueManagement>
    <distributionManagement>
        <site>
            <id>apache.website</id>
            <url>${site-repo-url}</url>
        </site>
    </distributionManagement>

    <properties>

        <!-- unify the encoding for all the modules -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <site-repo-url>scpexe://people.apache.org/www/camel.apache.org/maven/</site-repo-url>
        <jdk.version>1.8</jdk.version>
        <compiler.fork>false</compiler.fork>

        <!-- Camel target version -->
        <camel-version>3.4.1</camel-version>

        <ant-bundle-version>1.7.0_6</ant-bundle-version>
        <antlr-bundle-version>3.5.2_1</antlr-bundle-version>
        <antlr-runtime-bundle-version>3.5.2_1</antlr-runtime-bundle-version>
        <apache-any23-bundle-version>2.3_1</apache-any23-bundle-version>
        <apache-mime4j-version>0.8.3</apache-mime4j-version>
        <asciidoctorj-version>2.1.0</asciidoctorj-version>
        <asm-version>5.0.4</asm-version>
        <asterisk-java-bundle-version>1.0.0-final_1</asterisk-java-bundle-version>
        <automaton-bundle-version>1.11-8_1</automaton-bundle-version>
        <avalon-bundle-version>4.3.1_1</avalon-bundle-version>
        <avro-bundle-version>1.9.1_1</avro-bundle-version>
        <aws-java-sdk-bundle-version>1.11.714_1</aws-java-sdk-bundle-version>
        <azure-core-bundle-version>1.4.0_1</azure-core-bundle-version>
        <azure-storage-common-bundle-version>12.6.1_1</azure-storage-common-bundle-version>
        <azure-storage-blob-bundle-version>12.6.1_1</azure-storage-blob-bundle-version>
        <azure-storage-queue-bundle-version>12.5.1_1</azure-storage-queue-bundle-version>
        <azure-storage-java-sdk-bundle-version>8.6.0_1</azure-storage-java-sdk-bundle-version>
        <azure-guava-version>20.0</azure-guava-version>
        <backport-util-concurrent-version>3.1</backport-util-concurrent-version>
        <bcel-bundle-version>5.2_4</bcel-bundle-version>
        <bndlib-version>2.4.0</bndlib-version>
        <build-helper-maven-plugin-version>1.12</build-helper-maven-plugin-version>
        <c3p0-bundle-version>0.9.5.5_1</c3p0-bundle-version>
        <cassandra-metrics-version>3.2.6</cassandra-metrics-version>
        <chunk-templates-bundle-version>3.5.0_1</chunk-templates-bundle-version>
        <cometd-java-server-bundle-version>2.3.1_2</cometd-java-server-bundle-version>
        <commons-httpclient-bundle-version>3.1_7</commons-httpclient-bundle-version>
        <consul-client-bundle-version>1.3.3_1</consul-client-bundle-version>
        <couchbase-client-bundle-version>1.4.13_1</couchbase-client-bundle-version>
        <digitalocean-api-client-bundle-version>2.17_1</digitalocean-api-client-bundle-version>
        <digitalpetri-fsm-client>0.2</digitalpetri-fsm-client>
        <digitalpetri-netty-client>0.3</digitalpetri-netty-client>
        <dnsjava-bundle-version>3.1.0_1</dnsjava-bundle-version>
        <docker-java-bundle-version>3.2.1_1</docker-java-bundle-version>
        <docker-java-commons-compress-version>1.20</docker-java-commons-compress-version>
        <debezium-version>1.0.0.Final</debezium-version>
        <egit-github-core-bundle-version>2.1.5_1</egit-github-core-bundle-version>
        <ehcache-version>2.10.6</ehcache-version>
        <elasticsearch-rest-bundle-version>7.7.0_1</elasticsearch-rest-bundle-version>
        <eddsa-version>0.3.0</eddsa-version>
        <facebook4j-core-bundle-version>2.4.13_1</facebook4j-core-bundle-version>
        <fastjson-bundle-version>1.2.68_1</fastjson-bundle-version>
        <fop-bundle-version>2.3_1</fop-bundle-version>
        <generex-bundle-version>1.0.2_1</generex-bundle-version>
        <google-truth-version>0.30</google-truth-version>
        <groovy-version>3.0.3</groovy-version>
        <grpc-bundle-version>1.28.0_1</grpc-bundle-version>
        <grpc-errorprone-version>2.3.4</grpc-errorprone-version>
        <guice-bundle-version>3.0_1</guice-bundle-version>
        <hikaricp-version>2.4.13</hikaricp-version>
        <hk2-osgi-resource-version>1.0.1</hk2-osgi-resource-version>
        <htmlunit-bundle-version>2.24_1</htmlunit-bundle-version>
        <hystrix-bundle-version>1.5.18_1</hystrix-bundle-version>
        <ibatis-bundle-version>2.3.4.726_4</ibatis-bundle-version>
        <influx-java-driver-bundle-version>2.19_1</influx-java-driver-bundle-version>
        <irclib-bundle-version>1.10_5</irclib-bundle-version>
        <ironmq-bundle-version>3.0.5_1</ironmq-bundle-version>
        <isorelax-bundle-version>20050913_4</isorelax-bundle-version>
        <ivy-version>2.4.0</ivy-version>
        <jandex-version>2.1.2.Final</jandex-version>
        <jasypt-bundle-version>1.9.3_1</jasypt-bundle-version>
        <java-apns-bundle-version>1.0.0.Beta6_1</java-apns-bundle-version>
        <java-util-bundle-version>1.51.0_1</java-util-bundle-version>
        <javax-inject-bundle-version>1_2</javax-inject-bundle-version>
        <jaxb-version>2.3.0</jaxb-version>
        <jaxb-bundle-version>2.3.1_1</jaxb-bundle-version>
        <jdom-bundle-version>2.0.6_1</jdom-bundle-version>
        <jedis-client-bundle-version>3.1.0_1</jedis-client-bundle-version>
        <jetty9-version>9.4.20.v20190813</jetty9-version>
        <jing-bundle-version>20030619_5</jing-bundle-version>
        <jodatime-bundle-version>1.6.2</jodatime-bundle-version>
        <jolt-bundle-version>0.1.1_1</jolt-bundle-version>
        <jcodings-version>1.0.46</jcodings-version>
        <joni-version>2.1.31</joni-version>
        <josql-bundle-version>1.5_5</josql-bundle-version>
        <jsch-bundle-version>0.1.55_1</jsch-bundle-version>
        <jt400-bundle-version>10.2_1</jt400-bundle-version>
        <juel-bundle-version>2.1.3_1</juel-bundle-version>
        <junit-bundle-version>4.11_1</junit-bundle-version>
        <jzlib-bundle-version>1.1.3_2</jzlib-bundle-version>
        <kafka-bundle-version>2.4.1_1</kafka-bundle-version>
        <karaf4-version>4.2.9</karaf4-version>
        <kxml2-bundle-version>2.3.0_3</kxml2-bundle-version>
        <libphonenumber-bundle-version>8.12.4_1</libphonenumber-bundle-version>
        <lucene-bundle-version>8.4.1_1</lucene-bundle-version>
        <!-- lucene aligned with elasticsearch version of lucene in use -->
        <lightcouch-bundle-version>0.2.0_1</lightcouch-bundle-version>
        <maven-compiler-plugin-version>3.8.1</maven-compiler-plugin-version>
        <maven-owasp-plugin-version>5.3.1</maven-owasp-plugin-version>
        <maven-surefire-plugin-version>3.0.0-M4</maven-surefire-plugin-version>
        <mockwebserver-version>0.1.7</mockwebserver-version>
        <mustache-guava-version>20.0</mustache-guava-version>
        <mustache-bundle-version>0.9.6_1</mustache-bundle-version>
        <noggit-bundle-version>0.5_1</noggit-bundle-version>
        <objenesis-version>2.6</objenesis-version>
        <okclient-bundle-version>3.14.1_1</okclient-bundle-version>
        <olingo-odata2-core-bundle-version>2.0.11_1</olingo-odata2-core-bundle-version>
        <olingo2-gson-version>2.4</olingo2-gson-version>
        <ognl-bundle-version>3.1.12_1</ognl-bundle-version>
        <opencensus-api-version>0.24.0</opencensus-api-version>
        <oncrpc-version>1.1.3</oncrpc-version>
        <openstack4j-guava-version>17.0</openstack4j-guava-version>
        <ops4j-base-version>1.5.0</ops4j-base-version>
        <oro-bundle-version>2.0.8_6</oro-bundle-version>
        <paranamer-bundle-version>2.8_1</paranamer-bundle-version>
        <pax-cdi-version>1.0.0</pax-cdi-version>
        <pax-exam-version>4.13.2</pax-exam-version>
        <pax-tiny-bundle-version>1.3.2</pax-tiny-bundle-version>
        <pax-logging-version>1.11.2</pax-logging-version>
        <perfmark-version>0.17.0</perfmark-version>
        <protobuf-guava-version>28.2-jre</protobuf-guava-version>
        <protobuf-javanano-version>3.1.0</protobuf-javanano-version>
        <pulsar-bundle-version>2.5.1_1</pulsar-bundle-version>
        <reflections-bundle-version>0.9.12_1</reflections-bundle-version>
        <regexp-bundle-version>1.4_1</regexp-bundle-version>
        <resilience4j-version>1.3.0</resilience4j-version>
        <roaster-version>2.21.1.Final</roaster-version>
        <saxon-bundle-version>9.9.1-6_1</saxon-bundle-version>
        <scribe-bundle-version>1.3.7_1</scribe-bundle-version>
        <serp-bundle-version>1.14.1_1</serp-bundle-version>
        <servicemix-jaxb-version>2.3_2</servicemix-jaxb-version>
        <shiro-version>1.5.1</shiro-version>
        <smallrye-health-version>2.2.0</smallrye-health-version>
        <snappy-version>1.1.7.3</snappy-version>
        <solr-bundle-version>8.4.1_1</solr-bundle-version>
        <spring-batch-bundle-version>4.2.2.RELEASE_1</spring-batch-bundle-version>
        <spring-data-commons-bundle-version>2.2.4.RELEASE_1</spring-data-commons-bundle-version>
        <spring-data-keyvalue-bundle-version>2.2.4.RELEASE_1</spring-data-keyvalue-bundle-version>
        <spring-data-redis-bundle-version>2.2.4.RELEASE_1</spring-data-redis-bundle-version>
        <spring-ldap-bundle-version>2.3.3.RELEASE_1</spring-ldap-bundle-version>
        <spring-ws-bundle-version>3.0.8.RELEASE_1</spring-ws-bundle-version>
        <spring-xml-bundle-version>3.0.7.RELEASE_1</spring-xml-bundle-version>
        <spymemcached-bundle-version>2.5_2</spymemcached-bundle-version> <!-- FIXME cmueller: not in sync! -->
        <spymemcached-version>2.12.0</spymemcached-version>
        <squareup-okhttp-bundle-version>2.7.5_1</squareup-okhttp-bundle-version>
        <squareup-okio-bundle-version>1.15.0_1</squareup-okio-bundle-version>
        <squareup-retrofit2-bundle-version>2.5.0_2</squareup-retrofit2-bundle-version>
        <stax2-api-bundle-version>3.1.4</stax2-api-bundle-version>
        <stax2v4-api-bundle-version>4.2</stax2v4-api-bundle-version>
        <stringtemplate-bundle-version>4.0.8_1</stringtemplate-bundle-version>
        <tagsoup-bundle-version>1.2.1_1</tagsoup-bundle-version>
        <testcontainers-version>1.13.0</testcontainers-version>
        <threetenbp-version>1.4.0</threetenbp-version>
        <tinybundles-version>2.1.1</tinybundles-version>
        <twitter4j-bundle-version>4.0.7_1</twitter4j-bundle-version>
        <unix-socket-factory-version>2015-01-27T15-02-14</unix-socket-factory-version>
        <unix-socket-factory-bundle-version>1.0.0</unix-socket-factory-bundle-version>
        <validation-1-api-version>1.1.0.Final</validation-1-api-version>
        <werken-xpath-bundle-version>0.9.4_5</werken-xpath-bundle-version>
        <wsdl4j-bundle-version>1.6.3_1</wsdl4j-bundle-version>
        <xalan-bundle-version>2.7.2_3</xalan-bundle-version>
        <xerces-bundle-version>2.12.0_1</xerces-bundle-version>
        <xmlgraphics-commons-bundle-version>2.3_1</xmlgraphics-commons-bundle-version>
        <xmlresolver-bundle-version>1.2_5</xmlresolver-bundle-version>
        <xpp3-bundle-version>1.1.4c_7</xpp3-bundle-version>
        <xstream-bundle-version>1.4.11.1_1</xstream-bundle-version>
        <zipkin-libthrift-version>0.13.0</zipkin-libthrift-version>
        <zjsonpatch-version>0.3.0</zjsonpatch-version>
        <zookeeper-guava-version>27.1-jre</zookeeper-guava-version>
        <zxing-bundle-version>3.4.0_1</zxing-bundle-version>

    </properties>


    <!-- Comment out the snapshot repositories as we don't need them now -->
    <repositories>
        <repository>
            <id>apache.snapshots</id>
            <url>https://repository.apache.org/snapshots/</url>
            <name>Apache Snapshot Repo</name>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>apache.snapshots</id>
            <url>https://repository.apache.org/snapshots/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </pluginRepository>
    </pluginRepositories>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-blueprint</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-blueprint-main</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-test-blueprint</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-cxf-blueprint</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-cxf-transport-blueprint</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-eventadmin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-kura</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-osgi-activator</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-paxlogging</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-servlet-osgi</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-test-karaf</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-catalog-provider-karaf</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-core-osgi</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel.karaf</groupId>
                <artifactId>camel-commands-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-parent</artifactId>
                <version>${camel-version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- optional Pax support -->
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam</artifactId>
                <version>${pax-exam-version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-junit4</artifactId>
                <version>${pax-exam-version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-karaf</artifactId>
                <version>${pax-exam-version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-link-mvn</artifactId>
                <version>${pax-exam-version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.swissbox</groupId>
                <artifactId>pax-swissbox-tinybundles</artifactId>
                <version>${pax-tiny-bundle-version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-invoker-junit</artifactId>
                <version>${pax-exam-version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <defaultGoal>install</defaultGoal>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin-version}</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                    <maxmem>512M</maxmem>
                    <fork>${compiler.fork}</fork>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <attach>true</attach>
                    <source>${jdk.version}</source>
                    <quiet>true</quiet>
                    <bottom>Apache Camel</bottom>
                    <detectOfflineLinks>false</detectOfflineLinks>
                    <javadocVersion>1.8.0</javadocVersion>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven-javadoc-plugin-version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.10</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.camel</groupId>
                            <artifactId>camel-buildtools</artifactId>
                            <version>${camel-version}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <downloadSources>true</downloadSources>
                        <downloadJavadocs>false</downloadJavadocs>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <configuration>
                        <excludeSubProjects>false</excludeSubProjects>
                        <excludes>
                            <exclude>**/generated/**</exclude>
                            <exclude>**/generated.txt</exclude>
                            <exclude>**/*.mvel</exclude>
                            <exclude>**/catalog/*.properties</exclude>
                            <exclude>**/*.json</exclude>
                            <exclude>**/README</exclude>
                            <exclude>**/README.txt</exclude>
                            <exclude>**/README.md</exclude>
                            <exclude>**/ReadMe.md</exclude>
                            <exclude>**/resources/**/*.xsd</exclude>
                            <exclude>**/webapp/js/**/*</exclude>
                            <exclude>**/test/resources/**/*</exclude>
                            <exclude>**/test/data*/**/*</exclude>
                            <exclude>.gitignore</exclude>
                            <exclude>.git/**/*</exclude>
                            <exclude>**/*.adoc</exclude>
                            <exclude>**/*.adoc.template</exclude>
                            <exclude>**/*.md</exclude>
                            <exclude>**/*.sh</exclude>
                            <exclude>**/*.bat</exclude>
                            <exclude>**/java9-maven-settings</exclude>
                            <exclude>**/*.pfx</exclude>
                            <!-- tooling json-simple parser -->
                            <exclude>**/src/main/java/org/json/simple/**</exclude>
                            <!-- tooling/camel-manual/src/styles/print.css use a different license -->
                            <exclude>**/src/styles/print.css</exclude>
                            <!-- tooling for component docs -->
                            <exclude>**/component-header.mvel</exclude>
                            <exclude>**/component-options.mvel</exclude>
                            <exclude>**/endpoint-options.mvel</exclude>
                            <exclude>**/dataformat-options.mvel</exclude>
                            <exclude>**/eip-options.mvel</exclude>
                            <exclude>**/language-options.mvel</exclude>
                            <exclude>**/website-components-list.mvel</exclude>
                            <exclude>**/website-languages-list.mvel</exclude>
                            <exclude>**/website-others-list.mvel</exclude>
                            <exclude>**/website-dataformats-list.mvel</exclude>
                            <exclude>**/readme-examples.mvel</exclude>
                            <exclude>**/spring-boot-auto-configure-options.mvel</exclude>
                            <exclude>**/camel-NOTICE.txt</exclude>
                            <exclude>**/spring-boot-starter-NOTICE.txt</exclude>
                            <!-- cxf does not handle comments here -->
                            <exclude>**/src/main/resources/META-INF/cxf/cxf.extension</exclude>
                            <exclude>**/src/main/resources/META-INF/cxf/bus-extensions.txt</exclude>
                            <!-- ignore the api signatures files -->
                            <exclude>**/src/signatures/*.txt</exclude>
                            <!-- camel-salesforce BSD license from salesforce developers -->
                            <exclude>**/CometDReplayExtension.java</exclude>
                            <exclude>**/LICENSE-SALESFORCE.txt</exclude>
                            <!-- camel-as2 -->
                            <exclude>**/mdnDescription.vm</exclude>
                            <!-- camel-jbpm -->
                            <exclude>**/src/main/resources/*.wid</exclude>
                            <!-- camel website and user-manual -->
                            <exclude>**/node/**</exclude>
                            <exclude>**/node_modules/**</exclude>
                            <exclude>**/user-manual/**</exclude>
                            <exclude>**/yarn.lock</exclude>
                            <!-- examples -->
                            <exclude>**/fabric8/*.yaml</exclude>
                            <exclude>**/src/main/data/*.patient</exclude>
                            <exclude>**/src/main/data/*.csv</exclude>
                            <exclude>**/src/main/resources/avro/*.avsc</exclude>
                            <!-- generated files -->
                            <exclude>**/target/**/*</exclude>
                            <exclude>**/eclipse-classes/**/*</exclude>
                            <exclude>**/.*</exclude>
                            <exclude>**/.settings/**/*</exclude>
                            <exclude>**/*.iml</exclude>
                            <exclude>**/.idea/**/*</exclude>
                            <exclude>**/avro/**/*.avpr</exclude>
                            <exclude>**/OSGI-INF/bundle.info</exclude>
                            <exclude>**/test_rsa*</exclude>
                            <exclude>**/data*/**/*.xml</exclude>
                            <exlucde>**/*.log</exlucde>
                            <exclude>**/id_file</exclude>
                            <exclude>**/dependency-reduced-pom.xml</exclude>
                            <exclude>**/Dropbox_API_Terms_and_Conditions.txt</exclude>
                            <exclude>**/MerchandiseRestResource.apxc</exclude>
                            <exclude>**/file-sig-api.txt</exclude>
                            <exclude>**/Tasks__c.java</exclude>
                            <exclude>**/*.proto</exclude>
                            <exclude>
                                **/src/main/resources/META-INF/services/org.kie.server.services.api.KieServerExtension
                            </exclude>
                            <!-- Maven Wrapper -->
                            <exclude>.mvn/**/*</exclude>
                        </excludes>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <!-- see https://issues.apache.org/jira/browse/MRELEASE-812 -->
                    <version>2.4.2</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.scm</groupId>
                            <artifactId>maven-scm-provider-gitexe</artifactId>
                            <version>1.9</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <localCheckout>true</localCheckout>
                        <pushChanges>true</pushChanges>
                        <tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat>
                        <useReleaseProfile>false</useReleaseProfile>
                        <preparationGoals>clean install</preparationGoals>
                        <goals>deploy</goals>
                        <!-- The profile we want to use when doing the release -->
                        <arguments>-Prelease,apache-release,sourcecheck</arguments>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>process-resource-bundles</id>
                            <phase>disabled</phase>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>flatten-maven-plugin</artifactId>
                    <version>1.1.0</version>
                    <executions>
                        <execution>
                            <id>default-cli</id>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>flatten</goal>
                            </goals>
                            <configuration>
                                <updatePomFile>true</updatePomFile>
                                <pomElements>
                                    <build>keep</build>
                                    <dependencyManagement>keep</dependencyManagement>
                                    <description>keep</description>
                                    <name>keep</name>
                                    <parent>expand</parent>
                                    <pluginManagement>keep</pluginManagement>
                                    <profiles>remove</profiles>
                                    <properties>keep</properties>
                                </pomElements>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <artifactId>maven-invoker-plugin</artifactId>
                    <configuration>
                        <skipInstallation>${invoker.skip}</skipInstallation>
                        <skipInvocation>${invoker.skip}</skipInvocation>
                        <mavenOpts>-Xmx64m -XshowSettings</mavenOpts>
                        <showVersion>true</showVersion>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>${exec-maven-plugin-version}</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin-version}</version>
                    <configuration>
                        <!--forkMode>pertest</forkMode -->
                        <forkedProcessTimeoutInSeconds>300</forkedProcessTimeoutInSeconds>
                        <childDelegation>false</childDelegation>
                        <useFile>true</useFile>
                        <failIfNoTests>false</failIfNoTests>
                        <runOrder>alphabetical</runOrder>
                        <!-- lets re-run the failed test one more time, just to be sure -->
                        <rerunFailingTestsCount>2</rerunFailingTestsCount>
                        <systemPropertyVariables>
                            <javax.xml.accessExternalSchema>file,http,https</javax.xml.accessExternalSchema>
                            <javax.xml.accessExternalDTD>file,http</javax.xml.accessExternalDTD>
                            <derby.stream.error.file>target/derby.log</derby.stream.error.file>
                            <java.awt.headless>${java.awt.headless}</java.awt.headless>
                            <java.util.logging.config.file>${basedir}/target/test-classes/logging.properties
                            </java.util.logging.config.file>
                            <org.apache.activemq.default.directory.prefix>target/
                            </org.apache.activemq.default.directory.prefix>
                        </systemPropertyVariables>
                        <includes>
                            <include>**/*Test.java</include>
                        </includes>
                        <excludes>
                            <exclude>**/*IntegrationTest.java</exclude>
                            <exclude>**/*XXXTest.*</exclude>
                        </excludes>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${build-helper-maven-plugin-version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.servicemix.tooling</groupId>
                    <artifactId>depends-maven-plugin</artifactId>
                    <version>1.2</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>jaxb2-maven-plugin</artifactId>
                    <version>${jaxb2-maven-plugin-version}</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <camel-version>3.4.1</camel-version>
            </properties>
        </profile>

        <profile>
            <id>fastinstall</id>
            <activation>
                <property>
                    <name>fastinstall</name>
                </property>
            </activation>
            <properties>
                <maven.test.skip.exec>true</maven.test.skip.exec>
                <assembly.skipAssembly>true</assembly.skipAssembly>
                <fastinstall>true</fastinstall>
                <noassembly>true</noassembly>
            </properties>
        </profile>

        <profile>
            <id>setup.eclipse</id>
            <!-- set up the eclipse workspace and generate the .classpath and .project
              files for modules -->
            <properties>
                <eclipse.workspace.dir>${basedir}/../workspace</eclipse.workspace.dir>
                <maven.test.skip.exec>true</maven.test.skip.exec>
            </properties>
            <build>
                <defaultGoal>package</defaultGoal>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <version>${maven-compiler-plugin-version}</version>
                            <configuration>
                                <source>${jdk.version}</source>
                                <target>${jdk.version}</target>
                                <maxmem>512M</maxmem>
                                <fork>${compiler.fork}</fork>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-eclipse-plugin</artifactId>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <id>setup.eclipse.workspace</id>
                                <phase>process-test-sources</phase>
                                <goals>
                                    <goal>configure-workspace</goal>
                                </goals>
                                <configuration>
                                    <workspace>${eclipse.workspace.dir}</workspace>
                                    <workspaceCodeStylesURL>file:etc/eclipse/CamelCodeFormatter.xml
                                    </workspaceCodeStylesURL>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <id>setup.workspace</id>
                                <phase>validate</phase>
                                <configuration>
                                    <target>
                                        <path id="ecp.ws.path" location="${eclipse.workspace.dir}" />
                                        <property name="full.eclipse.workspace" refid="ecp.ws.path" />
                                        <path path="${basedir}/etc" id="etc.path" />

                                        <path id="buildtools.classpath">
                                            <fileset dir="${basedir}/buildingtools/target" includes="*.jar" />
                                            <pathelement location="${basedir}/buildingtools/target/classes" />
                                            <pathelement location="${basedir}/buildingtools/src/main/resources" />
                                        </path>

                                        <whichresource resource="/camel-eclipse-pmd" property="pmd.url" classpathref="buildtools.classpath" />
                                        <whichresource resource="/camel-pmd-ruleset.xml" property="pmdruleset.url" classpathref="buildtools.classpath" />
                                        <whichresource resource="/camel-eclipse-checkstyle" property="eclipse.checkstyle.url" classpathref="buildtools.classpath" />
                                        <whichresource resource="/camel-checkstyle.xml" property="checkstyle.url" classpathref="buildtools.classpath" />

                                        <mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings" />
                                        <mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core" />
                                        <mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/net.sourceforge.pmd.eclipse" />

                                        <get src="${checkstyle.url}" dest="${full.eclipse.workspace}/camel-checkstyle.xml" />

                                        <!-- Add checkstyle config -->
                                        <copy file="${basedir}/etc/eclipse/template.checkstyle-config.xml" tofile="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml" overwrite="no">
                                            <filterset>
                                                <filter token="CHECKSTYLE_CONFIG_FILE" value="${full.eclipse.workspace}/camel-checkstyle.xml" />
                                                <filter token="APACHE_HEADER_FILE" value="${full.eclipse.workspace}/apache-header.txt" />
                                            </filterset>
                                        </copy>

                                        <xslt style="${basedir}/etc/eclipse/addcheckstyle.xsl" in="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml" out="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml.new">
                                            <param name="checkstyleconfig" expression="${full.eclipse.workspace}/camel-checkstyle.xml" />
                                        </xslt>
                                        <copy file="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml.new" tofile="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml" overwrite="yes" />

                                        <!-- Add code format rules -->
                                        <concat destfile="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs" append="true" fixlastline="true">
                                            <filelist dir="${basedir}/etc/eclipse" files="org.eclipse.jdt.core.prefs" />
                                        </concat>
                                        <loadfile property="eclipse.code.format" srcFile="${basedir}/etc/eclipse/CamelCodeFormatter.xml" />
                                        <loadfile property="eclipse.code.templates" srcFile="${basedir}/etc/eclipse/codetemplates.xml" />
                                        <loadfile property="eclipse.camel.java.code.templates" srcFile="${basedir}/etc/eclipse/camel_java_templates.xml" />
                                        <loadfile property="eclipse.camel.xml.code.templates" srcFile="${basedir}/etc/eclipse/camel_xml_templates.xml" />
                                        <propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs">
                                            <entry key="formatter_profile" value="Camel Java Conventions" />
                                            <entry key="org.eclipse.jdt.ui.formatterprofiles" value="${eclipse.code.format}" />
                                            <entry key="org.eclipse.jdt.ui.text.custom_code_templates" value="${eclipse.code.templates}" />

                                            <!-- Add Camel templates for Java DSL -->
                                            <entry key="org.eclipse.jdt.ui.text.custom_templates" value="${eclipse.camel.java.code.templates}" />

                                            <!-- Add import order -->
                                            <entry key="org.eclipse.jdt.ui.importorder" value="java;javax;org.w3c;org.xml;w3c;" />
                                            <!-- Sort order -->
                                            <entry key="org.eclipse.jdt.ui.visibility.order" value="B,R,D,V," />
                                            <entry key="outlinesortoption" value="T,SF,F,SI,I,C,SM,M," />
                                            <entry key="org.eclipse.jdt.ui.enable.visibility.order" value="true" />
                                        </propertyfile>
                                        <propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs">
                                            <entry key="eclipse.preferences.version" value="1" />
                                            <!-- Add Camel templates for Spring DSL -->
                                            <entry key="org.eclipse.wst.sse.ui.custom_templates" value="${eclipse.camel.xml.code.templates}" />
                                        </propertyfile>
                                    </target>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <!-- When not on the Mac, we need to add tools.jar to the antrun plugin
              for schemagen to work -->
            <id>not-mac</id>
            <activation>
                <os>
                    <family>!mac</family>
                </os>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-antrun-plugin</artifactId>
                            <dependencies>
                                <dependency>
                                    <groupId>com.sun.xml.bind</groupId>
                                    <artifactId>jaxb-core</artifactId>
                                    <version>${jaxb-version}</version>
                                </dependency>
                                <dependency>
                                    <groupId>com.sun.xml.bind</groupId>
                                    <artifactId>jaxb-impl</artifactId>
                                    <version>${jaxb-version}</version>
                                </dependency>
                                <dependency>
                                    <groupId>com.sun.xml.bind</groupId>
                                    <artifactId>jaxb-jxc</artifactId>
                                    <version>${jaxb-version}</version>
                                </dependency>
                                <dependency>
                                    <groupId>xerces</groupId>
                                    <artifactId>xercesImpl</artifactId>
                                    <version>2.11.0</version>
                                </dependency>
                                <dependency>
                                    <groupId>ant-contrib</groupId>
                                    <artifactId>ant-contrib</artifactId>
                                    <version>1.0b3</version>
                                    <exclusions>
                                        <exclusion>
                                            <groupId>ant</groupId>
                                            <artifactId>ant</artifactId>
                                        </exclusion>
                                    </exclusions>
                                </dependency>
                                <dependency>
                                    <groupId>org.apache.ant</groupId>
                                    <artifactId>ant-trax</artifactId>
                                    <version>1.8.0</version>
                                </dependency>
                                <dependency>
                                    <groupId>org.apache.ant</groupId>
                                    <artifactId>ant-nodeps</artifactId>
                                    <version>1.8.1</version>
                                </dependency>
                            </dependencies>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>

        <profile>
            <id>jdk8-build</id>
            <activation>
                <jdk>(,1.9)</jdk>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <dependencies>
                            <dependency>
                                <groupId>com.sun</groupId>
                                <artifactId>tools</artifactId>
                                <version>1.5.0</version>
                                <scope>system</scope>
                                <systemPath>${java.home}/../lib/tools.jar</systemPath>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>deploy</id>
            <build>
                <defaultGoal>deploy</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <configuration>
                                    <additionalOptions>${javadoc.opts}</additionalOptions>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>source-jar</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>release</id>
            <activation>
                <property>
                    <name>release</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <!-- We want to deploy the artifact to a staging location for perusal -->
                    <plugin>
                        <inherited>true</inherited>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <configuration>
                            <updateReleaseInfo>true</updateReleaseInfo>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <additionalOptions>${javadoc.opts}</additionalOptions>
                        </configuration>
                    </plugin>
                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <configuration>
                            <passphrase>${gpg.passphrase}</passphrase>
                            <useAgent>${gpg.useagent}</useAgent>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0-M3</version>
                    <executions>
                        <execution>
                            <id>enforce-maven</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>3.5.0</version>
                                </requireMavenVersion>
                            </rules>    
                            </configuration>
                       </execution>
                  </executions>
               </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>doclint-java8-disable</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <properties>
                <javadoc.opts>-Xdoclint:none</javadoc.opts>
            </properties>
        </profile>

        <profile>
            <id>cleanrepo</id>
            <build>
                <defaultGoal>build-helper:remove-project-artifact</defaultGoal>
            </build>
        </profile>

        <profile>
            <id>license</id>
            <build>
                <defaultGoal>license:format</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>com.mycila</groupId>
                        <artifactId>license-maven-plugin</artifactId>
                        <version>${mycila-license-version}</version>
                        <configuration>
                            <header>header.txt</header>
                            <excludes>
                                <exclude>KEYS</exclude>
                                <exclude>**/NOTICE</exclude>
                                <exclude>**/LICENSE</exclude>
                                <exclude>**/NOTICE.txt</exclude>
                                <exclude>**/LICENSE.txt</exclude>
                                <exclude>doap.rdf</exclude>
                                <exclude>**/README</exclude>
                                <exclude>**/*.adoc</exclude>
                                <exclude>**/node_modules/**</exclude>
                                <exclude>**/cacerts</exclude>
                                <exclude>**/*.p12</exclude>
                                <exclude>**/*.txt</exclude>
                                <exclude>.mvn/**</exclude>
                                <exclude>mvnw*</exclude>
                                <exclude>**/META-INF/persistence*.xsd</exclude>
                            </excludes>
                            <mapping>
                                <java>SLASHSTAR_STYLE</java>
                                <properties>CAMEL_PROPERTIES_STYLE</properties>
                                <spring.factories>CAMEL_PROPERTIES_STYLE</spring.factories>
                                <spring.provides>CAMEL_PROPERTIES_STYLE</spring.provides>
                            </mapping>
                            <headerDefinitions>
                                <headerDefinition>license-properties-headerdefinition.xml</headerDefinition>
                            </headerDefinitions>
                        </configuration>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.camel</groupId>
                                <artifactId>camel-buildtools</artifactId>
                                <version>${camel-version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>
</project>
