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

    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus</artifactId>
    <version>2.12.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <name>Camel Quarkus</name>
    <description>Apache Camel extensions for Quarkus</description>
    <url>http://camel.apache.org</url>
    <inceptionYear>2019</inceptionYear>

    <properties>

        <!-- Primary dependencies - maintained manually -->
        <camel.major.minor>3.18</camel.major.minor> <!-- run after each change: cd docs && mvnd validate -->
        <camel.version>${camel.major.minor}.1</camel.version>
        <camel.docs.components.version>${camel.major.minor}.x</camel.docs.components.version><!-- the version in Camel's docs/components/antora.yml -->
        <camel.docs.components.xref>${camel.docs.components.version}@components</camel.docs.components.xref><!-- the version in Camel's docs/components/antora.yml -->
        <camel.docs.branch>camel-${camel.major.minor}.x</camel.docs.branch><!-- The stable camel branch on which our Antora docs depends -->
        <camel.sb.docs.branch>camel-spring-boot-${camel.major.minor}.x</camel.sb.docs.branch><!-- The stable camel-spring-boot branch on which our Antora docs depends -->
        <cassandra-quarkus.version>1.1.2</cassandra-quarkus.version><!-- https://repo1.maven.org/maven2/com/datastax/oss/quarkus/cassandra-quarkus-bom/ -->
        <debezium.version>1.9.5.Final</debezium.version><!-- May go back to Camel's ${debezium-version} when they are in sync https://repo1.maven.org/maven2/io/debezium/debezium-bom/ -->
        <optaplanner.version>8.24.1.Final</optaplanner.version><!-- May go back to Camel's ${optaplanner-version} when they are in sync https://repo1.maven.org/maven2/org/optaplanner/optaplanner-quarkus/ -->
        <quarkiverse-amazonservices.version>1.1.2</quarkiverse-amazonservices.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/amazonservices/quarkus-amazon-services-parent/ -->
        <quarkiverse-artemis.version>1.2.0</quarkiverse-artemis.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/artemis/quarkus-artemis-parent/ -->
        <quarkiverse-cxf.version>1.4.0</quarkiverse-cxf.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/cxf/quarkus-cxf-parent/ -->
        <quarkiverse-freemarker.version>0.3.0</quarkiverse-freemarker.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/freemarker/quarkus-freemarker-parent/ -->
        <quarkiverse-jackson-jq.version>1.1.0</quarkiverse-jackson-jq.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/jackson-jq/quarkus-jackson-jq-parent/ -->
        <quarkiverse-jgit.version>2.1.0</quarkiverse-jgit.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/jgit/quarkus-jgit-parent/ -->
        <quarkiverse-jsch.version>2.0.0</quarkiverse-jsch.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/jsch/quarkus-jsch-parent/ -->
        <quarkiverse-minio.version>2.9.1</quarkiverse-minio.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/minio/quarkus-minio-parent/ -->
        <quarkiverse-mybatis.version>1.0.4</quarkiverse-mybatis.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/mybatis/quarkus-mybatis-parent/ -->
        <quarkiverse-tika.version>1.0.3</quarkiverse-tika.version><!-- https://repo1.maven.org/maven2/io/quarkiverse/tika/quarkus-tika-parent/ -->
        <quarkus.version>2.11.1.Final</quarkus.version><!-- https://repo1.maven.org/maven2/io/quarkus/quarkus-bom/ -->
        <quarkus-hazelcast-client.version>3.0.0</quarkus-hazelcast-client.version><!-- https://repo1.maven.org/maven2/com/hazelcast/quarkus-hazelcast-client-bom/ -->
        <quarkus-qpid-jms.version>0.36.0</quarkus-qpid-jms.version><!-- https://repo1.maven.org/maven2/org/amqphub/quarkus/quarkus-qpid-jms-bom/ -->

        <!-- Compile dependency versions (keep sorted alphabetically) -->
        <!-- Items annotated with @sync can be updated by running mvn cq:sync-versions -N -e -->
        <ahc.version>${ahc-version}</ahc.version>
        <animal-sniffer.version>1.18</animal-sniffer.version>
        <antlr3.version>3.5.2</antlr3.version><!-- Spark, Stringtemplate and probably others -->
        <avro.version>1.11.0</avro.version><!-- @sync io.quarkus:quarkus-bom:${quarkus.version} dep:org.apache.avro:avro -->
        <awssdk.version>2.17.220</awssdk.version><!-- @sync io.quarkiverse.amazonservices:quarkus-amazon-services-parent:${quarkiverse-amazonservices.version} prop:awssdk.version -->
        <assertj.version>3.23.1</assertj.version><!-- @sync io.quarkus:quarkus-build-parent:${quarkus.version} prop:assertj.version -->
        <aws-java-sdk.version>1.11.714</aws-java-sdk.version>
        <azure-sdk-bom.version>1.2.1</azure-sdk-bom.version><!-- Keep in sync with camel-azure component versions -->
        <azure-core.version>1.27.0</azure-core.version><!-- @sync com.azure:azure-sdk-bom:${azure-sdk-bom.version} dep:com.azure:azure-core -->
        <azure-core-test.version>1.7.9</azure-core-test.version>
        <cassandra-driver-test.version>3.7.1</cassandra-driver-test.version><!-- Keep in sync with testcontainers instead of Debezium bom -->
        <bouncycastle.version>1.70</bouncycastle.version><!-- @sync io.quarkus:quarkus-bom:${quarkus.version} dep:org.bouncycastle:bcprov-jdk15on -->
        <commons-beanutils.version>${commons-beanutils-version}</commons-beanutils.version>
        <commons-cli.version>1.4</commons-cli.version><!-- keep in sync with Quarkus, via quarkus-bootstrap-core -->
        <commons-collections.version>3.2.2</commons-collections.version><!-- used by hbase, should be pretty stable as commons-collections are not developed actively anymore -->
        <commons-exec.version>${commons-exec-version}</commons-exec.version>
        <commons-lang.version>2.6</commons-lang.version><!-- used by hbase, should be pretty stable as commons-lang is not developed actively anymore -->
        <commons-math3.version>3.6.1</commons-math3.version><!-- Mess in the transitive dependencies of Spark and hbase-testing-util -->
        <curator.version>4.3.0</curator.version><!-- Mess in the transitive dependencies of Spark, Zookeeper and other hadoop related components -->
        <eddsa.version>${eddsa-version}</eddsa.version>
        <freemarker.version>2.3.31</freemarker.version><!-- @sync io.quarkiverse.freemarker:quarkus-freemarker-parent:${quarkiverse-freemarker.version} prop:freemarker.version -->
        <geny.version>0.6.2</geny.version>
        <github-api.version>1.111</github-api.version><!-- Used in a Groovy script bellow -->
        <google-auth-library-credentials.version>1.7.0</google-auth-library-credentials.version><!-- TODO: Revert back to using Camel's version when gRPC versions are in sync -->
        <graalvm.version>22.1.0</graalvm.version><!-- @sync io.quarkus:quarkus-bom:${quarkus.version} dep:org.graalvm.sdk:graal-sdk -->
        <grpc.version>1.47.0</grpc.version><!-- @sync io.quarkus:quarkus-bom:${quarkus.version} dep:io.grpc:grpc-core -->
        <hapi.version>${hapi-version}</hapi.version>
        <hapi-fhir.version>${hapi-fhir-version}</hapi-fhir.version>
        <hbase.version>${hbase-version}</hbase.version>
        <htrace.version>4.2.0-incubating</htrace.version><!-- Mess in hbase transitive deps -->
        <infinispan.version>13.0.10.Final</infinispan.version><!-- @sync io.quarkus:quarkus-bom:${quarkus.version} dep:org.infinispan:infinispan-core -->
        <influxdb.version>${influx-java-driver-version}</influxdb.version>
        <jackson1.version>1.9.13</jackson1.version><!-- Mess in the transitive dependencies of hbase-testing-util -->
        <jackson-asl.version>${jackson1.version}</jackson-asl.version><!-- Can be different from jackson1.version on some occasions -->
        <jakarta.jms-api.version>2.0.3</jakarta.jms-api.version>
        <jakarta.jws.ws.api.version>2.1.0</jakarta.jws.ws.api.version>
        <jakarta.xml.ws.api.version>2.3.3</jakarta.xml.ws.api.version>
        <java-json-tools.json-patch.version>${json-patch-version}</java-json-tools.json-patch.version><!-- A replacement for com.github.fge:json-patch -->
        <jcodings.version>1.0.55</jcodings.version><!-- used by hbase -->
        <jodatime.version>2.10.6</jodatime.version><!-- Mess in transitive dependencies of Spark and Splunk -->
        <joni.version>2.1.31</joni.version><!-- used by json-validator -->
        <jaxen.version>1.2.0</jaxen.version>
        <javassist.version>3.22.0-CR2</javassist.version><!-- debezium -->
        <jetty.version>${jetty9-version}</jetty.version>
        <jgit.version>6.2.0.202206071550-r</jgit.version><!-- @sync io.quarkiverse.jgit:quarkus-jgit-parent:${quarkiverse-jgit.version} prop:jgit.version -->
        <jna-platform.version>5.6.0</jna-platform.version><!-- @sync com.azure:azure-identity:${azure-identity-version} dep:net.java.dev.jna:jna-platform -->
        <jnr-ffi.version>2.1.2</jnr-ffi.version><!-- Mess in web3j transitive deps -->
        <json-smart.version>2.4.7</json-smart.version>
        <kafka.version>3.1.0</kafka.version><!-- @sync io.quarkus:quarkus-bom:${quarkus.version} dep:org.apache.kafka:kafka-clients -->
        <kudu.version>${kudu-version}</kudu.version>
        <kotlin.version>1.6.21</kotlin.version><!-- @sync io.quarkus:quarkus-bom:${quarkus.version} dep:org.jetbrains.kotlin:kotlin-stdlib -->
        <kryo.version>2.24.0</kryo.version><!-- @sync org.apache.flink:flink-core:${flink-version} dep:com.esotericsoftware.kryo:kryo -->
        <libthrift.version>${libthrift-version}</libthrift.version> <!-- Spark -->
        <msal4j.version>1.12.0</msal4j.version><!-- @sync com.azure:azure-identity:${azure-identity-version} dep:com.microsoft.azure:msal4j -->
        <mvel2.version>2.4.14.Final</mvel2.version><!-- @sync org.apache.camel:camel-dependencies:${camel.version} prop:mvel-version -->
        <neethi.version>3.2.0</neethi.version>
        <okio.version>${squareup-okio-version}</okio.version>
        <opencensus.version>0.31.0</opencensus.version><!-- Mess in Google cloud. Keep in sync with version used in com.google.http-client:google-http-client -->
        <perfmark-api.version>0.25.0</perfmark-api.version><!-- @sync io.grpc:grpc-netty-shaded:${grpc.version} dep:io.perfmark:perfmark-api -->
        <protobuf.version>3.19.3</protobuf.version><!-- @sync io.quarkus:quarkus-bom:${quarkus.version} dep:com.google.protobuf:protobuf-java -->
        <projectreactor-netty.version>${reactor-netty-version}</projectreactor-netty.version>
        <retrofit.version>2.5.0</retrofit.version>
        <saaj.impl.version>1.5.3</saaj.impl.version>
        <smallrye.reactive.messaging.camel.version>3.18.0</smallrye.reactive.messaging.camel.version><!-- @sync io.quarkus:quarkus-bom:${quarkus.version} dep:io.smallrye.reactive:smallrye-reactive-messaging-provider -->
        <spring.version>${spring5-version}</spring.version>
        <snakeyaml.version>${snakeyaml-version}</snakeyaml.version>
        <tablesaw.version>0.43.1</tablesaw.version>
        <threetenbp.version>1.6.0</threetenbp.version>
        <xalan.version>${xalan-version}</xalan.version>
        <xchange.version>${xchange-version}</xchange.version>
        <xerces.version>${xerces-version}</xerces.version>
        <xmlgraphics-commons.version>2.7</xmlgraphics-commons.version><!-- @sync org.apache.xmlgraphics:fop-parent:${fop-version} prop:xmlgraphics.commons.version -->
        <xmlsec.version>2.3.0</xmlsec.version>
        <xstream.version>${xstream-version}</xstream.version>
        <web3j.version>${web3j-version}</web3j.version>
        <web3j.quorum.version>${web3j-quorum-version}</web3j.quorum.version>
        <woodstox-core.version>${woodstox-core-version}</woodstox-core.version>
        <zookeeper.version>${solr-zookeeper-version}</zookeeper.version><!-- ${solr-zookeeper-version} is newer than ${zookeeper-version} -->
        <zxing.version>3.3.3</zxing.version><!-- Mess in IOTA transitive deps -->

        <!-- Test dependency versions (keep sorted alphabetically) -->
        <commons-logging.version>1.2</commons-logging.version><!-- Mess in the transitive dependencies of hbase-testing-util -->
        <consul-client.version>${consul-client-version}</consul-client.version>
        <ftpserver.version>1.1.1</ftpserver.version>
        <greenmail.version>1.6.7</greenmail.version>
        <istack-commons-runtime.version>3.0.10</istack-commons-runtime.version>
        <jakarta.mail.version>${jakarta-mail-version}</jakarta.mail.version>
        <htmlunit-driver.version>2.47.1</htmlunit-driver.version>
        <mock-javamail.version>${mock-javamail-version}</mock-javamail.version>
        <pdfbox.version>${pdfbox-version}</pdfbox.version>
        <slf4j-log4j12.version>1.7.30</slf4j-log4j12.version><!-- Mess in the transitive dependencies of hbase-testing-util -->
        <sshd.version>${sshd-version}</sshd.version>
        <stax2.version>4.2</stax2.version>
        <wiremock.version>2.27.2</wiremock.version>
        <zt-exec.version>1.11</zt-exec.version>

        <!-- Tooling dependency versions (keep sorted alphabetically) -->
        <maven-utils.version>0.1.0</maven-utils.version>

        <!-- Maven plugin versions (keep sorted alphabetically) -->
        <cq-plugin.version>2.27.0</cq-plugin.version>
        <build-helper-maven-plugin.version>3.1.0</build-helper-maven-plugin.version>
        <exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
        <formatter-maven-plugin.version>2.17.1</formatter-maven-plugin.version>
        <frontend-maven-plugin.version>1.6</frontend-maven-plugin.version>
        <groovy-maven-plugin.version>2.1.1</groovy-maven-plugin.version>
        <groovy.version>3.0.8</groovy.version>
        <impsort-maven-plugin.version>1.7.0</impsort-maven-plugin.version>
        <jandex-maven-plugin.version>1.0.8</jandex-maven-plugin.version>
        <mycila-license.version>3.0</mycila-license.version>
        <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version>
        <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
        <maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
        <maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
        <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
        <maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
        <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
        <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
        <maven-plugin-plugin.version>3.6.4</maven-plugin-plugin.version>
        <maven-source-plugin.version>3.1.0</maven-source-plugin.version>
        <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
        <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
        <maven-scm-plugin.version>1.11.3</maven-scm-plugin.version>
        <maven-shade-plugin.version>3.2.4</maven-shade-plugin.version>
        <!-- NOTE: We pin to this version due to https://github.com/apache/camel-quarkus/issues/723 -->
        <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
        <os-maven-plugin.version>${os-maven-plugin-version}</os-maven-plugin.version>
        <properties-maven-plugin.version>1.0.0</properties-maven-plugin.version>
        <protobuf-maven-plugin.version>${protobuf-maven-plugin-version}</protobuf-maven-plugin.version>
        <rpkgtests-maven-plugin.version>0.10.0</rpkgtests-maven-plugin.version>

        <!-- Plugin configuration through properties  -->

        <!-- maven-resources-plugin -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <!-- maven-compiler-plugin -->
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.release>11</maven.compiler.release>

        <!-- maven-enforcer-plugin -->
        <min-maven-version>3.8.2</min-maven-version>
        <target-maven-version>3.8.6</target-maven-version><!-- @sync io.quarkus:quarkus-build-parent:${quarkus.version} prop:proposed-maven-version -->
        <supported-maven-versions>[${min-maven-version},)</supported-maven-versions>

        <!-- maven-release-plugin -->
        <tagNameFormat>@{project.version}</tagNameFormat>
    </properties>

    <modules>
        <module>poms</module>
        <module>tooling</module>
        <module>extensions-core</module>
        <module>extensions-support</module>
        <module>extensions</module>
        <module>extensions-jvm</module>
        <module>catalog</module>
        <module>integration-tests-support</module>
        <module>integration-tests</module>
        <module>integration-test-groups</module>
        <module>docs</module>
        <module>integration-tests-jvm</module>
        <module>test-framework</module>
    </modules>

    <developers>
        <developer>
            <name>The Apache Camel Team</name>
            <email>dev@camel.apache.org</email>
            <url>http://camel.apache.org</url>
            <organization>Apache Software Foundation</organization>
            <organizationUrl>http://apache.org/</organizationUrl>
            <properties>
                <picUrl>http://camel.apache.org/banner.data/apache-camel-7.png</picUrl>
            </properties>
        </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>

    <scm>
        <connection>scm:git:http://gitbox.apache.org/repos/asf/camel-quarkus.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/camel-quarkus.git</developerConnection>
        <url>https://gitbox.apache.org/repos/asf?p=camel-quarkus.git;a=summary</url>
        <tag>HEAD</tag>
    </scm>

    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/apache/camel-quarkus/issues</url>
    </issueManagement>

    <repositories>
        <repository>
            <id>apache.snapshots</id>
            <url>https://repository.apache.org/snapshots/</url>
            <name>Apache Snapshot Repo</name>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>apache.snapshots</id>
            <url>https://repository.apache.org/snapshots/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <pluginManagement>
            <plugins>
                <!-- Only plugins relevant to both end user applications and Camel Quarkus extensions -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven-compiler-plugin.version}</version>
                    <configuration>
                        <showDeprecation>true</showDeprecation>
                        <showWarnings>true</showWarnings>
                        <compilerArgs>
                            <arg>-Xlint:unchecked</arg>
                        </compilerArgs>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${maven-deploy-plugin.version}</version>
                </plugin>

                <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-plugin-plugin</artifactId>
                    <version>${maven-plugin-plugin.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${maven-release-plugin.version}</version>
                    <configuration>
                        <!-- release:prepare config -->
                        <preparationGoals>clean validate -Pcommit-release-changes "-Dcq.commit.message.prefix=[maven-release-plugin] Prepare release" -N</preparationGoals>
                        <completionGoals>clean validate -Pcommit-release-changes "-Dcq.commit.message.prefix=[maven-release-plugin] Set next development version" -N</completionGoals>
                        <!-- release:perform config -->
                        <useReleaseProfile>true</useReleaseProfile>
                        <releaseProfiles>apache-release</releaseProfiles>
                        <goals>deploy</goals>
                        <!-- Both release:prepare and release:perform config -->
                        <arguments>-DskipTests -Denforcer.skip -Dquarkus.build.skip -Dformatter.skip -Dimpsort.skip -Dskip.installyarn -Dskip.yarn</arguments>
                    </configuration>
                </plugin>

                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-resources-plugin</artifactId>
                  <version>${maven-resources-plugin.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-scm-plugin</artifactId>
                    <version>${maven-scm-plugin.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>${maven-shade-plugin.version}</version>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"/>
                        </transformers>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                    <configuration>
                        <failIfNoTests>false</failIfNoTests>
                        <systemPropertyVariables>
                            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                            <maven.home>${maven.home}</maven.home>
                            <maven.settings>${session.request.userSettingsFile.path}</maven.settings>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${maven-enforcer-plugin.version}</version>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                </plugin>

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

                <plugin>
                    <groupId>org.l2x6.cq</groupId>
                    <artifactId>cq-maven-plugin</artifactId>
                    <version>${cq-plugin.version}</version>
                    <configuration>
                        <simpleElementWhitespace>SPACE</simpleElementWhitespace>
                        <skipArtifactIdBases>
                            <skipArtifactIdBase>http-common</skipArtifactIdBase>
                            <skipArtifactIdBase>integration-tests?-support-.*</skipArtifactIdBase>
                        </skipArtifactIdBases>
                    </configuration>
                    <dependencies>
                        <!-- include camel-catalog on classpath -->
                        <dependency>
                            <groupId>org.apache.camel</groupId>
                            <artifactId>camel-catalog</artifactId>
                            <version>${camel.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>groovy-maven-plugin</artifactId>
                    <version>${groovy-maven-plugin.version}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.groovy</groupId>
                            <artifactId>groovy-all</artifactId>
                            <version>${groovy.version}</version>
                            <type>pom</type>
                            <exclusions>
                                <exclusion>
                                    <!-- groovy-testng depends on testng 7.2.0 which is not on maven central -->
                                    <groupId>org.codehaus.groovy</groupId>
                                    <artifactId>groovy-testng</artifactId>
                                </exclusion>
                            </exclusions>
                        </dependency>
                    </dependencies>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${maven-jar-plugin.version}</version>
                </plugin>

                <!-- license-maven-plugin is not necessarily relevant for user applications.
                     It is managed here so that we can have its config defined on a single place.
                     It is executed from profiles only -->
                <plugin>
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>${mycila-license.version}</version>
                    <configuration>
                        <failIfUnknown>true</failIfUnknown>
                        <header>header.txt</header>
                        <excludes>
                            <exclude>**/*.adoc</exclude>
                            <exclude>modules/**/*.yml</exclude>
                            <exclude>src/main/resources/doc-templates/extensions-camel-bits.yml</exclude>
                            <exclude>**/*.adm</exclude>
                            <exclude>**/*.avsc</exclude>
                            <exclude>**/*.avpr</exclude>
                            <exclude>**/*.bin</exclude>
                            <exclude>**/*.cnf</exclude>
                            <exclude>**/*.conf</exclude>
                            <exclude>**/*.csv</exclude>
                            <exclude>**/*.der</exclude>
                            <exclude>**/*.ftl</exclude>
                            <exclude>**/*.graphql</exclude>
                            <exclude>**/*.ics</exclude>
                            <exclude>**/*.jks</exclude>
                            <exclude>**/*.jpeg</exclude>
                            <exclude>**/*.key</exclude>
                            <exclude>**/*.kts</exclude>
                            <exclude>**/*.lock</exclude>
                            <exclude>**/*.mp3</exclude>
                            <exclude>**/*.mp4</exclude>
                            <exclude>**/*.mvel</exclude>
                            <exclude>**/*.p12</exclude>
                            <exclude>**/*.pem</exclude>
                            <exclude>**/*.pgp</exclude>
                            <exclude>**/*.proto</exclude>
                            <exclude>**/*.spec</exclude>
                            <exclude>**/*.txt</exclude>
                            <exclude>**/*.xquery</exclude>
                            <exclude>**/.factorypath</exclude>
                            <exclude>**/.pnp.js</exclude>
                            <exclude>**/.yarnrc.yml</exclude>
                            <exclude>**/LICENSE.txt</exclude>
                            <exclude>**/LICENSE</exclude>
                            <exclude>**/META-INF/persistence*.xsd</exclude>
                            <exclude>**/NOTICE.txt</exclude>
                            <exclude>**/NOTICE</exclude>
                            <exclude>**/README</exclude>
                            <exclude>**/.yarn/**</exclude>
                            <exclude>**/cacerts</exclude>
                            <exclude>**/camel-quarkus-test-list.xml</exclude>
                            <exclude>**/node_modules/**</exclude>
                            <exclude>**/pom.xml.versionsBackup</exclude>
                            <exclude>.mvn/**</exclude>
                            <exclude>KEYS</exclude>
                            <exclude>doap.rdf</exclude>
                            <exclude>ide-config/**</exclude>
                            <exclude>id_file</exclude>
                            <exclude>**/mvnw*</exclude>
                            <exclude>**/*.net</exclude>
                            <exclude>node/**</exclude>
                            <exclude>**/resources/routes.1</exclude>
                            <exclude>**/resources/routes.2</exclude>
                            <exclude>**/generated/**</exclude>
                            <exclude>.envrc</exclude>
                            <exclude>**/.idea/**</exclude>
                            <exclude>**/k8s-sb/**</exclude>
                            <exclude>.gitattributes</exclude>
                            <exclude>**/src/test/resources/__files/*.xml</exclude>
                        </excludes>
                        <mapping>
                            <cli>CAMEL_PROPERTIES_STYLE</cli>
                            <ds>SLASHSTAR_STYLE</ds>
                            <groovy>SLASHSTAR_STYLE</groovy>
                            <java>SLASHSTAR_STYLE</java>
                            <jaxb.index>CAMEL_PROPERTIES_STYLE</jaxb.index>
                            <Jenkinsfile>SLASHSTAR_STYLE</Jenkinsfile>
                            <Jenkinsfile.quarkus>SLASHSTAR_STYLE</Jenkinsfile.quarkus>
                            <Jenkinsfile.sonarcloud>SLASHSTAR_STYLE</Jenkinsfile.sonarcloud>
                            <properties>CAMEL_PROPERTIES_STYLE</properties>
                            <rnc>SCRIPT_STYLE</rnc>
                            <ini>SCRIPT_STYLE</ini>
                            <rng>XML_STYLE</rng>
                            <spring.factories>CAMEL_PROPERTIES_STYLE</spring.factories>
                            <spring.provides>CAMEL_PROPERTIES_STYLE</spring.provides>
                            <tm>CAMEL_PROPERTIES_STYLE</tm>
                            <kt>SLASHSTAR_STYLE</kt>
                            <wsdl>XML_STYLE</wsdl>
                        </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>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.l2x6.cq</groupId>
                <artifactId>cq-maven-plugin</artifactId>
                <inherited>false</inherited>
                <!-- Settings for stubbing new extensions. E.g. to add a new extension to support an imaginary
                     Camel Foo ABC component, you would run

                       mvn cq:create -N -Dcq.artifactIdBase=foo-abc

                -->
                <configuration>
                    <templatesUriBase>file:${project.basedir}/tooling/create-extension-templates</templatesUriBase>
                    <extensionDirs>
                        <extensionDir>
                            <path>extensions</path>
                            <artifactIdPrefix>camel-quarkus-</artifactIdPrefix>
                        </extensionDir>
                        <extensionDir>
                            <path>extensions-core</path>
                            <artifactIdPrefix>camel-quarkus-</artifactIdPrefix>
                        </extensionDir>
                        <extensionDir>
                            <path>extensions-jvm</path>
                            <artifactIdPrefix>camel-quarkus-</artifactIdPrefix>
                        </extensionDir>
                        <extensionDir>
                            <path>extensions-support</path>
                            <artifactIdPrefix>camel-quarkus-support-</artifactIdPrefix>
                        </extensionDir>
                        <extensionDir>
                            <path>integration-tests-support</path>
                            <artifactIdPrefix>camel-quarkus-integration-test-support-</artifactIdPrefix>
                        </extensionDir>
                        <extensionDir>
                            <path>test-framework</path>
                            <artifactIdPrefix>camel-quarkus-test-framework</artifactIdPrefix>
                        </extensionDir>
                    </extensionDirs>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-maven-version</id>
                        <!-- enforce-maven-version is defined in org.apache:apache -->
                        <!-- we skip for the whole Camel Quarkus tree because we have -->
                        <!-- an analogous check in camel-quarkus-enforcer-rules -->
                        <phase>none</phase>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <executions>
                    <execution>
                        <id>default-test</id>
                        <phase /><!-- unbound here to speedup -Dquickly build; bound to a phase in camel-quarkus-build-parent-it -->
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-descriptor</id>
                        <phase /><!-- skip to save time -->
                    </execution>
                </executions>
            </plugin>

        </plugins>

    </build>

    <profiles>
        <profile>
            <!-- Pass '-Dquickly' to skip enforcer and some further sanity checks -->
            <id>full</id>
            <activation>
                <property>
                    <name>!quickly</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>camel-quarkus-enforcer-rules</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireJavaVersion>
                                            <version>11</version>
                                        </requireJavaVersion>
                                        <dependencyConvergence />
                                        <requireMavenVersion>
                                            <version>${supported-maven-versions}</version>
                                        </requireMavenVersion>
                                        <bannedDependencies>
                                            <excludes>
                                                <exclude>ch.qos.logback:logback-classic</exclude><!-- dismiss; the functionality is provided by JBoss Log Manager provided via quarkus-core -->
                                                <exclude>ch.qos.logback:logback-core</exclude><!-- dismiss; the functionality is provided by JBoss Log Manager provided via quarkus-core -->
                                                <exclude>ch.qos.logback:logback-access</exclude><!-- dismiss; the functionality is provided by JBoss Log Manager provided via quarkus-core -->
                                                <exclude>ch.qos.logback:logback</exclude><!-- dismiss; the functionality is provided by JBoss Log Manager provided via quarkus-core -->
                                                <exclude>com.github.fge:*</exclude><!-- Use com.github.java-json-tools:* instead -->
                                                <exclude>com.google.code.findbugs:jsr305</exclude>
                                                <exclude>com.sun.activation:javax.activation</exclude><!-- use com.sun.activation:jakarta.activation instead -->
                                                <exclude>commons-logging:commons-logging</exclude><!-- use org.jboss.logging:commons-logging-jboss-logging instead of commons-logging and commons-logging-api -->
                                                <exclude>commons-logging:commons-logging-api</exclude><!-- use org.jboss.logging:commons-logging-jboss-logging instead of commons-logging and commons-logging-api -->
                                                <exclude>io.netty:netty-all</exclude><!-- Use more fine grained netty artifacts or even io.quarkus:quarkus-netty instead -->
                                                <exclude>org.glassfish:javax.json</exclude><!-- use jakarta.json:jakarta.json-api instead -->
                                                <exclude>org.glassfish:javax.el</exclude><!-- use org.glassfish:jakarta.el instead (same as Quarkus) -->
                                                <exclude>jakarta.activation:jakarta.activation-api</exclude><!-- use com.sun.activation:jakarta.activation instead -->
                                                <exclude>jakarta.json:jakarta.json-api</exclude><!-- use org.glassfish:jakarta.json instead (same as Quarkus) -->
                                                <exclude>jakarta.xml.bind:jakarta.xml.bind-api</exclude><!-- use org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec instead (same as Quarkus) -->
                                                <exclude>jakarta.ws.rs:jakarta.ws.rs-api</exclude><!-- use org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec (same as Quarkus) -->
                                                <exclude>javax.activation:activation</exclude><!-- use com.sun.activation:jakarta.activation instead -->
                                                <exclude>javax.activation:javax.activation-api</exclude><!-- use com.sun.activation:jakarta.activation instead -->
                                                <exclude>javax.annotation:javax.annotation-api</exclude><!-- use jakarta.activation:jakarta.annotation-api instead -->
                                                <exclude>javax.el:el-api</exclude><!-- use jakarta.el:jakarta.el-api instead -->
                                                <exclude>javax.enterprise:cdi-api</exclude><!-- use jakarta.enterprise:jakarta.enterprise.cdi-api instead -->
                                                <exclude>javax.inject:javax.inject</exclude><!-- use jakarta.inject:jakarta.inject-api instead -->
                                                <exclude>javax:javaee-api</exclude><!-- this is an all-in-one jar; use the individual replacements documented around here -->
                                                <exclude>javax.json:javax.json-api</exclude><!-- use jakarta.json:jakarta.json-api instead -->
                                                <exclude>javax.json.bind:javax.json.bind-api</exclude><!-- use jakarta.json.bind:jakarta.json.bind-api instead -->
                                                <exclude>javax.persistence:javax.persistence-api</exclude><!-- use jakarta.persistence:jakarta.persistence-api instead -->
                                                <exclude>javax.persistence:persistence-api</exclude><!-- use jakarta.persistence:jakarta.persistence-api instead -->
                                                <exclude>javax.security.enterprise:javax.security.enterprise-api</exclude><!-- use jakarta.security.enterprise:jakarta.security.enterprise-api instead -->
                                                <exclude>javax.servlet:servlet-api</exclude><!-- use jakarta.servlet:jakarta.servlet-api instead -->
                                                <exclude>javax.servlet:javax.servlet-api</exclude><!-- use jakarta.servlet:jakarta.servlet-api instead -->
                                                <exclude>javax.transaction:jta</exclude><!-- use jakarta.transaction:jakarta.transaction-api instead -->
                                                <exclude>javax.transaction:javax.transaction-api</exclude><!-- use jakarta.transaction:jakarta.transaction-api instead -->
                                                <exclude>javax.validation:validation-api</exclude><!-- use jakarta.validation:jakarta.validation-api instead -->
                                                <exclude>javax.xml.bind:jaxb-api</exclude><!-- use org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec instead (same as Quarkus) -->
                                                <exclude>javax.websocket:javax.websocket-api</exclude><!-- use jakarta.websocket:jakarta.websocket-api instead -->
                                                <exclude>javax.ws.rs:javax.ws.rs-api</exclude><!-- use org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec (same as Quarkus) -->
                                                <exclude>junit:junit</exclude><!-- should not be needed at all. In the worst case, use io.quarkus:quarkus-junit4-mock instead -->
                                                <exclude>log4j:log4j</exclude><!-- use org.jboss.logmanager:log4j-jboss-logmanager instead -->
                                                <exclude>org.jboss.logging:jboss-logmanager</exclude><!-- replaced by jboss-logmanager pulled via quarkus-core -->
                                                <exclude>org.jboss.logging:jboss-logging-jdk</exclude><!-- replaced by jboss-logmanager pulled via quarkus-core -->
                                                <exclude>org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec</exclude><!-- use the corresponding jakarta artifact instead -->
                                                <exclude>org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec</exclude><!-- use the corresponding jakarta artifact instead -->
                                                <exclude>org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.2_spec</exclude><!-- use the corresponding jakarta artifact instead -->
                                                <exclude>org.jboss.spec.javax.servlet:jboss-servlet-api_3.1_spec</exclude><!-- use the corresponding jakarta artifact instead -->
                                                <exclude>org.jboss.spec.javax.servlet:jboss-servlet-api_4.0_spec</exclude><!-- use the corresponding jakarta artifact instead -->
                                                <exclude>org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.5_spec</exclude><!-- use the corresponding jakarta artifact instead -->
                                                <exclude>org.jboss.spec.javax.security.auth.message:jboss-jaspi-api_1.1_spec</exclude><!-- use the corresponding jakarta artifact instead -->
                                                <exclude>org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec</exclude><!-- use jakarta.transaction:jakarta.transaction-api instead -->
                                                <exclude>org.jboss.spec.javax.transaction:jboss-transaction-api_1.3_spec</exclude><!-- use jakarta.transaction:jakarta.transaction-api instead -->
                                                <exclude>org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec</exclude><!-- use the corresponding jakarta artifact instead -->
                                                <exclude>org.apache.geronimo.specs:geronimo-jms_1.1_spec</exclude><!-- use jakarta.jms:jakarta.jms-api instead -->
                                                <exclude>org.apache.geronimo.specs:geronimo-jms_2.0_spec</exclude><!-- use jakarta.jms:jakarta.jms-api instead -->
                                                <exclude>org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec</exclude><!-- use jakarta.transaction:jakarta.transaction-api instead -->
                                                <exclude>org.apache.geronimo.specs:geronimo-jta_1.1_spec</exclude><!-- use jakarta.transaction:jakarta.transaction-api instead -->
                                                <exclude>org.apache.geronimo.specs:geronimo-jta_1.2_spec</exclude><!-- use jakarta.transaction:jakarta.transaction-api instead -->
                                                <exclude>org.glassfish.main.transaction:javax.transaction</exclude><!-- use jakarta.transaction:jakarta.transaction-api instead -->
                                                <!-- Note that log4j-api should be always excluded and org.jboss.logmanager:log4j2-jboss-logmanager added instead -->
                                                <!-- so that the version of log4j-api prefered by log4j2-jboss-logmanager is used -->
                                                <exclude>org.apache.logging.log4j:log4j-core</exclude><!-- not needed on Quarkus -->
                                                <exclude>org.apache.logging.log4j:log4j-slf4j-impl</exclude><!-- not needed on Quarkus -->
                                                <exclude>org.slf4j:jcl-over-slf4j</exclude><!-- use org.jboss.logging:commons-logging-jboss-logging instead -->
                                                <exclude>org.jboss.slf4j:slf4j-jboss-logging</exclude><!-- use org.jboss.slf4j:slf4j-jboss-logmanager instead -->
                                                <exclude>org.slf4j:slf4j-simple</exclude><!-- use org.jboss.slf4j:slf4j-jboss-logmanager instead -->
                                                <exclude>org.slf4j:slf4j-nop</exclude><!-- use org.jboss.slf4j:slf4j-jboss-logmanager instead -->
                                                <exclude>org.slf4j:slf4j-jdk14</exclude><!-- use org.jboss.slf4j:slf4j-jboss-logmanager instead -->
                                                <exclude>org.slf4j:slf4j-log4j12</exclude><!-- use org.jboss.slf4j:slf4j-jboss-logmanager instead -->
                                                <exclude>org.slf4j:slf4j-log4j13</exclude><!-- use org.jboss.slf4j:slf4j-jboss-logmanager instead -->
                                            </excludes>
                                        </bannedDependencies>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.gmaven</groupId>
                        <artifactId>groovy-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>validate-github-workflows</id>
                                <inherited>false</inherited>
                                <goals>
                                    <goal>execute</goal>
                                </goals>
                                <phase>process-resources</phase>
                                <configuration>
                                    <source>file:${project.basedir}/tooling/scripts/validate-github-workflows.groovy</source>
                                </configuration>
                            </execution>
                            <execution>
                                <id>validate-extension-metadata</id>
                                <inherited>false</inherited>
                                <goals>
                                    <goal>execute</goal>
                                </goals>
                                <phase>verify</phase>
                                <configuration>
                                    <source>file:${project.basedir}/tooling/scripts/validate-extension-metadata.groovy</source>
                                    <properties>
                                        <extensionDirs>extensions-core,extensions-support,extensions</extensionDirs>
                                    </properties>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.yaml</groupId>
                                <artifactId>snakeyaml</artifactId>
                                <version>${snakeyaml.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>linux</id>
            <activation>
                <os>
                    <name>Linux</name>
                </os>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <systemProperties>
                                <java.security.egd>file:/dev/./urandom</java.security.egd>
                            </systemProperties>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>format</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.mycila</groupId>
                        <artifactId>license-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>license-format</id>
                                <goals>
                                    <goal>format</goal>
                                </goals>
                                <phase>validate</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.l2x6.cq</groupId>
                        <artifactId>cq-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sort-poms</id>
                                <inherited>false</inherited>
                                <goals>
                                    <goal>format</goal>
                                    <goal>update-quarkus-metadata</goal>
                                </goals>
                                <phase>process-resources</phase>
                                <configuration>
                                    <sortModulesPaths>
                                        <sortModulesPath>extensions/pom.xml</sortModulesPath>
                                        <sortModulesPath>extensions-jvm/pom.xml</sortModulesPath>
                                        <sortModulesPath>integration-tests/pom.xml</sortModulesPath>
                                        <sortModulesPath>integration-tests-jvm/pom.xml</sortModulesPath>
                                        <sortModulesPath>integration-test-groups/pom.xml</sortModulesPath>
                                        <sortModulesPath>integration-test-groups/aws2/pom.xml</sortModulesPath>
                                        <sortModulesPath>integration-test-groups/aws2-quarkus-client/pom.xml</sortModulesPath>
                                        <sortModulesPath>integration-test-groups/azure/pom.xml</sortModulesPath>
                                        <sortModulesPath>integration-test-groups/compression/pom.xml</sortModulesPath>
                                        <sortModulesPath>integration-test-groups/foundation/pom.xml</sortModulesPath>
                                        <sortModulesPath>integration-test-groups/mongodb/pom.xml</sortModulesPath>
                                    </sortModulesPaths>
                                    <sortDependencyManagementPaths>
                                        <sortDependencyManagementPath>poms/bom/pom.xml</sortDependencyManagementPath>
                                    </sortDependencyManagementPaths>
                                    <updateVirtualDependencies>
                                        <updateVirtualDependency>
                                            <basedir>${project.basedir}</basedir>
                                            <includes>
                                                <include>integration-tests/*/pom.xml</include>
                                                <include>integration-test-groups/*/*/pom.xml</include>
                                                <include>integration-tests-jvm/*/pom.xml</include>
                                            </includes>
                                        </updateVirtualDependency>
                                    </updateVirtualDependencies>
                                    <updateVirtualDependenciesAllExtensions>
                                        <updateVirtualDependenciesAllExtension>
                                            <basedir>${project.basedir}</basedir>
                                            <includes>
                                                <include>catalog/pom.xml</include>
                                            </includes>
                                        </updateVirtualDependenciesAllExtension>
                                    </updateVirtualDependenciesAllExtensions>
                                    <removeEmptyApplicationProperties>
                                        <directory>${basedir}</directory>
                                        <includes>
                                            <include>integration-tests/*/src/main/resources/application.properties</include>
                                            <include>integration-test-groups/*/*/src/main/resources/application.properties</include>
                                        </includes>
                                    </removeEmptyApplicationProperties>
                                    <mergePoms>
                                        <mergePom>
                                            <sourcePoms>
                                                <directory>${basedir}/integration-test-groups/aws2</directory>
                                                <includes>
                                                    <include>*/pom.xml</include>
                                                </includes>
                                            </sourcePoms>
                                            <destinationPom>${basedir}/integration-tests/aws2-grouped/pom.xml</destinationPom>
                                        </mergePom>
                                        <mergePom>
                                            <sourcePoms>
                                                <directory>${basedir}/integration-test-groups/aws2-quarkus-client</directory>
                                                <includes>
                                                    <include>*/pom.xml</include>
                                                </includes>
                                            </sourcePoms>
                                            <destinationPom>${basedir}/integration-tests/aws2-quarkus-client-grouped/pom.xml</destinationPom>
                                        </mergePom>
                                        <mergePom>
                                            <sourcePoms>
                                                <directory>${basedir}/integration-test-groups/azure</directory>
                                                <includes>
                                                    <include>*/pom.xml</include>
                                                </includes>
                                            </sourcePoms>
                                            <destinationPom>${basedir}/integration-tests/azure-grouped/pom.xml</destinationPom>
                                        </mergePom>
                                        <mergePom>
                                            <sourcePoms>
                                                <directory>${basedir}/integration-test-groups/compression</directory>
                                                <includes>
                                                    <include>*/pom.xml</include>
                                                </includes>
                                            </sourcePoms>
                                            <destinationPom>${basedir}/integration-tests/compression-grouped/pom.xml</destinationPom>
                                        </mergePom>
                                        <mergePom>
                                            <sourcePoms>
                                                <directory>${basedir}/integration-test-groups/foundation</directory>
                                                <includes>
                                                    <include>*/pom.xml</include>
                                                </includes>
                                            </sourcePoms>
                                            <destinationPom>${basedir}/integration-tests/foundation-grouped/pom.xml</destinationPom>
                                        </mergePom>
                                        <mergePom>
                                            <sourcePoms>
                                                <directory>${basedir}/integration-test-groups/mongodb</directory>
                                                <includes>
                                                    <include>*/pom.xml</include>
                                                </includes>
                                            </sourcePoms>
                                            <destinationPom>${basedir}/integration-tests/mongodb-grouped/pom.xml</destinationPom>
                                        </mergePom>
                                    </mergePoms>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>check-format</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.mycila</groupId>
                        <artifactId>license-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>license-format</id>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <phase>validate</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>camel-quarkus-enforcer-rules</id>
                                <phase /><!-- Speedup the check-format profile by skipping the enforcer  -->
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>apache-release</id>
            <activation>
                <property>
                    <name>apache-release</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>${maven-assembly-plugin.version}</version>
                        <executions>
                            <execution>
                                <id>source-release-assembly</id>
                                <phase /><!-- fix https://github.com/apache/camel-quarkus/issues/844 -->
                            </execution>
                            <execution>
                                <id>camel-quarkus-source-release-assembly</id>
                                <phase>package</phase>
                                <inherited>false</inherited>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptors>
                                        <descriptor>tooling/descriptors/src.xml</descriptor>
                                    </descriptors>
                                    <tarLongFileMode>gnu</tarLongFileMode>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <!-- 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>
                        <version>${maven-deploy-plugin.version}</version>
                        <configuration>
                            <updateReleaseInfo>true</updateReleaseInfo>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>${maven-source-plugin.version}</version>
                        <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>
                            <detectOfflineLinks>false</detectOfflineLinks>
                        </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>
                        <version>${maven-gpg-plugin.version}</version>
                        <configuration>
                            <passphrase>${gpg.passphrase}</passphrase>
                            <useAgent>${gpg.useagent}</useAgent>
                        </configuration>
                        <executions>
                            <execution>
                                <id>sign-release-artifacts</id>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>commit-release-changes</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.gmaven</groupId>
                        <artifactId>groovy-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>update-antora-yaml</id>
                                <inherited>false</inherited>
                                <goals>
                                    <goal>execute</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <source>file:${maven.multiModuleProjectDirectory}/tooling/scripts/update-antora-yaml.groovy</source>
                                    <properties>
                                        <maven.multiModuleProjectDirectory>${maven.multiModuleProjectDirectory}</maven.multiModuleProjectDirectory>
                                    </properties>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-scm-plugin</artifactId>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <id>add-changed-files-to-scm</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>add</goal>
                                </goals>
                                <configuration>
                                    <basedir>${basedir}</basedir>
                                    <includes>docs/antora.yml</includes>
                                </configuration>
                            </execution>
                            <execution>
                                <id>commit-changed-files-to-scm</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>checkin</goal>
                                </goals>
                                <configuration>
                                    <message>${cq.commit.message.prefix} ${project.version}</message>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>deploy</id>
            <activation>
                <property>
                    <name>deploy</name>
                </property>
            </activation>
            <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>
                                    <detectOfflineLinks>false</detectOfflineLinks>
                                </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>docker</id>
            <activation>
                <property>
                    <name>docker</name>
                </property>
            </activation>
            <properties>
                <quarkus.native.container-build>true</quarkus.native.container-build>
                <quarkus.native.container-runtime>docker</quarkus.native.container-runtime>
            </properties>
        </profile>

        <profile>
            <id>apache-snapshots</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <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>
        </profile>

        <profile>
            <id>oss-snapshots</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>oss-snapshots-repo</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>oss-snapshots-repo</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>

        <profile>
            <id>build-notification</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.gmaven</groupId>
                        <artifactId>groovy-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>build-notify</id>
                                <inherited>false</inherited>
                                <goals>
                                    <goal>execute</goal>
                                </goals>
                                <phase>verify</phase>
                                <configuration>
                                    <source>file:${project.basedir}/tooling/scripts/report-build-status.groovy</source>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.kohsuke</groupId>
                                <artifactId>github-api</artifactId>
                                <version>${github-api.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
