<?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.12.1-SNAPSHOT</version>
    </parent>

    <groupId>org.apache.camel.karaf</groupId>
    <artifactId>karaf</artifactId>
    <version>3.12.1-SNAPSHOT</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>
        <module>archetypes</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>HEAD</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.12.1-SNAPSHOT</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>
        <antlr-runtime-v4-version>4.9</antlr-runtime-v4-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>
        <aries-spifly.bundle.version>1.3.0</aries-spifly.bundle.version>
        <asm.bundle.version>8.0.1</asm.bundle.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-java-commons-compress-version>1.20</avro-java-commons-compress-version>
        <avro-jackson-version>2.12.3</avro-jackson-version>
        <azure-core-bundle-version>1.16.0_1</azure-core-bundle-version>
        <azure-core-amqp-bundle-version>2.0.3_1</azure-core-amqp-bundle-version>
        <azure-messaging-eventhubs-bundle-version>5.7.1_1</azure-messaging-eventhubs-bundle-version>
        <azure-messaging-eventhubs-checkpointstore-blob-bundle-version>1.7.0_1</azure-messaging-eventhubs-checkpointstore-blob-bundle-version>
        <azure-storage-common-bundle-version>12.11.0_1</azure-storage-common-bundle-version>
        <azure-storage-blob-bundle-version>12.11.0_1</azure-storage-blob-bundle-version>
        <azure-storage-blob-changefeed-bundle-version>12.0.0-beta8_1</azure-storage-blob-changefeed-bundle-version>
        <azure-storage-blob-datalake-bundle-version>12.5.1_1</azure-storage-blob-datalake-bundle-version>
        <azure-storage-queue-bundle-version>12.9.0_1</azure-storage-queue-bundle-version>
        <azure-guava-version>20.0</azure-guava-version>
        <backport-util-concurrent-version>3.1</backport-util-concurrent-version>
        <bouncycastle-milo-version>1.61</bouncycastle-milo-version>
        <bcel-bundle-version>5.2_4</bcel-bundle-version>
        <bndlib-version>2.4.0</bndlib-version>
        <braintree-jackson2-version>2.12.3</braintree-jackson2-version>
        <build-helper-maven-plugin-version>1.12</build-helper-maven-plugin-version>
        <c3p0-bundle-version>0.9.5.5_1</c3p0-bundle-version>
        <chunk-templates-bundle-version>3.6.1_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>
        <datastax-native-protocol>1.4.10</datastax-native-protocol>
        <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.4.1_1</dnsjava-bundle-version>
        <docker-java-bundle-version>3.2.11_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>
        <elasticsearch-rest-bundle-version>7.9.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.78_1</fastjson-bundle-version>
        <felix-configadmin-version>1.9.20</felix-configadmin-version>
        <felix-connect-version>0.2.0</felix-connect-version>
        <felix-fileinstall-version>3.6.8</felix-fileinstall-version>
        <felix-framework-version>5.6.12</felix-framework-version>
        <felix-scr-annotations-version>1.12.0</felix-scr-annotations-version>
        <felix-scr-version>2.1.26</felix-scr-version>
        <fop-bundle-version>2.6_1</fop-bundle-version>
        <generex-bundle-version>1.0.2_1</generex-bundle-version>
        <!-- These google properties align versions defined in com.google.cloud:libraries-bom used in camel -->
        <google-api-services-bigquery>v2-rev20201030-1.30.10</google-api-services-bigquery>
        <google-cloud-api-client-version>1.30.11</google-cloud-api-client-version>
        <google-cloud-api-common-version>1.10.1</google-cloud-api-common-version>
        <google-cloud-auth-library-version>0.22.0</google-cloud-auth-library-version>
        <google-cloud-bigquery-version>1.124.7</google-cloud-bigquery-version>
        <google-cloud-core-version>1.93.10</google-cloud-core-version>
        <google-cloud-gax-version>1.60.0</google-cloud-gax-version>
        <google-cloud-gax-httpjson-version>0.77.0</google-cloud-gax-httpjson-version>
        <google-cloud-http-client-version>1.38.0</google-cloud-http-client-version>
        <google-cloud-oauth-client-version>1.31.1</google-cloud-oauth-client-version>
        <google-cloud-common-protos-version>2.0.1</google-cloud-common-protos-version>
        <google-cloud-iam-version>1.0.3</google-cloud-iam-version>
        <google-cloud-threetenbp-version>1.5.0</google-cloud-threetenbp-version>
        <google-findbugs-jsr305-version>3.0.2</google-findbugs-jsr305-version>
        <google-findbugs-annotations2-version>2.0.3</google-findbugs-annotations2-version>
        <google-truth-version>0.30</google-truth-version>
        <groovy-version>3.0.8</groovy-version>
        <grpc-bundle-version>1.38.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>
        <influx-java-driver-bundle-version>2.20_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-ewah-version>1.1.6</java-ewah-version>
        <java-util-bundle-version>1.65.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>
        <jetty9-version>9.4.32.v20200930</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>
        <json-flattener-version>0.9.0</json-flattener-version>
        <json-smart-version>2.4.7</json-smart-version>
        <json-validator-jackson-version>2.12.3</json-validator-jackson-version>
        <jt400-bundle-version>10.6_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.8.0_1</kafka-bundle-version>
        <karaf4-version>4.3.3</karaf4-version>
        <kxml2-bundle-version>2.3.0_3</kxml2-bundle-version>
        <libphonenumber-bundle-version>8.12.31_1</libphonenumber-bundle-version>
        <lucene-bundle-version>8.9.0_1</lucene-bundle-version>
        <lightcouch-bundle-version>0.2.0_1</lightcouch-bundle-version>
        <libthrift-bundle-version>0.14.1_1</libthrift-bundle-version>
        <lz4-version>1.8.0</lz4-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>
        <minio-commons-compress-version>1.21</minio-commons-compress-version>
        <mockwebserver-version>0.1.7</mockwebserver-version>
        <mustache-guava-version>20.0</mustache-guava-version>
        <mustache-bundle-version>0.9.10_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>
        <ops4j-base-version>1.5.0</ops4j-base-version>
        <oro-bundle-version>2.0.8_6</oro-bundle-version>
        <osgi-version>6.0.0</osgi-version>
        <paranamer-bundle-version>2.8_1</paranamer-bundle-version>
        <pax-cdi-version>1.0.0</pax-cdi-version>
        <pax-exam-version>4.13.4</pax-exam-version>
        <pax-tiny-bundle-version>3.0.0</pax-tiny-bundle-version>
        <pax-logging-version>1.11.9</pax-logging-version>
        <perfmark-version>0.17.0</perfmark-version>
        <protobuf-guava-version>30.1.1-jre</protobuf-guava-version>
        <protobuf-javanano-version>3.1.0</protobuf-javanano-version>
        <reflections-bundle-version>0.9.12_1</reflections-bundle-version>
        <regexp-bundle-version>1.4_1</regexp-bundle-version>
        <rescu-version>2.1.0</rescu-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>
        <!-- snappy 1.1.8.x does not work in OSGi -->
        <snappy-version>1.1.7.3</snappy-version>
        <solr-bundle-version>8.9.0_1</solr-bundle-version>
        <spring-batch-bundle-version>4.3.3_1</spring-batch-bundle-version>
        <spring-data-commons-bundle-version>2.5.3_1</spring-data-commons-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>
        <tinybundles-version>2.1.1</tinybundles-version>
        <typesafe-config>1.4.1</typesafe-config>
        <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.18_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>
            <!-- osgi -->
            <dependency>
              <groupId>org.osgi</groupId>
              <artifactId>osgi.core</artifactId>
              <version>${osgi-version}</version>
            </dependency>
            <dependency>
              <groupId>org.osgi</groupId>
              <artifactId>osgi.cmpn</artifactId>
              <version>${osgi-version}</version>
            </dependency>
            <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.tinybundles</groupId>
                <artifactId>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>
            <!-- OSGi ConfigAdmin service -->
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.configadmin</artifactId>
                <version>${felix-configadmin-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 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.12.1-SNAPSHOT</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>
