<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ JBoss, Home of Professional Open Source.
  ~ Copyright 2017, Red Hat, Inc., and individual contributors
  ~ as indicated by the @author tags. See the copyright.txt file in the
  ~ distribution for a full listing of individual contributors.
  ~
  ~ This is free software; you can redistribute it and/or modify it
  ~ under the terms of the GNU Lesser General Public License as
  ~ published by the Free Software Foundation; either version 2.1 of
  ~ the License, or (at your option) any later version.
  ~
  ~ This software is distributed in the hope that it will be useful,
  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  ~ Lesser General Public License for more details.
  ~
  ~ You should have received a copy of the GNU Lesser General Public
  ~ License along with this software; if not, write to the Free
  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  -->
<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.jboss</groupId>
        <artifactId>jboss-parent</artifactId>
        <version>35</version>
    </parent>

    <groupId>org.jboss.eap</groupId>
    <artifactId>jboss-eap-xp-parent</artifactId>
    <!--
        Maintain separation between the artifact id and the version to help prevent
        merge conflicts between commits changing the GA and those changing the V.
    -->
    <version>3.0.0.GA-redhat-00004</version>

    <packaging>pom</packaging>

    <name>WildFly: Parent Aggregator</name>
    <description>WildFly: Parent Aggregator</description>

    <licenses>
        <license>
            <name>GNU Lesser General Public License v2.1 or later</name>
            <url>http://repository.jboss.org/licenses/lgpl-2.1.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <modules>
        <module>bootable-jar</module>
        <module>build</module>
        <module>dist</module>
        <module>galleon-pack</module>
        <module>microprofile</module>
        <module>testsuite/shared</module>
        <module>testsuite/test-feature-pack</module>
        <module>testsuite</module>
    </modules>

    <scm>
        <connection>scm:git:${jboss.as.scm.connection}</connection>
        <developerConnection>scm:git:${jboss.as.scm.connection}</developerConnection>
        <url>${jboss.as.scm.url}</url>
    </scm>

    <properties>
        <!-- Release Info.
             Drives properties that end up in MANIFEST.mf files produced by this build
             and some are also used in the pom 'scm' element.
             Do not use these properties for other purpose.
        -->
        <jboss.as.release.codename>N/A</jboss.as.release.codename>
        <jboss.as.scm.connection>git@github.com:wildfly/wildfly.git</jboss.as.scm.connection>
        <jboss.as.scm.url>https://github.com/wildfly/wildfly</jboss.as.scm.url>

        <!-- Other release identification information that drives how the built server identifies itself -->
        <full.dist.product.release.name>JBoss EAP</full.dist.product.release.name>
        <full.dist.product.slot>eap</full.dist.product.slot>
        <full.dist.product.release.version>7.4.0.GA</full.dist.product.release.version>
        <full.maven.groupId>${project.groupId}</full.maven.groupId>
        <full.maven.version>3.0.0.GA-redhat-00004</full.maven.version>
        <ee.maven.groupId>${project.groupId}</ee.maven.groupId>
        <expansion.pack.release.name>JBoss EAP XP</expansion.pack.release.name>
        <expansion.pack.release.version>3.0.0.GA</expansion.pack.release.version>
        <jboss.eap.release.version>7.4</jboss.eap.release.version>
        <product.docs.server.version>23</product.docs.server.version>
        <!-- A short variant of product.release.version used in 'startsWith' tests done by dist verification logic -->
        <verifier.product.release.version>${jboss.eap.release.version}</verifier.product.release.version>

        <!-- Galleon -->
        <galleon.fork.embedded>true</galleon.fork.embedded>
        <galleon.log.time>true</galleon.log.time>
        <galleon.offline>false</galleon.offline>

        <!-- Checkstyle configuration -->
        <linkXRef>false</linkXRef>

        <!--
            Build configuration.  Override JBoss Parent settings as necessary.
            For example: <version.surefire.plugin>2.11</version.surefire.plugin>
          -->
        <maven.min.version>3.6.0</maven.min.version>

        <!-- Modularized JDK support (various workarounds) - activated via profile -->
        <modular.jdk.args />
        <modular.jdk.props />

        <!--
            See ChildFirstClassLoaderBuilder in model-test for the explanation of the org.jboss.model.test.cache.root and org.jboss.model.test.classpath.cache properties.
            If used in conjunction with org.jboss.model.test.classpath.cache -Dorg.jboss.model.test.cache.strict on the command line, transformers tests must
            propagate these to the test when run
         -->
        <!-- The name of the root checkout folder to create org.jboss.model.test.classpath.cache under for subsystem-test and core-model-test -->
        <org.jboss.model.test.cache.root>[pom.xml,testsuite]</org.jboss.model.test.cache.root>
        <!-- Location relative to root that will be used for the cached legacy classpaths used by subsystem-test and core-model-test-->
        <org.jboss.model.test.classpath.cache>target/model-test-classpath-cache</org.jboss.model.test.classpath.cache>
        <org.jboss.model.test.maven.repository.urls>${maven.repository.protocol}://download.devel.redhat.com/brewroot/repos/jb-eap-7.4-maven-build/latest/maven/,https://maven.repository.redhat.com/ga/,${maven.repository.protocol}://repository.jboss.org/nexus/content/groups/developer/</org.jboss.model.test.maven.repository.urls>

        <!-- Properties that drive the names of various directories produced by and used in the build -->
        <server.output.dir.prefix>jboss-eap</server.output.dir.prefix>
        <!-- Version suffix that is appended to directories. Default is the maven GAV version but this can be edited to use a short form version -->
        <server.output.dir.version>${jboss.eap.release.version}</server.output.dir.version>

        <!-- Properties related to the directory from which testsuite modules that don't create their own dists
             should obtain the dist to test -->
        <!-- First, prefix to add to the standard maven child project whose output should be used.
             An empty value means no prefix.
             Custom test jobs can override this using -D, e.g. -Dtestsuite.default.build.project.prefix=ee- -->
        <testsuite.default.build.project.prefix />
        <wildfly.build.output.dir>${testsuite.default.build.project.prefix}build/target/${server.output.dir.prefix}-${server.output.dir.version}</wildfly.build.output.dir>

        <!-- Protocol to use for communication with remote maven repositories.
             You can set to 'http' if you are using a maven proxy and 'https'
             interferes with that. Use 'https' for builds that will be released
             to non-snapshot public maven repos -->
        <maven.repository.protocol>https</maven.repository.protocol>

        <!-- Surefire args -->
        <surefire.extra.args />
        <surefire.jpda.args />
        <surefire.system.args>${modular.jdk.args} ${modular.jdk.props} -ea -Duser.region=US -Duser.language=en -XX:MaxMetaspaceSize=256m ${surefire.jpda.args} ${surefire.extra.args} ${surefire.jacoco.args}</surefire.system.args>

        <!-- Galleon feature pack to use in testsuite provisioning executions that provide content
             that *could* be obtained solely from the wildfly-ee-galleon-pack or its dependencies.
             Test jobs can override this using -D to test using different feature pack.
        -->
        <testsuite.ee.galleon.pack.groupId>${full.maven.groupId}</testsuite.ee.galleon.pack.groupId>
        <testsuite.ee.galleon.pack.artifactId>wildfly-galleon-pack</testsuite.ee.galleon.pack.artifactId>
        <testsuite.ee.galleon.pack.version>${full.maven.version}</testsuite.ee.galleon.pack.version>

        <!-- Properties that set the phase used for different plugin executions.
             Profiles can override the values here to enable/disable executions.
             A value of 'none' disables the execution; to enable set the value to the
             normal phase for the goal.
             This setup allows the bulk of the execution configuration to be in the
             default build config (and thus shared in different profiles) while
             still being easily disabled in profiles where it is not wanted. -->
        <surefire.default-test.phase>test</surefire.default-test.phase>

        <!--
            *Plugin* Dependency versions. Please keep alphabetical.

            Properties for dependencies that are not *solely* related to plugins go in the next section.

            This is not limited to plugin versions. Other artifacts that those plugins depend upon can go here
            if they are not otherwise used.

            Each version property should be of the form "version.<groupId>".
            For example: <version.org.jboss.as>

            In cases where multiple artifacts use the same groupId but have different
            versions, add the artifactId or other qualifier to the property name.
         -->
        <version.asciidoctor.plugin>1.5.6</version.asciidoctor.plugin>
        <version.help.plugin>2.2</version.help.plugin>
        <version.jacoco.plugin>0.8.2</version.jacoco.plugin><!-- TODO property does not follow verion.groupId format -->
        <version.org.jboss.galleon>4.2.8.Final</version.org.jboss.galleon>
        <version.org.wildfly.build-tools>1.2.12.Final</version.org.wildfly.build-tools>
        <version.org.wildfly.checkstyle-config>1.0.8.Final</version.org.wildfly.checkstyle-config>
        <!-- This is used for the Galleon plugin. While it doesn't end up in the final distribution from any feature packs here,
             we should keep this the same as the version in core for consistency. -->
        <version.org.wildfly.common>1.5.2.Final-redhat-00002</version.org.wildfly.common>
        <version.org.wildfly.component-matrix-plugin>1.0.3.Final</version.org.wildfly.component-matrix-plugin>
        <!-- Control the launcher dep used by arquillian so it uses one that supports bootable jar -->
        <version.org.wildfly.core.launcher>12.0.3.Final</version.org.wildfly.core.launcher>
        <version.org.wildfly.jar.plugin>4.0.3.Final-redhat-00001</version.org.wildfly.jar.plugin>
        <version.org.wildfly.galleon-plugins>5.1.2.Final</version.org.wildfly.galleon-plugins>
        <version.org.wildfly.maven.plugins>2.0.0.Final</version.org.wildfly.maven.plugins>
        <version.org.wildfly.plugin>1.2.1.Final</version.org.wildfly.plugin>
        <version.org.zanata.plugin>3.9.1</version.org.zanata.plugin>
        <version.verifier.plugin>1.1</version.verifier.plugin>
        <version.xml.plugin>1.0.1</version.xml.plugin>

        <!--
            *Non-plugin* Dependency versions. Please keep alphabetical.

            Properties for dependencies that solely relate to maven plugins go in the section above.

            Each version property should be of the form "version.<groupId>".
            For example: <version.org.jboss.as>

            In cases where multiple artifacts use the same groupId but have different
            versions, add the artifactId or other qualifier to the property name.
            For example: <version.org.jboss.hal.release-stream>
            to sort automatically use
             mvn com.github.ekryd.sortpom:sortpom-maven-plugin:2.8.0:sort -Dsort.sortProperties=true -Dsort.nrOfIndentSpace=4 -Dsort.keepBlankLines=true -Dsort.sortDependencies=scope,groupId,artifactId
         -->
        <version.com.fasterxml.jackson>2.12.1.redhat-00001</version.com.fasterxml.jackson>
        <version.com.squareup.okhttp3>3.9.0.redhat-3</version.com.squareup.okhttp3>
        <version.com.squareup.okio>1.13.0.redhat-3</version.com.squareup.okio>
        <version.io.jaegertracing>1.5.0.redhat-00001</version.io.jaegertracing>
        <version.io.opentelemetry.opentelemetry>0.16.0.redhat-00001</version.io.opentelemetry.opentelemetry>
        <version.io.opentracing>0.33.0.redhat-00001</version.io.opentracing>
        <version.io.opentracing.concurrent>0.4.0.redhat-00001</version.io.opentracing.concurrent>
        <version.io.opentracing.interceptors>0.1.3.redhat-00001</version.io.opentracing.interceptors>
        <version.io.opentracing.jaxrs2>1.0.0.redhat-00001</version.io.opentracing.jaxrs2>
        <version.io.opentracing.servlet>0.2.3.redhat-00001</version.io.opentracing.servlet>
        <version.io.opentracing.tracerresolver>0.1.8.redhat-00001</version.io.opentracing.tracerresolver>
        <version.io.smallrye.open-api>2.1.2.redhat-00001</version.io.smallrye.open-api>
        <version.io.smallrye.opentracing>2.0.0.redhat-00001</version.io.smallrye.opentracing>
        <version.io.smallrye.reactive-utils>2.1.1.redhat-00001</version.io.smallrye.reactive-utils>
        <version.io.smallrye.smallrye-common>1.5.0.redhat-00001</version.io.smallrye.smallrye-common>
        <version.io.smallrye.smallrye-config>2.0.2.redhat-00001</version.io.smallrye.smallrye-config>
        <version.io.smallrye.smallrye-fault-tolerance>5.0.0.redhat-00001</version.io.smallrye.smallrye-fault-tolerance>
        <version.io.smallrye.smallrye-health>3.0.0.redhat-00001</version.io.smallrye.smallrye-health>
        <version.io.smallrye.smallrye-jwt>3.0.0.redhat-00001</version.io.smallrye.smallrye-jwt>
        <version.io.smallrye.smallrye-metrics>3.0.1.redhat-00001</version.io.smallrye.smallrye-metrics>
        <version.io.smallrye.smallrye-mutiny>0.14.0.redhat-00001</version.io.smallrye.smallrye-mutiny>
        <version.io.smallrye.smallrye-reactive-messaging>3.0.0.redhat-00001</version.io.smallrye.smallrye-reactive-messaging>
        <version.io.vertx.vertx>4.0.2.redhat-00001</version.io.vertx.vertx>
        <version.io.vertx.vertx-kafka-client>${version.io.vertx.vertx}</version.io.vertx.vertx-kafka-client>
        <version.org.apache.kafka>2.7.0.redhat-00002</version.org.apache.kafka>
        <version.org.apache.thrift>0.13.0.redhat-00002</version.org.apache.thrift>
        <version.org.bitbucket.jose4j>0.7.2.redhat-00002</version.org.bitbucket.jose4j>
        <version.org.codehaus.mojo.build-helper-maven-plugin>3.0.0</version.org.codehaus.mojo.build-helper-maven-plugin>
        <version.org.eclipse.microprofile.config.api>2.0.0.redhat-00002</version.org.eclipse.microprofile.config.api>
        <version.org.eclipse.microprofile.fault-tolerance.api>3.0.0.redhat-00002</version.org.eclipse.microprofile.fault-tolerance.api>
        <version.org.eclipse.microprofile.fault-tolerance.tck>${version.org.eclipse.microprofile.fault-tolerance.api}</version.org.eclipse.microprofile.fault-tolerance.tck>
        <version.org.eclipse.microprofile.health.api>3.0.0.redhat-00002</version.org.eclipse.microprofile.health.api>
        <version.org.eclipse.microprofile.jwt.api>1.2.0.redhat-00002</version.org.eclipse.microprofile.jwt.api>
        <version.org.eclipse.microprofile.metrics.api>3.0.0.redhat-00002</version.org.eclipse.microprofile.metrics.api>
        <version.org.eclipse.microprofile.openapi>2.0.0.redhat-00002</version.org.eclipse.microprofile.openapi>
        <version.org.eclipse.microprofile.opentracing>2.0.0.redhat-00002</version.org.eclipse.microprofile.opentracing>
        <version.org.eclipse.microprofile.reactive-messaging.api>1.0.0.redhat-00003</version.org.eclipse.microprofile.reactive-messaging.api>
        <version.org.eclipse.microprofile.reactive-streams-operators.api>1.0.1.redhat-00001</version.org.eclipse.microprofile.reactive-streams-operators.api>
        <version.org.eclipse.microprofile.rest.client.api>2.0.0.redhat-00002</version.org.eclipse.microprofile.rest.client.api>
        <version.org.jboss.eap>7.4.0.GA-redhat-00005</version.org.jboss.eap>
        <version.org.wildfly.core>15.0.2.Final-redhat-00001</version.org.wildfly.core>

        <!-- Test-only dependencies -->
        <version.com.beust>1.78</version.com.beust>
        <version.com.github.tomakehurst.wiremock>2.20.0</version.com.github.tomakehurst.wiremock>
        <version.org.apache.kafka.test.scala>2.7.0</version.org.apache.kafka.test.scala>
        <version.org.jboss.arquillian.core>1.6.0.Final</version.org.jboss.arquillian.core>
        <!-- only needed here until wildfly-arquillian has this version properly synced with arquillian itslef  -->
        <version.org.jboss.shrinkwrap.descriptors>2.0.0</version.org.jboss.shrinkwrap.descriptors>
        <version.org.jboss.shrinkwrap.shrinkwrap>1.2.6</version.org.jboss.shrinkwrap.shrinkwrap>
        <version.org.springframework.kafka>2.6.4</version.org.springframework.kafka>
        <version.org.testng>6.14.3</version.org.testng>
        <version.org.wildfly.arquillian>3.0.1.Final</version.org.wildfly.arquillian>

    </properties>

    <dependencyManagement>
        <dependencies>

            <!-- Import the base jboss-eap-parent to get all the managed dependencies from base EAP -->
            <dependency>
                <groupId>org.jboss.eap</groupId>
                <artifactId>jboss-eap-parent</artifactId>
                <version>${version.org.jboss.eap}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Local dependencies -->

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jboss-eap-xp-build</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jboss-eap-xp-build</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jboss-eap-xp-dist</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jboss-eap-xp-dist</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>wildfly-galleon-pack</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>wildfly-galleon-pack</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
                <type>zip</type>
            </dependency>
            
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>wildfly-jar-runtime</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>wildfly-jar-boot</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-config-smallrye</artifactId>
                <version>${full.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-fault-tolerance-smallrye</artifactId>
                <version>${full.maven.version}</version>
            </dependency>
            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-fault-tolerance-smallrye-executor</artifactId>
                <version>${full.maven.version}</version>
            </dependency>
            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-fault-tolerance-smallrye-extension</artifactId>
                <version>${full.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-health-smallrye</artifactId>
                <version>${full.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-jwt-smallrye</artifactId>
                <version>${full.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-metrics-smallrye</artifactId>
                <version>${full.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-openapi-smallrye</artifactId>
                <version>${full.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-opentracing-extension</artifactId>
                <version>${full.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-opentracing-smallrye</artifactId>
                <version>${full.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-reactive-messaging</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-reactive-messaging-config</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-reactive-streams-operators</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-microprofile-reactive-streams-operators-cdi-provider</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-mp-feature-pack-galleon-common</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-mp-feature-pack-galleon-common</artifactId>
                <version>${full.maven.version}</version>
                <type>zip/</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-feature-pack-galleon-content</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-feature-pack-galleon-content</artifactId>
                <version>${full.maven.version}</version>
                <type>zip/</type>
            </dependency>

            <!-- External Dependencies -->

            <dependency>
                <groupId>com.beust</groupId>
                <artifactId>jcommander</artifactId>
                <version>${version.com.beust}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-yaml</artifactId>
                <version>${version.com.fasterxml.jackson}</version>
            </dependency>

            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock</artifactId>
                <version>${version.com.github.tomakehurst.wiremock}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${version.com.squareup.okhttp3}</version>
            </dependency>

            <dependency>
                <groupId>com.squareup.okio</groupId>
                <artifactId>okio</artifactId>
                <version>${version.com.squareup.okio}</version>
            </dependency>

            <dependency>
                <groupId>io.jaegertracing</groupId>
                <artifactId>jaeger-client</artifactId>
                <version>${version.io.jaegertracing}</version>
            </dependency>

            <dependency>
                <groupId>io.jaegertracing</groupId>
                <artifactId>jaeger-core</artifactId>
                <version>${version.io.jaegertracing}</version>
            </dependency>

            <dependency>
                <groupId>io.jaegertracing</groupId>
                <artifactId>jaeger-thrift</artifactId>
                <version>${version.io.jaegertracing}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.squareup.okhttp3</groupId>
                        <artifactId>okhttp</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.thrift</groupId>
                        <artifactId>libthrift</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.opentelemetry</groupId>
                <artifactId>opentelemetry-api</artifactId>
                <version>${version.io.opentelemetry.opentelemetry}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.opentelemetry</groupId>
                <artifactId>opentelemetry-context</artifactId>
                <version>${version.io.opentelemetry.opentelemetry}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.opentracing</groupId>
                <artifactId>opentracing-api</artifactId>
                <version>${version.io.opentracing}</version>
            </dependency>

            <dependency>
                <groupId>io.opentracing</groupId>
                <artifactId>opentracing-noop</artifactId>
                <version>${version.io.opentracing}</version>
            </dependency>

            <dependency>
                <groupId>io.opentracing</groupId>
                <artifactId>opentracing-util</artifactId>
                <version>${version.io.opentracing}</version>
            </dependency>

            <dependency>
                <groupId>io.opentracing</groupId>
                <artifactId>opentracing-mock</artifactId>
                <version>${version.io.opentracing}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>io.opentracing.contrib</groupId>
                <artifactId>opentracing-web-servlet-filter</artifactId>
                <version>${version.io.opentracing.servlet}</version>
            </dependency>

            <dependency>
                <groupId>io.opentracing.contrib</groupId>
                <artifactId>opentracing-jaxrs2</artifactId>
                <version>${version.io.opentracing.jaxrs2}</version>
            </dependency>

            <dependency>
                <groupId>io.opentracing.contrib</groupId>
                <artifactId>opentracing-concurrent</artifactId>
                <version>${version.io.opentracing.concurrent}</version>
            </dependency>

            <dependency>
                <groupId>io.opentracing.contrib</groupId>
                <artifactId>opentracing-interceptors</artifactId>
                <version>${version.io.opentracing.interceptors}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax</groupId>
                        <artifactId>javaee-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.opentracing.contrib</groupId>
                <artifactId>opentracing-tracerresolver</artifactId>
                <version>${version.io.opentracing.tracerresolver}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye.common</groupId>
                <artifactId>smallrye-common-annotation</artifactId>
                <version>${version.io.smallrye.smallrye-common}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye.common</groupId>
                <artifactId>smallrye-common-classloader</artifactId>
                <version>${version.io.smallrye.smallrye-common}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye.common</groupId>
                <artifactId>smallrye-common-constraint</artifactId>
                <version>${version.io.smallrye.smallrye-common}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye.common</groupId>
                <artifactId>smallrye-common-expression</artifactId>
                <version>${version.io.smallrye.smallrye-common}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye.common</groupId>
                <artifactId>smallrye-common-function</artifactId>
                <version>${version.io.smallrye.smallrye-common}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye.config</groupId>
                <artifactId>smallrye-config</artifactId>
                <version>${version.io.smallrye.smallrye-config}</version>
                <exclusions>
                    <!-- TODO remove this exclusion once this depends on Jakarta Annotations -->
                    <!-- Superceded by jakarta.annotation:jakarta.annotation-api -->
                    <exclusion>
                        <groupId>javax.annotation</groupId>
                        <artifactId>javax.annotation-api</artifactId>
                    </exclusion>
                    <!-- TODO remove this exclusion once this depends on Jakarta CDI -->
                    <!-- Superceded by jakarta.enterprise:jakarta.cdi-api -->
                    <exclusion>
                        <groupId>javax.enterprise</groupId>
                        <artifactId>cdi-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.smallrye.config</groupId>
                <artifactId>smallrye-config-common</artifactId>
                <version>${version.io.smallrye.smallrye-config}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye.config</groupId>
                <artifactId>smallrye-config-core</artifactId>
                <version>${version.io.smallrye.smallrye-config}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye.config</groupId>
                <artifactId>smallrye-config-source-file-system</artifactId>
                <version>${version.io.smallrye.smallrye-config}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-fault-tolerance</artifactId>
                <version>${version.io.smallrye.smallrye-fault-tolerance}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-fault-tolerance-api</artifactId>
                <version>${version.io.smallrye.smallrye-fault-tolerance}</version>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-fault-tolerance-core</artifactId>
                <version>${version.io.smallrye.smallrye-fault-tolerance}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-health</artifactId>
                <version>${version.io.smallrye.smallrye-health}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-jwt</artifactId>
                <version>${version.io.smallrye.smallrye-jwt}</version>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-jwt-cdi-extension</artifactId>
                <version>${version.io.smallrye.smallrye-jwt}</version>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-jwt-common</artifactId>
                <version>${version.io.smallrye.smallrye-jwt}</version>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-jwt-http-mechanism</artifactId>
                <version>${version.io.smallrye.smallrye-jwt}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-metrics</artifactId>
                <version>${version.io.smallrye.smallrye-metrics}</version>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-metrics-api</artifactId>
                <version>${version.io.smallrye.smallrye-metrics}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-open-api-core</artifactId>
                <version>${version.io.smallrye.open-api}</version>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-open-api-jaxrs</artifactId>
                <version>${version.io.smallrye.open-api}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-opentracing</artifactId>
                <version>${version.io.smallrye.opentracing}</version>
            </dependency>

            <dependency>
                <groupId>io.smallrye.reactive</groupId>
                <artifactId>mutiny</artifactId>
                <version>${version.io.smallrye.smallrye-mutiny}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.smallrye.reactive</groupId>
                <artifactId>smallrye-mutiny-vertx-core</artifactId>
                <version>${version.io.smallrye.reactive-utils}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.smallrye.reactive</groupId>
                <artifactId>smallrye-mutiny-vertx-kafka-client</artifactId>
                <version>${version.io.smallrye.reactive-utils}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.smallrye.reactive</groupId>
                <artifactId>smallrye-mutiny-vertx-runtime</artifactId>
                <version>${version.io.smallrye.reactive-utils}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.smallrye.reactive</groupId>
                <artifactId>smallrye-reactive-converter-api</artifactId>
                <version>${version.io.smallrye.reactive-utils}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.smallrye.reactive</groupId>
                <artifactId>smallrye-reactive-messaging-api</artifactId>
                <version>${version.io.smallrye.smallrye-reactive-messaging}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.smallrye.reactive</groupId>
                <artifactId>smallrye-reactive-messaging-kafka</artifactId>
                <version>${version.io.smallrye.smallrye-reactive-messaging}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.smallrye.reactive</groupId>
                <artifactId>smallrye-reactive-messaging-provider</artifactId>
                <version>${version.io.smallrye.smallrye-reactive-messaging}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.smallrye.reactive</groupId>
                <artifactId>mutiny-reactive-streams-operators</artifactId>
                <version>${version.io.smallrye.smallrye-mutiny}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-core</artifactId>
                <version>${version.io.vertx.vertx}</version>
                <exclusions>
                    <!--
                        For some reason a wildcard exclusion here triggers a dependency convergence
                        error in the enforcer plugin. List them all individually.
                        TODO replace with a wildcard exclusion once the world is on maven 3.6.2+
                    -->
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-common</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-buffer</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-transport</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-handler</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-handler-proxy</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-codec-http</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-codec-http2</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-resolver</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-resolver-dns</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-databind</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-kafka-client</artifactId>
                <version>${version.io.vertx.vertx-kafka-client}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>${version.org.apache.kafka}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.thrift</groupId>
                <artifactId>libthrift</artifactId>
                <version>${version.org.apache.thrift}</version>
            </dependency>

            <dependency>
                <groupId>org.bitbucket.b_c</groupId>
                <artifactId>jose4j</artifactId>
                <version>${version.org.bitbucket.jose4j}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.config</groupId>
                <artifactId>microprofile-config-api</artifactId>
                <version>${version.org.eclipse.microprofile.config.api}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.config</groupId>
                <artifactId>microprofile-config-tck</artifactId>
                <version>${version.org.eclipse.microprofile.config.api}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.fault-tolerance</groupId>
                <artifactId>microprofile-fault-tolerance-api</artifactId>
                <version>${version.org.eclipse.microprofile.fault-tolerance.api}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.fault-tolerance</groupId>
                <artifactId>microprofile-fault-tolerance-tck</artifactId>
                <version>${version.org.eclipse.microprofile.fault-tolerance.tck}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.health</groupId>
                <artifactId>microprofile-health-api</artifactId>
                <version>${version.org.eclipse.microprofile.health.api}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.inject</groupId>
                        <artifactId>javax.inject</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.health</groupId>
                <artifactId>microprofile-health-tck</artifactId>
                <version>${version.org.eclipse.microprofile.health.api}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.jwt</groupId>
                <artifactId>microprofile-jwt-auth-api</artifactId>
                <version>${version.org.eclipse.microprofile.jwt.api}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.jwt</groupId>
                <artifactId>microprofile-jwt-auth-tck</artifactId>
                <version>${version.org.eclipse.microprofile.jwt.api}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.jwt</groupId>
                <artifactId>microprofile-jwt-auth-tck</artifactId>
                <version>${version.org.eclipse.microprofile.jwt.api}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.metrics</groupId>
                <artifactId>microprofile-metrics-api</artifactId>
                <version>${version.org.eclipse.microprofile.metrics.api}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.metrics</groupId>
                <artifactId>microprofile-metrics-api-tck</artifactId>
                <version>${version.org.eclipse.microprofile.metrics.api}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.metrics</groupId>
                <artifactId>microprofile-metrics-rest-tck</artifactId>
                <version>${version.org.eclipse.microprofile.metrics.api}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.openapi</groupId>
                <artifactId>microprofile-openapi-api</artifactId>
                <version>${version.org.eclipse.microprofile.openapi}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.openapi</groupId>
                <artifactId>microprofile-openapi-tck</artifactId>
                <version>${version.org.eclipse.microprofile.openapi}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.opentracing</groupId>
                <artifactId>microprofile-opentracing-api</artifactId>
                <version>${version.org.eclipse.microprofile.opentracing}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.opentracing</groupId>
                <artifactId>microprofile-opentracing-tck</artifactId>
                <version>${version.org.eclipse.microprofile.opentracing}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.opentracing</groupId>
                <artifactId>microprofile-opentracing-tck-rest-client</artifactId>
                <version>${version.org.eclipse.microprofile.opentracing}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.reactive.messaging</groupId>
                <artifactId>microprofile-reactive-messaging-api</artifactId>
                <version>${version.org.eclipse.microprofile.reactive-messaging.api}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.reactive.messaging</groupId>
                <artifactId>microprofile-reactive-messaging-tck</artifactId>
                <version>${version.org.eclipse.microprofile.reactive-messaging.api}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.reactive-streams-operators</groupId>
                <artifactId>microprofile-reactive-streams-operators-api</artifactId>
                <version>${version.org.eclipse.microprofile.reactive-streams-operators.api}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.reactive-streams-operators</groupId>
                <artifactId>microprofile-reactive-streams-operators-core</artifactId>
                <version>${version.org.eclipse.microprofile.reactive-streams-operators.api}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.reactive-streams-operators</groupId>
                <artifactId>microprofile-reactive-streams-operators-tck</artifactId>
                <version>${version.org.eclipse.microprofile.reactive-streams-operators.api}</version>
                <scope>test</scope>
                <exclusions>
                    <!--
                        Depends on org.reactivestreams:reactive-streams-tck which in turn has a dependency
                        on an ancient version of this spi
                     -->
                    <exclusion>
                        <groupId>org.jboss.arquillian.test</groupId>
                        <artifactId>arquillian-test-spi</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.eclipse.microprofile.rest.client</groupId>
                <artifactId>microprofile-rest-client-api</artifactId>
                <version>${version.org.eclipse.microprofile.rest.client.api}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.rest.client</groupId>
                <artifactId>microprofile-rest-client-tck</artifactId>
                <version>${version.org.eclipse.microprofile.rest.client.api}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${version.org.testng}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-common</artifactId>
                <version>${version.org.wildfly.arquillian}</version>
            </dependency>

            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-container-bootable</artifactId>
                <version>${version.org.wildfly.arquillian}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.sasl</groupId>
                        <artifactId>jboss-sasl</artifactId>
                    </exclusion>
                    <!-- TODO remove this exclusion once this depends on Jakarta Inject -->
                    <!-- superseded by jakarta.inject:jakarta.inject-api -->
                    <exclusion>
                        <groupId>javax.inject</groupId>
                        <artifactId>javax.inject</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-container-managed</artifactId>
                <version>${version.org.wildfly.arquillian}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.sasl</groupId>
                        <artifactId>jboss-sasl</artifactId>
                    </exclusion>
                    <!-- TODO remove this exclusion once this depends on Jakarta Inject -->
                    <!-- superseded by jakarta.inject:jakarta.inject-api -->
                    <exclusion>
                        <groupId>javax.inject</groupId>
                        <artifactId>javax.inject</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-protocol-jmx</artifactId>
                <version>${version.org.wildfly.arquillian}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.wildfly.security</groupId>
                        <artifactId>wildfly-security-manager</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-testenricher-msc</artifactId>
                <version>${version.org.wildfly.arquillian}</version>
            </dependency>

            <dependency>
                <groupId>org.wildfly.checkstyle</groupId>
                <artifactId>wildfly-checkstyle-config</artifactId>
                <version>${version.org.wildfly.checkstyle-config}</version>
            </dependency>

            <dependency>
                <groupId>org.wildfly.galleon-plugins</groupId>
                <artifactId>wildfly-galleon-plugins</artifactId>
                <version>${version.org.wildfly.galleon-plugins}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.galleon</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.wildfly.galleon-plugins</groupId>
                <artifactId>wildfly-config-gen</artifactId>
                <version>${version.org.wildfly.galleon-plugins}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jboss-eap-xp-testsuite-shared</artifactId>
                <version>3.0.0.GA-redhat-00004</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.httpunit</groupId>
                <artifactId>httpunit</artifactId>
                <version>${version.httpunit}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.jboss.arquillian.junit</groupId>
                <artifactId>arquillian-junit-container</artifactId>
                <version>${version.org.jboss.arquillian.core}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.testng</groupId>
                <artifactId>arquillian-testng-container</artifactId>
                <version>${version.org.jboss.arquillian.core}</version>
                <scope>test</scope>
            </dependency>

            <!-- Required for the MicroProfile health TCK that is run as part of the testsuite and the TCK brings in an
                 older version.

                 It also needs to be a runtime dependency because the shared testsuite requires it.
             -->
            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-container-test-spi</artifactId>
                <version>${version.org.jboss.arquillian.core}</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.logmanager</groupId>
                <artifactId>commons-logging-jboss-logmanager</artifactId>
                <version>${version.org.jboss.logmanager.commons-logging-jboss-logmanager}</version>
                <scope>test</scope>
            </dependency>

            <!-- only still used by tests -->
            <dependency>
                <groupId>org.jboss.shrinkwrap</groupId>
                <artifactId>shrinkwrap-api</artifactId>
                <version>${version.org.jboss.shrinkwrap.shrinkwrap}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.kafka</groupId>
                <artifactId>spring-kafka-test</artifactId>
                <version>${version.org.springframework.kafka}</version>
                <scope>test</scope>
                <exclusions>
                    <!--
                        This version pulls in a different version of Kafka from
                        our version of Kafka Clients
                    -->
                    <exclusion>
                        <groupId>org.apache.kafka</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>



        </dependencies>
    </dependencyManagement>

    <repositories>
        <!-- keep this repository the first -->
        
        
        
    </repositories>

    <pluginRepositories>
        
        
        
    </pluginRepositories>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.commonjava.maven.plugins</groupId>
                    <artifactId>project-sources-maven-plugin</artifactId>
                    <version>1.0</version>
                    <executions>
                        <execution>
                            <id>project-sources-archive</id>
                            <phase>initialize</phase>
                            <goals>
                                <goal>archive</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <assemblyRootFolder>${server.output.dir.prefix}-${server.output.dir.version}-src</assemblyRootFolder>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${version.jar.plugin}</version>
                    <configuration>
                        <archive>
                            <manifestEntries>
                                <Scm-Url>${jboss.as.scm.url}</Scm-Url>
                                <JBossAS-Release-Version>${project.version}</JBossAS-Release-Version>
                                <JBossAS-Release-Codename>${jboss.as.release.codename}</JBossAS-Release-Codename>
                            </manifestEntries>
                        </archive>
                        <!-- Do not package the generated logging properties as the generated binaries will be packaged -->
                        <!-- These files are not required at runtime -->
                        <excludes>
                            <exclude>**/*.i18n.properties</exclude>
                            <exclude>**/*.i18n_*.properties</exclude>
                        </excludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${version.surefire.plugin}</version>
                    <configuration>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <enableAssertions>true</enableAssertions>
                        <systemPropertyVariables>
                            <org.jboss.model.test.cache.root>${org.jboss.model.test.cache.root}</org.jboss.model.test.cache.root>
                            <org.jboss.model.test.classpath.cache>${org.jboss.model.test.classpath.cache}</org.jboss.model.test.classpath.cache>
                            <org.jboss.model.test.cache.strict>true</org.jboss.model.test.cache.strict>
                            <org.jboss.model.test.maven.repository.urls>${org.jboss.model.test.maven.repository.urls}</org.jboss.model.test.maven.repository.urls>
                        </systemPropertyVariables>
                        <systemProperties>
                            <property>
                                <name>java.util.logging.manager</name>
                                <value>org.jboss.logmanager.LogManager</value>
                            </property>
                        </systemProperties>
                        <argLine>${surefire.system.args}</argLine>
                    </configuration>

                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <configuration>
                        <doclint>none</doclint>
                    </configuration>
                </plugin>
                <!-- Checkstyle -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>${version.checkstyle.plugin}</version>
                    <executions>
                        <execution>
                            <id>check-style</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>checkstyle</goal>
                            </goals>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.wildfly.checkstyle</groupId>
                            <artifactId>wildfly-checkstyle-config</artifactId>
                            <version>${version.org.wildfly.checkstyle-config}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <configLocation>wildfly-checkstyle/checkstyle.xml</configLocation>
                        <consoleOutput>true</consoleOutput>
                        <failsOnError>true</failsOnError>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        <excludes>**/*$logger.java,**/*$bundle.java</excludes>
                        <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
                        <useFile />
                    </configuration>
                </plugin>

                <!-- Ban bad dependencies -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${version.enforcer.plugin}</version>
                    <executions>
                        <execution>
                            <id>ban-bad-dependencies</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <bannedDependencies>
                                        <searchTransitive>true</searchTransitive>
                                        <excludes>
                                            <exclude>args4j:args4j</exclude>
                                            <exclude>biz.aQute:bnd</exclude>
                                            <exclude>com.google.gwt.inject:gin</exclude>
                                            <exclude>com.google.inject:guice</exclude>
                                            <exclude>com.gwtplatform:gwtp-all</exclude>
                                            <exclude>com.sun.activation:javax.activation</exclude>
                                            <exclude>com.sun.mail:javax.mail</exclude>
                                            <exclude>com.sun.xml.bind:jaxb-core</exclude>
                                            <exclude>com.sun.xml.bind:jaxb-impl</exclude>
                                            <exclude>com.sun.xml.bind:jaxb-xjc</exclude>
                                            <exclude>commons-httpclient:commons-httpclient</exclude>
                                            <exclude>commons-logging:commons-logging</exclude>
                                            <exclude>commons-logging:commons-logging-api</exclude>
                                            <exclude>concurrent:concurrent</exclude>
                                            <exclude>dom4j:dom4j</exclude>
                                            <exclude>jacorb:jacorb</exclude>
                                            <exclude>javassist:javassist</exclude>
                                            <exclude>javax.activation:activation</exclude>
                                            <exclude>javax.activation:javax.activation-api</exclude>
                                            <exclude>javax.enterprise:cdi-api</exclude>
                                            <exclude>javax.inject:javax.inject</exclude>
                                            <exclude>javax.json:javax.json-api</exclude>
                                            <exclude>javax.persistence:javax.persistence-api</exclude>
                                            <exclude>javax.persistence:persistence-api</exclude>
                                            <exclude>javax.security.enterprise:javax.security.enterprise-api</exclude>
                                            <exclude>javax.servlet:servlet-api</exclude>
                                            <exclude>javax.transaction:jta</exclude>
                                            <exclude>javax.validation:validation-api</exclude>
                                            <exclude>javax.xml:jaxrpc-api</exclude>
                                            <exclude>javax.xml.bind:jaxb-api</exclude>
                                            <exclude>javax.xml.soap:saaj-api</exclude>
                                            <exclude>javax.xml.stream:stax-api</exclude>
                                            <exclude>jboss:jboss-logging-spi</exclude>
                                            <exclude>jboss:jboss-serialization</exclude>
                                            <exclude>jboss.web:el-api</exclude>
                                            <exclude>jboss.web:jsp-api</exclude>
                                            <exclude>jboss.web:servlet-api</exclude>
                                            <exclude>net.sf.kxml:kxml2</exclude>
                                            <exclude>org.apache.geronimo.specs:geronimo-activation_1.1_spec</exclude>
                                            <exclude>org.apache.geronimo.specs:geronimo-jaxb_2.1_spec</exclude>
                                            <exclude>org.apache.geronimo.specs:geronimo-saaj_1.3_spec</exclude>
                                            <exclude>org.apache.geronimo.specs:geronimo-stax-api_1.0_spec</exclude>
                                            <exclude>org.apache.xalan:serializer</exclude>
                                            <exclude>org.apache.xalan:xalan</exclude>
                                            <exclude>org.glassfish:javax.json</exclude>
                                            <exclude>org.glassfish.soteria:javax.security.enterprise</exclude>
                                            <exclude>org.hibernate:ejb3-persistence</exclude>
                                            <exclude>org.hibernate.java-persistence:jpa-api</exclude>
                                            <!-- replaced by wildfly-naming-client -->
                                            <exclude>org.jboss:jboss-remote-naming</exclude>
                                            <!--<exclude>org.jboss:jboss-common-core</exclude>-->
                                            <exclude>org.jboss.integration:jboss-jca-spi</exclude>
                                            <exclude>org.jboss.interceptor:jboss-interceptor-api</exclude>
                                            <exclude>org.jboss.javaee:jboss-javaee</exclude>
                                            <exclude>org.jboss.javaee:jboss-ejb-api</exclude>
                                            <exclude>org.jboss.javaee:jboss-jacc-api</exclude>
                                            <exclude>org.jboss.javaee:jboss-jad-api</exclude>
                                            <exclude>org.jboss.javaee:jboss-jaspi-api</exclude>
                                            <exclude>org.jboss.javaee:jboss-jca-api</exclude>
                                            <exclude>org.jboss.javaee:jboss-jms-api</exclude>
                                            <exclude>org.jboss.javaee:servlet-api</exclude>
                                            <exclude>org.jboss.javaee:jsp-api</exclude>
                                            <exclude>org.jboss.javaee:jboss-transaction-api</exclude>
                                            <exclude>org.jboss.logging:jboss-logging-generator</exclude>
                                            <exclude>org.jboss.logging:jboss-logging-log4j</exclude>
                                            <exclude>org.jboss.logging:jboss-logging-jdk</exclude>
                                            <exclude>org.jboss.logging:jboss-logging-logmanager</exclude>
                                            <exclude>org.jboss.logging:jboss-logging-spi</exclude>
                                            <exclude>org.jboss.logging:jboss-logging-tools</exclude>
                                            <!-- replaced by io.netty:netty -->
                                            <exclude>org.jboss.netty:netty</exclude>
                                            <!-- replaced by io.netty:netty-all -->
                                            <exclude>io.netty:netty</exclude>
                                            <exclude>org.jboss.remoting3:jboss-remoting</exclude>
                                            <exclude>org.jboss.security:jbosssx</exclude>
                                            <!-- replaced by wildfly-elytron -->
                                            <exclude>org.jboss.sasl:jboss-sasl</exclude>
                                            <exclude>org.jboss.slf4j:slf4j-jboss-logging</exclude>
                                            <exclude>org.jboss.spec.javax.resource:jboss-connector-api_1.5_spec</exclude>
                                            <exclude>org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec</exclude>
                                            <exclude>org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec</exclude>
                                            <exclude>org.ops4j.base</exclude>
                                            <exclude>org.ops4j.pax.swissbox</exclude>
                                            <exclude>org.ops4j.pax.web</exclude>
                                            <exclude>org.slf4j:slf4j-nop</exclude>
                                            <exclude>org.slf4j:slf4j-jdk14</exclude>
                                            <exclude>org.slf4j:slf4j-log4j12</exclude>
                                            <exclude>org.slf4j:slf4j-log4j13</exclude>
                                            <!-- replaced by wildfly-elytron -->
                                            <exclude>org.wildfly.security:wildfly-security-manager</exclude>
                                            <exclude>oro:oro</exclude>
                                            <exclude>relaxngDatatype:relaxngDatatype</exclude>
                                            <exclude>stax:stax-api</exclude>
                                            <exclude>sun-jaxb:jaxb-api</exclude>
                                            <exclude>trove:trove</exclude>
                                            <exclude>woodstox:wstx-lgpl</exclude>
                                            <exclude>xml-apis:xml-apis</exclude>
                                        </excludes>
                                    </bannedDependencies>
                                    <dependencyConvergence />
                                </rules>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <!--This plugin here is bogus, only here to make eclipse not break down and cry when it sees maven project.-->
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.1,)</versionRange>
                                        <goals>
                                            <goal>copy</goal>
                                            <goal>properties</goal>
                                            <goal>copy-dependencies</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-checkstyle-plugin</artifactId>
                                        <versionRange>[2.5,)</versionRange>
                                        <goals>
                                            <goal>checkstyle</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-clean-plugin</artifactId>
                                        <versionRange>[2.4.1,)</versionRange>
                                        <goals>
                                            <goal>clean</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-antrun-plugin</artifactId>
                                        <versionRange>[1.4,)</versionRange>
                                        <goals>
                                            <goal>run</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>javacc-maven-plugin</artifactId>
                                        <versionRange>[2.5,)</versionRange>
                                        <goals>
                                            <goal>jjtree</goal>
                                            <goal>javacc</goal>
                                            <goal>jjtree-javacc</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>xml-maven-plugin</artifactId>
                                        <versionRange>[1.0,)</versionRange>
                                        <goals>
                                            <goal>transform</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-help-plugin</artifactId>
                                        <versionRange>[2.1.1,)</versionRange>
                                        <goals>
                                            <goal>active-profiles</goal>
                                            <goal>effective-pom</goal>
                                            <goal>effective-settings</goal>
                                            <goal>system</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>keytool-maven-plugin</artifactId>
                                        <versionRange>[1.2,)</versionRange>
                                        <goals>
                                            <goal>clean</goal>
                                            <goal>genkey</goal>
                                            <goal>generateKeyPair</goal>
                                            <goal>generateSecretKey</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.wildfly.build</groupId>
                                        <artifactId>wildfly-server-provisioning-maven-plugin</artifactId>
                                        <versionRange>[1.0.0.Alpha2,)</versionRange>
                                        <goals>
                                            <goal>build</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <version>${version.xml.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-help-plugin</artifactId>
                    <version>${version.help.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.jboss.galleon</groupId>
                    <artifactId>galleon-maven-plugin</artifactId>
                    <version>${version.org.jboss.galleon}</version>
                </plugin>
                <plugin>
                    <groupId>org.wildfly.galleon-plugins</groupId>
                    <artifactId>wildfly-galleon-maven-plugin</artifactId>
                    <version>${version.org.wildfly.galleon-plugins}</version>
                    <dependencies>
                        <!-- feature-spec-gen uses wildfly-embedded to generate the feature specs, hence the designated wildfly-embedded version must match the pack one -->
                        <dependency>
                            <groupId>org.wildfly.core</groupId>
                            <artifactId>wildfly-embedded</artifactId>
                            <version>${version.org.wildfly.core}</version>
                        </dependency>
                        <!-- If you add a dependency on wildfly-embedded you need to bring your own transitives -->
                        <dependency>
                            <groupId>org.wildfly.common</groupId>
                            <artifactId>wildfly-common</artifactId>
                            <version>${version.org.wildfly.common}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-verifier-plugin</artifactId>
                    <version>${version.verifier.plugin}</version>
                    <executions>
                        <execution>
                            <id>main</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <verificationFile>target/verifier/verifications.xml</verificationFile>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.wildfly.maven.plugins</groupId>
                    <artifactId>licenses-plugin</artifactId>
                    <version>${version.org.wildfly.maven.plugins}</version>
                </plugin>
                <plugin>
                    <groupId>org.asciidoctor</groupId>
                    <artifactId>asciidoctor-maven-plugin</artifactId>
                    <version>${version.asciidoctor.plugin}</version>
                    <configuration>
                        <sourceHighlighter>coderay</sourceHighlighter>
                        <attributes>
                            <icons>font</icons>
                            <pagenums />
                            <version>${project.version}</version>
                            <idprefix />
                            <idseparator>-</idseparator>
                            <allow-uri-read>true</allow-uri-read>
                            <wildflyVersion>13</wildflyVersion>
                            <revnumber>${project.version}</revnumber>
                            <revdate>${maven.build.timestamp}</revdate>
                            <organization>${project.organization.name}</organization>
                        </attributes>
                    </configuration>
                </plugin>
                <!-- Zanata translations -->
                <plugin>
                    <groupId>org.zanata</groupId>
                    <artifactId>zanata-maven-plugin</artifactId>
                    <version>${version.org.zanata.plugin}</version>
                    <configuration>
                        <!-- Process sub-modules separately, sharing parent config -->
                        <enableModules>true</enableModules>
                        <projectConfig>${session.executionRootDirectory}/zanata.xml</projectConfig>
                        <!-- Generated English i18n.properties are written here: -->
                        <srcDir>target/classes</srcDir>
                        <transDir>src/main/resources</transDir>
                        <includes>**/*.i18n.properties,**/LocalDescriptions.properties</includes>
                        <!-- In previous versions, 3.8.0 and lower, this defaulted to true -->
                        <copyTrans>true</copyTrans>
                        <deleteObsoleteModules>true</deleteObsoleteModules>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.wildfly.plugins</groupId>
                    <artifactId>wildfly-component-matrix-plugin</artifactId>
                    <version>${version.org.wildfly.component-matrix-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${version.org.codehaus.mojo.build-helper-maven-plugin}</version>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <executions>
                    <execution>
                        <!-- Surefire runs a 'default-test' execution by default.
                             Configure it here to use a property to set the phase for that execution.
                             Default value of the property is the normal 'test' phase
                             (see 'properties' declarations in this pom.)
                             Profiles can set the property to 'none' to disable this execution -->
                        <id>default-test</id>
                        <phase>${surefire.default-test.phase}</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
        <groupId>org.commonjava.maven.plugins</groupId>
        <artifactId>project-sources-maven-plugin</artifactId>
        <version>1.0</version>
        <executions>
          <execution>
            <id>project-sources-archive</id>
            <phase>initialize</phase>
            <goals>
              <goal>archive</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
        </plugins>
    </build>

    <!-- Profiles -->
    <profiles>
        <!--
                  Name: JDK9+
                  Descr: various workarounds activation for JDK9+
                -->
        <profile>
            <id>jdk9</id>
            <activation>
                <jdk>[9,)</jdk>
            </activation>
            <properties>
                <modular.jdk.args>--add-exports=java.base/sun.nio.ch=ALL-UNNAMED
                    --add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED
                    --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
                    --add-modules=java.se</modular.jdk.args>
            </properties>
        </profile>
        <profile>
            <id>docs</id>
            <activation>
                <property>
                    <name>docs</name>
                </property>
            </activation>
            <modules>
                <module>docs</module>
            </modules>
        </profile>

        <!--
          Name: jpda
          Descr: Enable JPDA remote debuging
        -->
        <profile>
            <id>jpda</id>
            <activation>
                <property>
                    <name>jpda</name>
                </property>
            </activation>
            <properties>
                <surefire.jpda.args>-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=y</surefire.jpda.args>
            </properties>
        </profile>

        <profile>
            <id>layers.profile</id>
            <activation>
                <property>
                    <name>ts.layers</name>
                </property>
            </activation>
            <properties>
                <!-- Disable the default surefire test execution for all modules except for
                     those where this profile turns them back on. -->
                <surefire.default-test.phase>none</surefire.default-test.phase>
            </properties>
        </profile>

        <profile>
            <id>standalone.microprofile.profile</id>
            <activation>
                <property>
                    <name>ts.standalone.microprofile</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <!-- Disable the surefire tests (at least the default ones) for all modules except for
                             those where this profile turns them on.  This profile is meant to be an
                             entirely alternative testsuite execution so there's no point running the normal
                             tests, which get plenty of exercise elsewhere. -->
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>default-test</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>bootablejar.profile</id>
            <activation>
                <property>
                    <name>ts.bootable</name>
                </property>
            </activation>
            <properties>
                <!-- Disable the default surefire test execution for all modules except for
                     those where this profile turns them back on. -->
                <surefire.default-test.phase>none</surefire.default-test.phase>
            </properties>
        </profile>

        <profile>
            <id>victims-scan</id>
            <activation>
                <property>
                    <name>victims-scan</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>${version.enforcer.plugin}</version>
                        <executions>
                            <execution>
                                <id>enforce-victims-rule</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <rule implementation="com.redhat.victims.VictimsRule">
                                            <metadata>warning</metadata>
                                            <fingerprint>fatal</fingerprint>
                                            <updates>daily</updates>
                                        </rule>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>com.redhat.victims</groupId>
                                <artifactId>enforce-victims-rule</artifactId>
                                <version>1.3.4</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- JaCoCo test coverage. Will set ${surefire.jacoco.args} to be used in Arquillian config and as surefire jvm argument. -->
        <profile>
            <id>ts.jacoco.profile</id>
            <activation>
                <property>
                    <name>coverage</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>${version.jacoco.plugin}</version>
                        <executions>
                            <execution>
                                <id>ts.jacoco-prepare</id>
                                <phase>process-test-classes</phase>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <append>true</append>
                                    <destFile>target/jacoco.exec</destFile>
                                    <includes>
                                        <include>*</include>
                                    </includes>
                                    <excludes>
                                        <exclude>org.jboss.as.test.*</exclude>
                                    </excludes>
                                    <output>file</output>
                                    <propertyName>surefire.jacoco.args</propertyName>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Ant plugin. -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <executions>
                            <!-- DEBUG -->
                            <execution>
                                <id>ts.jacoco.debug</id>
                                <phase>post-integration-test</phase>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <inherited>false</inherited>
                                <configuration>
                                    <target>
                                        <echo>Jacoco jvm args: ${surefire.jacoco.args}</echo>
                                    </target>
                                </configuration>
                            </execution>
                            <!-- Must be run using Ant due to https://sourceforge.net/tracker/?func=detail&aid=3474708&group_id=177969&atid=883354 -->
                            <!-- mvn antrun:run@ts.jacoco.report-ant -Dcoverage -Dtarget=report -Djboss.dist=$JBOSS_DIST -->
                            <execution>
                                <id>ts.jacoco.report-ant</id>
                                <phase>none</phase>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <inherited>false</inherited>
                                <configuration>
                                    <target>
                                        <taskdef classname="org.jacoco.ant.ReportTask" name="report" />
                                        <echo>Creating JaCoCo test coverage reports...</echo>
                                        <mkdir dir="${basedir}/target/coverage-report" />
                                        <report>
                                            <executiondata>
                                                <fileset dir="${basedir}">
                                                    <include name="**/target/jacoco.exec" />
                                                </fileset>
                                            </executiondata>
                                            <structure name="WildFly project">
                                                <classfiles>
                                                    <fileset dir="${jboss.dist}/modules">
                                                        <include name="**/*.jar" />
                                                        <!-- Excludes solve "Can't add different class with same name: ..." -->
                                                        <exclude name="**/jaxb-jxc*.jar" />
                                                        <exclude name="**/jaxb-xjc*.jar" />
                                                        <exclude name="**/openjdk-orb*.jar" />
                                                        <exclude name="**/jboss-marshalling*.jar" />
                                                        <exclude name="**/hornetq-core-client*.jar" />
                                                        <exclude name="**/jipijapa-hibernate4-3*.jar" />
                                                        <exclude name="**/jipijapa-hibernate5*.jar" />
                                                        <exclude name="**/infinispan-commons*.jar" />
                                                        <exclude name="**/jboss-logmanager*.jar" />
                                                        <exclude name="**/wildfly-common*.jar" />
                                                        <exclude name="**/wildfly-elytron*.jar" />
                                                        <exclude name="**/jaxb*.jar" />
                                                        <exclude name="**/jaxb*.jar" />
                                                        <exclude name="**/jaxb*.jar" />
                                                    </fileset>
                                                </classfiles>
                                                <sourcefiles encoding="UTF-8">
                                                    <dirset dir="${basedir}">
                                                        <include name="**/src/main/java" />
                                                    </dirset>
                                                </sourcefiles>
                                            </structure>
                                            <html destdir="${basedir}/target/coverage-report/html" />
                                            <xml destfile="${basedir}/target/coverage-report/coverage-report.xml" />
                                            <csv destfile="${basedir}/target/coverage-report/coverage-report.csv" />
                                        </report>
                                    </target>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.jacoco</groupId>
                                <artifactId>org.jacoco.ant</artifactId>
                                <version>${version.jacoco.plugin}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!-- surefire.jacoco.args property needs to be set correctly, if coverage profile is not enabled -->
            <id>ts.jacoco.profile.not.enabled</id>
            <activation>
                <property>
                    <name>!coverage</name>
                </property>
            </activation>
            <properties>
                <surefire.jacoco.args />
            </properties>
        </profile>
        <profile>
            <!-- this profile can be used to test component releases available in Nexus staging repositories -->
            <id>staged-releases</id>
            <properties>
                <jboss.staging.repository.group>true</jboss.staging.repository.group>
            </properties>
            <repositories>
                <repository>
                    <id>jboss-staging-repository-group</id>
                    <name>JBoss Staging Repository Group</name>
                    <url>https://repository.jboss.org/nexus/content/groups/staging/</url>
                    <layout>default</layout>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>jboss-staging-repository-group</id>
                    <name>JBoss Staging Repository Group</name>
                    <url>https://repository.jboss.org/nexus/content/groups/staging/</url>
                    <layout>default</layout>
                </pluginRepository>
            </pluginRepositories>
        </profile>

        <profile>
            <id>http</id>
            <activation>
                <property>
                    <name>maven.repository.protocol</name>
                    <value>http</value>
                </property>
            </activation>
            <repositories>
                <!-- keep this repository the first -->
                <repository>
                    <id>jboss-eap-7.3-product-repository</id>
                    <name>JBoss EAP Product Repository</name>
                    <url>http://download.devel.redhat.com/brewroot/repos/jb-eap-7.4-maven-build/latest/maven/</url>
                    <layout>default</layout>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                        <updatePolicy>never</updatePolicy>
                    </snapshots>
                </repository>
                <repository>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </snapshots>
                    <id>jboss-enterprise-maven-repository</id>
                    <name>JBoss Enterprise Maven Repository</name>
                    <url>http://maven.repository.redhat.com/ga/</url>
                    <layout>default</layout>
                </repository>
            </repositories>

            <pluginRepositories>
                <pluginRepository>
                    <id>jboss-eap-7.3-product-repository</id>
                    <name>JBoss EAP Product Repository</name>
                    <url>http://download.devel.redhat.com/brewroot/repos/jb-eap-7.4-maven-build/latest/maven/</url>
                    <layout>default</layout>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                        <updatePolicy>never</updatePolicy>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                    <id>jboss-enterprise-maven-repository</id>
                    <name>JBoss Enterprise Maven Repository</name>
                    <url>http://maven.repository.redhat.com/ga/</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
        <profile>
            <id>javadocs</id>
            <activation>
                <property>
                    <name>javadocs</name>
                </property>
            </activation>
            <modules>
                <module>javadocs</module>
            </modules>
        </profile>
        <!-- Configures testsuite to use the non-default Galleon pack to provision EE content.
             This profile is meant to eliminate the need to use -D to see all three parts of the GAV
             in order to test provisioning using a different feature pack. -->
        <profile>
            <id>test.ee.galleon.pack.profile</id>
            <activation>
                <property>
                    <name>testsuite.ee.galleon.pack.artifactId</name>
                    <value>wildfly-galleon-pack</value>
                </property>
            </activation>
            <properties>
                <testsuite.ee.galleon.pack.groupId>${full.maven.groupId}</testsuite.ee.galleon.pack.groupId>
                <testsuite.ee.galleon.pack.version>${full.maven.version}</testsuite.ee.galleon.pack.version>
            </properties>
        </profile>
    </profiles>
</project>
<!--
Modified by POM Manipulation Extension for Maven 4.2 ( SHA: cfe5b3db )
-->
