<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright The WildFly Authors
  ~ SPDX-License-Identifier: Apache-2.0
  -->
<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>51</version>
        <!-- The empty relativePath makes Maven lookup it in the repository. Missing tag default is ../pom.xml. -->
        <relativePath/>
    </parent>

    <groupId>org.wildfly</groupId>
    <artifactId>wildfly-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>40.0.0.Final</version>

    <packaging>pom</packaging>

    <name>WildFly: Parent Aggregator</name>
    <description>WildFly: Parent Aggregator</description>
    <url>https://wildfly.org</url>

    <organization>
        <name>WildFly</name>
        <url>https://wildfly.org</url>
    </organization>

    <licenses>
        <license>
            <name>Apache License 2.0</name>
            <url>http://repository.jboss.org/licenses/apache-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

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

    <developers>
        <developer>
            <id>wildfly.org</id>
            <name>WildFly Community</name>
            <organization>wildfly.org</organization>
            <organizationUrl>https://wildfly.org</organizationUrl>
        </developer>
    </developers>

    <mailingLists>
        <mailingList>
            <name>WildFly User Forum</name>
            <subscribe>https://groups.google.com/forum/#!forum/wildfly</subscribe>
            <unsubscribe>https://groups.google.com/forum/#!forum/wildfly</unsubscribe>
            <archive>https://groups.google.com/forum/#!forum/wildfly</archive>
        </mailingList>
        <mailingList>
            <name>WildFly Development</name>
            <subscribe>https://lists.jboss.org/admin/lists/wildfly-dev.lists.jboss.org/</subscribe>
            <unsubscribe>https://lists.jboss.org/admin/lists/wildfly-dev.lists.jboss.org/</unsubscribe>
            <archive>https://lists.jboss.org/archives/list/wildfly-dev@lists.jboss.org/</archive>
        </mailingList>
    </mailingLists>

    <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>WildFly</full.dist.product.release.name>
        <full.dist.product.slot>main</full.dist.product.slot>
        <full.dist.product.release.version>${project.version}</full.dist.product.release.version>
        <full.dist.product.stability.level>community</full.dist.product.stability.level>
        <full.dist.product.min.stability.level>experimental</full.dist.product.min.stability.level>
        <full.maven.groupId>${project.groupId}</full.maven.groupId>
        <full.maven.version>${project.version}</full.maven.version>
        <ee.dist.product.release.name>WildFly EE</ee.dist.product.release.name>
        <ee.dist.product.slot>${full.dist.product.slot}</ee.dist.product.slot>
        <ee.dist.product.release.version>${full.dist.product.release.version}</ee.dist.product.release.version>
        <ee.dist.product.stability.level>community</ee.dist.product.stability.level>
        <ee.dist.product.min.stability.level>experimental</ee.dist.product.min.stability.level>
        <ee.maven.groupId>${project.groupId}</ee.maven.groupId>
        <ee.maven.version>${project.version}</ee.maven.version>
        <legacy.jakarta.version>10</legacy.jakarta.version>
        <legacy.dist.product.release.name>WildFly EE ${legacy.jakarta.version}</legacy.dist.product.release.name>
        <!-- Segment of legacy-ee related artifactIds that will change across releases.
             Used in artifactIds of user-relevant artifacts where we want an artifactId
             that discloses what the artifact provides -->
        <legacy.ee.artifactid.segment>ee-${legacy.jakarta.version}</legacy.ee.artifactid.segment>
        <legacy.ee.feature.pack.artifactId>wildfly-${legacy.ee.artifactid.segment}-feature-pack</legacy.ee.feature.pack.artifactId>
        <legacy.ee.channel.artifactId>wildfly-${legacy.ee.artifactid.segment}</legacy.ee.channel.artifactId>
        <legacy.ee.build.artifactId>wildfly-${legacy.ee.artifactid.segment}-build</legacy.ee.build.artifactId>
        <legacy.ee.dist.artifactId>wildfly-${legacy.ee.artifactid.segment}-dist</legacy.ee.dist.artifactId>
        <legacy.full.build.artifactId>wildfly-${legacy.ee.artifactid.segment}-expansion-build</legacy.full.build.artifactId>
        <legacy.full.dist.artifactId>wildfly-${legacy.ee.artifactid.segment}-expansion-dist</legacy.full.dist.artifactId>
        <latest.jakarta.version>11</latest.jakarta.version> <!-- for downstream use -->
        <latest.ee.artifactid.segment>ee</latest.ee.artifactid.segment>
        <latest.ee.feature.pack.artifactId>wildfly-${latest.ee.artifactid.segment}-galleon-pack</latest.ee.feature.pack.artifactId>
        <latest.ee.channel.artifactId>wildfly-${latest.ee.artifactid.segment}</latest.ee.channel.artifactId>
        <latest.ee.build.artifactId>wildfly-${latest.ee.artifactid.segment}-build</latest.ee.build.artifactId>
        <latest.ee.dist.artifactId>wildfly-${latest.ee.artifactid.segment}-dist</latest.ee.dist.artifactId>
        <latest.full.build.artifactId>wildfly-build</latest.full.build.artifactId>
        <latest.full.dist.artifactId>wildfly-dist</latest.full.dist.artifactId>
        <preview.dist.product.release.name>WildFly Preview</preview.dist.product.release.name>
        <preview.dist.product.slot>${full.dist.product.slot}</preview.dist.product.slot>
        <preview.dist.product.release.version>${full.dist.product.release.version}</preview.dist.product.release.version>
        <preview.dist.product.stability.level>preview</preview.dist.product.stability.level>
        <preview.dist.product.min.stability.level>experimental</preview.dist.product.min.stability.level>
        <product.docs.server.version>40</product.docs.server.version>
        <!-- TODO WFLY-21408 Apply workaround for dependabot pom.xml parsing issue "ERROR: Invalid expression: /project/groupId}.channel" -->
        <!-- <channels.maven.groupId>${project.groupId}.channels</channels.maven.groupId> -->
        <channels.maven.groupId>org.wildfly.channels</channels.maven.groupId>
        <!-- The Galleon channel for the minor version with which this branch is associated.  -->
        <galleon.minor.channel>${product.docs.server.version}.0</galleon.minor.channel>

        <!-- The artifactId of the BOMs to use as an import scope dependency.
             The use of a property makes it easy to create a branch that uses a different value,
             i.e. swapping between wildfly-standard-ee-bom and wildfly-legacy-ee-bom.
             Non-expansion production code modules must use this property for dependency management
             if such swapping is valid for their build.
             Testsuite modules or profiles can override this to use a different dependency set,
             for example to test WildFly Preview or to test microprofile. -->
        <dependency.management.import.artifact>wildfly-standard-ee-bom</dependency.management.import.artifact>
        <!-- Same thing for test-only dependencies -->
        <dependency.management.import.test.artifact>wildfly-standard-test-bom</dependency.management.import.test.artifact>
        <!-- The EL API artifact has a different artifactId between EE 10 and 11. Make it easy to switch which we use. -->
        <jakarta.el.api.artifactId>jakarta.el-api</jakarta.el.api.artifactId>

        <!-- Repository Deployment Settings -->
        <nexus.repository.staging>wildfly-staging</nexus.repository.staging>
        <nexus.staging.tag>wildfly-${project.version}</nexus.staging.tag>
        <!-- Nexus staging repository URL used to retrieve test component releases -->
        <nexus.repository.url>https://repository.jboss.org/nexus/</nexus.repository.url> <!-- duplicated from jboss-parent, but Maven 4 wants to know it before accessing jboss-parent -->
        <nexus.repository.staging.url>${nexus.repository.url}repository/${nexus.repository.staging}</nexus.repository.staging.url>

        <!-- Maven Central release properties -->
        <repo.sonatype.url>https://central.sonatype.com</repo.sonatype.url>
        <sonatype.server.id>central</sonatype.server.id>
        <autoPublish>false</autoPublish>
        <waitUntil>validated</waitUntil>
        <skipPublishing>false</skipPublishing>

        <!-- Galleon -->
        <galleon.fork.embedded>true</galleon.fork.embedded>
        <galleon.log.time>true</galleon.log.time>
        <galleon.offline>true</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>

        <!--
             To build, we require a Java 17 or higher compiler, but with a Java 17
             source and binary level.
             We allow builds with a compiler version higher than 17 to allow
             testing on later SE releases.

             But, if the 'deploy' phase is executed, we restrict to only SE 17.
             WildFly releases are built with SE 17.

             See this pom's maven-enforcer-plugin configuration for the rules
             that restrict the SE version used when building and deploying.
         -->
        <required.java.build.version>[17,)</required.java.build.version>
        <required.java.deploy.version>[17,18)</required.java.deploy.version>
        <maven.compiler.release>17</maven.compiler.release>
        <maven.compiler.target>${maven.compiler.release}</maven.compiler.target>
        <maven.compiler.source>${maven.compiler.release}</maven.compiler.source>
        <recommended.java.version>25</recommended.java.version>
        <recommended.java.version.legacy>21</recommended.java.version.legacy>

        <!-- TarArchiver behavior -->
        <assembly.tarLongFileMode>posix</assembly.tarLongFileMode>

        <!--
            Modularized JDK support. These are our recommended client-side JPMS settings.
            This list should only be modified if we are making a change to our general
            recommendation of what settings an external *client* application should use
            *in order to utilize our client-side libraries*. It is not meant to cover
            settings a client app might need to support its own code.

            This list is not meant to control server-side JPMS settings.

            DO NOT add entries here just to support JPMS needs for specialized tests.
            The testsuite/pom.xml declares a 'modular.jdk.testsuite.args' property that
            defaults to ${modular.jdk.args}, i.e. this list. If particular tests need
            additional settings to support client-side behavior in their test code,
            then that property should be overridden in as fine-grained a location as
            practical, and no more coarse-grained than the global config of the pom
            for the maven module that includes the test.
         -->
        <modular.jdk.args>
            --add-exports=java.desktop/sun.awt=ALL-UNNAMED
            --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED
            --add-exports=java.naming/com.sun.jndi.url.ldap=ALL-UNNAMED
            --add-exports=java.naming/com.sun.jndi.url.ldaps=ALL-UNNAMED
            --add-exports=jdk.naming.dns/com.sun.jndi.dns=ALL-UNNAMED
            --add-opens=java.base/java.io=ALL-UNNAMED
            --add-opens=java.base/java.lang=ALL-UNNAMED
            --add-opens=java.base/java.lang.invoke=ALL-UNNAMED
            --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
            --add-opens=java.base/java.net=ALL-UNNAMED
            --add-opens=java.base/java.security=ALL-UNNAMED
            --add-opens=java.base/java.util=ALL-UNNAMED
            --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
            --add-opens=java.management/javax.management=ALL-UNNAMED
            --add-opens=java.naming/javax.naming=ALL-UNNAMED
        </modular.jdk.args>

        <!--
            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>

        <!-- Properties that drive the names of various directories produced by and used in the build -->
        <server.output.dir.prefix>wildfly</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>${project.version}</server.output.dir.version>
        <!-- 'Qualifier' that is added to "ee-xxx" builds and dists -->
        <latest.ee.output.qualifier></latest.ee.output.qualifier>
        <legacy.ee.output.qualifier>ee-${legacy.jakarta.version}-</legacy.ee.output.qualifier>
        <preview.output.qualifier>preview-</preview.output.qualifier>
        <latest.server.output.dir>${server.output.dir.prefix}-${latest.ee.output.qualifier}${server.output.dir.version}</latest.server.output.dir>
        <legacy.server.output.dir>${server.output.dir.prefix}-${legacy.ee.output.qualifier}${server.output.dir.version}</legacy.server.output.dir>
        <preview.server.output.dir>${server.output.dir.prefix}-${preview.output.qualifier}${server.output.dir.version}</preview.server.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>
        <!-- The full remote maven repo URL; can be overridden via -D for special use cases -->
        <maven.repository.url>${maven.repository.protocol}://repository.jboss.org/nexus/repository/public/</maven.repository.url>

        <!-- Surefire args -->
        <surefire.extra.args></surefire.extra.args>
        <surefire.jpda.args></surefire.jpda.args>
        <surefire.non-modular.system.args>-ea -Duser.region=US -Duser.language=en ${surefire.jpda.args} ${surefire.extra.args} ${surefire.jacoco.args}</surefire.non-modular.system.args>
        <surefire.system.args>${modular.jdk.args} ${surefire.non-modular.system.args}</surefire.system.args>
        <arquillian.servlet.protocol>Servlet 5.0</arquillian.servlet.protocol>
        <testLogToFile>true</testLogToFile>
        <maven.test.redirectTestOutputToFile>${testLogToFile}</maven.test.redirectTestOutputToFile>


        <!-- 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>

        <!-- Simple copyright text. Used in feature-pack generation for the generated catalog content -->
        <wildfly.copyright.simple>The WildFly authors</wildfly.copyright.simple>
        <!-- Complex copyright footer for generated html documentation -->
        <wildfly.copyright.html><![CDATA[
            <img src="https://raw.githubusercontent.com/commonhaus/artwork/main/foundation/brand/project/svg/CF_logo_wildFly_default.svg" style="height: 120px;"/>
            <br />
            Copyright &copy; <a href="https://wildfly.org">WildFly</a>.<br />
            All rights reserved. For details on our trademarks, please visit our <a href="https://www.commonhaus.org/policies/trademark-policy/">Trademark Policy</a> and <a href="https://www.commonhaus.org/trademarks/">Trademark List</a>.<br />
            Trademarks of third parties are owned by their respective holders and their mention here does not suggest any endorsement or association.
        ]]></wildfly.copyright.html>

        <!-- Base wildfly version used by testsuite/galleon/update test to install a server that gets updated to the SNAPSHOT version -->
        <wildfly.test.galleon.update.base.version>26.1.1.Final</wildfly.test.galleon.update.base.version>

        <!--
            Dependency version properties begin here. All other properties should be above.

            Properties are grouped by whether they solely relate to plugins, solely relate to test code,
            or impact production code.

            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>

            Version properties MUST be sorted alphabetically. Except...

            For properties only used for building or testing legacy code not used in
            standard WildFly or WildFly Preview, prefix the property name with 'legacy.'
            For properties only used for building WildFly Preview modules, prefix the property name with 'preview'.
            Place the prefixed property in the proper alphabetical location as if the prefix was not present.
            In the typical case where there's also the same property without a prefix, put the prefixed
            variants after the non-prefixed one.
        -->

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

            Properties for dependencies that are not *solely* related to plugins go in the sections below.

            This is not limited to plugin versions. Other artifacts that those plugins depend upon can go here
            if they are not otherwise used.
         -->
        <version.ant.junit>1.10.17</version.ant.junit>
        <version.asciidoctor.plugin>2.2.6</version.asciidoctor.plugin>
        <version.central.publishing.maven.plugin>0.9.0</version.central.publishing.maven.plugin>
        <version.org.jacoco>0.8.14</version.org.jacoco>
        <version.org.jboss.galleon>7.0.7.Final</version.org.jboss.galleon>
        <version.org.owasp.dependency-check>12.2.2</version.org.owasp.dependency-check>
        <version.org.wildfly.bom-builder-plugin>2.0.10.Final</version.org.wildfly.bom-builder-plugin>
        <version.org.wildfly.checkstyle-config>1.0.8.Final</version.org.wildfly.checkstyle-config>
        <version.org.wildfly.common>1.6.0.Final</version.org.wildfly.common>
        <version.org.wildfly.galleon-plugins>8.1.5.Final</version.org.wildfly.galleon-plugins>
        <version.org.wildfly.glow>2.0.0.Final</version.org.wildfly.glow>
        <version.org.wildfly.licenses.plugin>2.4.4.Final</version.org.wildfly.licenses.plugin>
        <version.org.wildfly.plugin>6.0.0.Final</version.org.wildfly.plugin>
        <version.org.wildfly.unstable.annotation.api>1.0.2.Final</version.org.wildfly.unstable.annotation.api>
        <version.org.wildfly.wildfly-channel-plugin>1.0.32</version.org.wildfly.wildfly-channel-plugin>
        <version.org.wildfly.wildfly-maven-gpg-plugin>3.2.8.SP1</version.org.wildfly.wildfly-maven-gpg-plugin>
        <version.plexus-velocity.for.checkstyle>2.3.0</version.plexus-velocity.for.checkstyle>
        <version.verifier.plugin>1.1</version.verifier.plugin>
        <version.xml.plugin>1.0.2</version.xml.plugin>

        <!--
            *Non-plugin* TEST CODE dependency versions. Please keep alphabetical.

            Properties for dependencies that solely relate to maven plugins go in the plugin section above.
            Properties for dependencies that relate to production code go in the production code section below.
         -->
        <version.com.beust>1.78</version.com.beust>
        <version.org.wiremock>3.10.0</version.org.wiremock>
        <version.dom4j>2.1.5</version.dom4j>
        <version.httpunit>1.7.3</version.httpunit>
        <legacy.version.io.netty>4.0.19.Final</legacy.version.io.netty>
        <version.io.rest-assured>5.5.7</version.io.rest-assured>
        <legacy.version.jakarta.enterprise>2.0.2</legacy.version.jakarta.enterprise>
        <legacy.version.jakarta.inject.jakarta.inject-api>1.0.5</legacy.version.jakarta.inject.jakarta.inject-api>
        <version.jakarta.mvc>2.1.0</version.jakarta.mvc>
        <version.jaxen>1.1.6</version.jaxen>
        <version.jsoup>1.15.4</version.jsoup>
        <version.junit>4.13.2</version.junit>
        <version.org.apache.ds>2.0.0.AM26</version.org.apache.ds>
        <version.org.apache.groovy>4.0.32</version.org.apache.groovy>
        <version.org.assertj>3.27.7</version.org.assertj>
        <version.org.awaitility.awaitility>4.0.3</version.org.awaitility.awaitility>
        <version.org.codehaus.plexus.plexus-utils>3.5.1</version.org.codehaus.plexus.plexus-utils>
        <version.org.eclipse.jetty>11.0.25</version.org.eclipse.jetty>
        <version.org.eclipse.krazo>3.0.1</version.org.eclipse.krazo>
        <version.org.hamcrest>2.2</version.org.hamcrest>
        <version.org.hamcrest.legacy>1.3</version.org.hamcrest.legacy>
        <version.org.htmlunit.htmlunit>4.21.0</version.org.htmlunit.htmlunit>
        <version.org.javassist>3.29.2-GA</version.org.javassist>
        <version.org.jboss.arquillian.core>1.10.1.Final</version.org.jboss.arquillian.core>
        <version.org.jboss.arquillian.jakarta>10.0.0.Final</version.org.jboss.arquillian.jakarta>
        <version.org.arquillian.testcontainers>1.0.0.Beta1</version.org.arquillian.testcontainers>
        <version.org.jboss.byteman>4.0.26</version.org.jboss.byteman>
        <version.org.jboss.logmanager.commons-logging-jboss-logmanager>1.0.3.Final</version.org.jboss.logmanager.commons-logging-jboss-logmanager>
        <!-- only needed here until wildfly-arquillian has this version properly synced with arquillian itself  -->
        <version.org.jboss.shrinkwrap.descriptors>2.0.0</version.org.jboss.shrinkwrap.descriptors>
        <!-- It's currently required to use 2.2.7. The wildfly-model-test and wildfly-subsystem-test dependencies bring
             in older versions of the org.apache.maven.resolver:* dependencies which are not compatible with newer
             versions of the Shrinkwrap Resolvers. -->
        <version.org.jboss.shrinkwrap.resolvers>2.2.7</version.org.jboss.shrinkwrap.resolvers>
        <version.org.jboss.shrinkwrap.shrinkwrap>1.2.6</version.org.jboss.shrinkwrap.shrinkwrap>
        <legacy.version.org.jboss.spec.javax.jms.jboss-jms-api_2.0_spec>2.0.0.Final</legacy.version.org.jboss.spec.javax.jms.jboss-jms-api_2.0_spec>
        <version.org.jboss.spec.javax.servlet.jboss-servlet-api_4.0_spec>2.0.0.Final</version.org.jboss.spec.javax.servlet.jboss-servlet-api_4.0_spec>
        <version.org.junit>5.14.4</version.org.junit>
        <version.org.keycloak>25.0.6</version.org.keycloak>
        <version.org.mockito>5.21.0</version.org.mockito>
        <version.org.syslog4j>0.9.30</version.org.syslog4j>
        <version.org.testcontainers>2.0.5</version.org.testcontainers>
        <version.org.testng>7.8.0</version.org.testng>
        <!-- The MicroProfile REST Client TCK requires a newer version of TestNG. The version is explicitly overridden
             on the dependency on the MicroProfile REST Client TCK POM.
         -->
        <version.org.testng.mp.rest.client>7.10.2</version.org.testng.mp.rest.client>
        <version.org.wildfly.arquillian>5.1.0.Final</version.org.wildfly.arquillian>
        <version.org.wildfly.extras.creaper>2.0.3</version.org.wildfly.extras.creaper>
        <legacy.version.org.wildfly.naming-client>1.0.17.Final</legacy.version.org.wildfly.naming-client>

        <!--
            *Non-plugin* PRODUCTION CODE dependency versions. Please keep alphabetical.

            Properties for dependencies that solely relate to maven plugins go in the plugin section above.
            Properties for dependencies that solely relate to tests go in the test code section above.
         -->
        <version.antlr>4.13.0</version.antlr>
        <version.at.yawk.lz4.lz4-java>1.10.4</version.at.yawk.lz4.lz4-java>
        <version.com.carrotsearch.hppc>0.10.0</version.com.carrotsearch.hppc>
        <version.com.fasterxml.classmate>1.7.1</version.com.fasterxml.classmate>
        <version.com.fasterxml.jackson>2.21.3</version.com.fasterxml.jackson>
        <version.com.github.ben-manes.caffeine>3.2.4</version.com.github.ben-manes.caffeine>
        <version.com.github.fge.btf>1.2</version.com.github.fge.btf>
        <version.com.github.fge.jackson-coreutils>1.8</version.com.github.fge.jackson-coreutils>
        <version.com.github.fge.json-patch>1.9</version.com.github.fge.json-patch>
        <version.com.github.fge.msg-simple>1.1</version.com.github.fge.msg-simple>
        <version.com.github.luben.zstd-jni>1.5.7-8</version.com.github.luben.zstd-jni>
        <version.com.google.api.grpc>2.0.1</version.com.google.api.grpc>
        <version.com.google.code.gson>2.13.2</version.com.google.code.gson>
        <version.com.google.guava>33.0.0-jre</version.com.google.guava>
        <version.com.google.guava.failureaccess>1.0.3</version.com.google.guava.failureaccess>
        <version.com.google.protobuf>4.28.3</version.com.google.protobuf>
        <!-- n.b. H2 version here is driven by what Hibernate ORM version tests with as the H2 dialect! -->
        <version.com.h2database>2.4.240</version.com.h2database>
        <version.com.ibm.async.asyncutil>0.1.0</version.com.ibm.async.asyncutil>
        <version.com.microsoft.azure>8.6.6</version.com.microsoft.azure>
        <version.com.nimbus.jose-jwt>10.3.1</version.com.nimbus.jose-jwt>
        <version.com.sun.istack>4.1.2</version.com.sun.istack>
        <version.com.sun.xml.fastinfoset>2.1.1</version.com.sun.xml.fastinfoset>
        <version.com.sun.xml.messaging.saaj>3.0.5</version.com.sun.xml.messaging.saaj>
        <version.commons-beanutils>1.11.0</version.commons-beanutils>
        <version.commons-codec>1.17.2</version.commons-codec>
        <version.commons-collections>3.2.2</version.commons-collections>
        <version.commons-io>2.16.1</version.commons-io>
        <version.de.dentrassi.crypto>3.0.0</version.de.dentrassi.crypto>
        <version.gnu.getopt>1.0.13</version.gnu.getopt>
        <version.io.agroal>2.0</version.io.agroal>
        <version.io.github.resilience4j>2.3.0</version.io.github.resilience4j>
        <version.io.grpc>1.70.0</version.io.grpc>
        <version.io.micrometer>1.16.5</version.io.micrometer>
        <version.io.netty>4.1.133.Final</version.io.netty>
        <version.io.opentelemetry.instrumentation>2.14.0</version.io.opentelemetry.instrumentation>
        <version.io.opentelemetry.opentelemetry-semconv>1.32.0</version.io.opentelemetry.opentelemetry-semconv>
        <version.io.opentelemetry.opentelemetry>1.48.0</version.io.opentelemetry.opentelemetry>
        <version.io.opentelemetry.proto>1.5.0-alpha</version.io.opentelemetry.proto>
        <version.io.prometheus>1.3.3</version.io.prometheus>
        <version.io.reactivex.rxjava2>2.2.21</version.io.reactivex.rxjava2>
        <version.io.reactivex.rxjava3>3.1.12</version.io.reactivex.rxjava3>
        <version.io.smallrye.open-api>4.2.4</version.io.smallrye.open-api>
        <version.io.smallrye.reactive-utils>2.6.0</version.io.smallrye.reactive-utils>
        <version.io.smallrye.smallrye-config>3.15.1</version.io.smallrye.smallrye-config>
        <version.io.smallrye.smallrye-fault-tolerance>6.11.1</version.io.smallrye.smallrye-fault-tolerance>
        <version.io.smallrye.smallrye-health>4.3.0</version.io.smallrye.smallrye-health>
        <version.io.smallrye.smallrye-jwt>4.3.1</version.io.smallrye.smallrye-jwt>
        <version.io.smallrye.smallrye-mutiny>3.1.1</version.io.smallrye.smallrye-mutiny>
        <version.io.smallrye.smallrye-mutiny-vertx>3.17.1</version.io.smallrye.smallrye-mutiny-vertx>
        <version.io.smallrye.smallrye-mutiny-zero>1.1.1</version.io.smallrye.smallrye-mutiny-zero>
        <version.io.smallrye.smallrye-opentelemetry>2.11.2</version.io.smallrye.smallrye-opentelemetry>
        <version.io.smallrye.smallrye-stork>2.7.9</version.io.smallrye.smallrye-stork>
        <version.io.smallrye.smallrye-reactive-messaging>4.32.1</version.io.smallrye.smallrye-reactive-messaging>
        <!-- TODO (jrp) temporary override until the new version of Undertow is integrated into core and that version of core is integrated here -->
        <version.io.undertow>2.4.1.Final</version.io.undertow>
        <version.io.undertow.ee>2.0.0.Final</version.io.undertow.ee>
        <version.io.undertow.jastow>2.3.0.Final</version.io.undertow.jastow>
        <version.io.vertx.vertx>4.5.27</version.io.vertx.vertx>
        <version.io.vertx.vertx-kafka-client>4.4.9</version.io.vertx.vertx-kafka-client>
        <version.jakarta.activation.jakarta.activation-api>2.1.4</version.jakarta.activation.jakarta.activation-api>
        <version.jakarta.annotation.jakarta-annotation-api>3.0.0</version.jakarta.annotation.jakarta-annotation-api>
        <version.jakarta.authentication.jakarta-authentication-api>3.1.0</version.jakarta.authentication.jakarta-authentication-api>
        <version.jakarta.authorization.jakarta-authorization-api>3.0.0</version.jakarta.authorization.jakarta-authorization-api>
        <version.jakarta.batch.jakarta.batch-api>2.1.1</version.jakarta.batch.jakarta.batch-api>
        <version.jakarta.data.jakarta-data-api>1.0.1</version.jakarta.data.jakarta-data-api>
        <version.jakarta.ejb.jakarta-ejb-api>4.0.1</version.jakarta.ejb.jakarta-ejb-api>
        <version.jakarta.enterprise.concurrent.jakarta-enterprise.concurrent-api>3.1.1</version.jakarta.enterprise.concurrent.jakarta-enterprise.concurrent-api>
        <version.jakarta.enterprise>4.1.0</version.jakarta.enterprise>
        <version.jakarta.faces.jakarta-faces-api>4.1.2</version.jakarta.faces.jakarta-faces-api>
        <version.jakarta.inject.jakarta.inject-api>2.0.1</version.jakarta.inject.jakarta.inject-api>
        <version.jakarta.interceptor.jakarta-interceptor-api>2.2.0</version.jakarta.interceptor.jakarta-interceptor-api>
        <version.jakarta.jms.jakarta-jms-api>3.1.0</version.jakarta.jms.jakarta-jms-api>
        <version.jakarta.json.bind.api>3.0.1</version.jakarta.json.bind.api>
        <version.jakarta.mail-api>2.1.3</version.jakarta.mail-api>
        <version.jakarta.mvc.jakarta-mvc-api>2.1.0</version.jakarta.mvc.jakarta-mvc-api>
        <version.jakarta.persistence>3.2.0</version.jakarta.persistence>
        <version.jakarta.resource.jakarta-resource-api>2.1.0</version.jakarta.resource.jakarta-resource-api>
        <version.jakarta.security.enterprise>4.0.0</version.jakarta.security.enterprise>
        <version.jakarta.servlet.jakarta-servlet-api>6.1.0</version.jakarta.servlet.jakarta-servlet-api>
        <version.jakarta.servlet.jsp.jakarta-servlet-jsp-api>4.0.0</version.jakarta.servlet.jsp.jakarta-servlet-jsp-api>
        <version.jakarta.servlet.jsp.jstl.jakarta-servlet-jsp-jstl-api>3.0.2</version.jakarta.servlet.jsp.jstl.jakarta-servlet-jsp-jstl-api>
        <version.jakarta.transaction.jakarta-transaction-api>2.0.1</version.jakarta.transaction.jakarta-transaction-api>
        <version.jakarta.validation.jakarta-validation-api>3.1.1</version.jakarta.validation.jakarta-validation-api>
        <version.jakarta.websocket.jakarta-websocket-api>2.2.0</version.jakarta.websocket.jakarta-websocket-api>
        <version.jakarta.ws.rs.jakarta-ws-rs-api>4.0.0</version.jakarta.ws.rs.jakarta-ws-rs-api>
        <version.jakarta.xml.bind.jakarta-xml-bind-api>4.0.5</version.jakarta.xml.bind.jakarta-xml-bind-api>
        <version.jboss.jaxbintros>2.0.1</version.jboss.jaxbintros>
        <version.joda-time>2.12.7</version.joda-time>
        <version.net.jcip>1.0</version.net.jcip>
        <version.net.shibboleth.utilities.java-support>8.0.0</version.net.shibboleth.utilities.java-support>
        <version.org.apache.activemq.artemis>2.53.0</version.org.apache.activemq.artemis>
        <version.org.apache.activemq.artemis.native>2.0.0</version.org.apache.activemq.artemis.native>
        <version.org.apache.avro>1.12.1</version.org.apache.avro>
        <version.org.apache.cxf>4.0.11</version.org.apache.cxf>
        <version.org.apache.cxf.xjcplugins>4.1.3</version.org.apache.cxf.xjcplugins>
        <version.org.apache.httpcomponents.httpasyncclient>4.1.5</version.org.apache.httpcomponents.httpasyncclient>
        <version.org.apache.james.apache-mime4j>0.8.14</version.org.apache.james.apache-mime4j>
        <version.org.apache.kafka>4.2.0</version.org.apache.kafka>
        <version.org.apache.kafka.test-image>4.2.0</version.org.apache.kafka.test-image>
        <version.org.apache.lucene>9.12.3</version.org.apache.lucene>
        <version.org.apache.neethi>3.2.2</version.org.apache.neethi>
        <version.org.apache.qpid.proton>0.34.1</version.org.apache.qpid.proton>
        <version.org.apache.santuario>3.0.6</version.org.apache.santuario>
        <version.org.apache.velocity>2.4.1</version.org.apache.velocity>
        <version.org.apache.wss4j>3.0.5</version.org.apache.wss4j>
        <version.org.apache.ws.xmlschema>2.3.2</version.org.apache.ws.xmlschema>
        <version.org.bitbucket.jose4j>0.9.6</version.org.bitbucket.jose4j>
        <version.org.bytebuddy>1.18.8</version.org.bytebuddy>
        <version.org.codehaus.woodstox.stax2-api>4.2.2</version.org.codehaus.woodstox.stax2-api>
        <version.org.codehaus.woodstox.woodstox-core>7.0.0</version.org.codehaus.woodstox.woodstox-core>
        <version.org.cryptacular>1.2.5</version.org.cryptacular>
        <version.org.eclipse.angus.angus-activation>2.0.3</version.org.eclipse.angus.angus-activation>
        <version.org.eclipse.angus.angus-mail>2.0.4</version.org.eclipse.angus.angus-mail>
        <version.org.eclipse.jdt>3.33.0</version.org.eclipse.jdt>
        <version.org.eclipse.microprofile>7.1</version.org.eclipse.microprofile>
        <version.org.eclipse.microprofile.config.api>3.1.1</version.org.eclipse.microprofile.config.api>
        <version.org.eclipse.microprofile.fault-tolerance.api>4.1.2</version.org.eclipse.microprofile.fault-tolerance.api>
        <version.org.eclipse.microprofile.health.api>4.0.1</version.org.eclipse.microprofile.health.api>
        <version.org.eclipse.microprofile.jwt.api>2.1</version.org.eclipse.microprofile.jwt.api>
        <version.org.eclipse.microprofile.lra.api>2.0.2</version.org.eclipse.microprofile.lra.api>
        <version.org.eclipse.microprofile.openapi>4.1.1</version.org.eclipse.microprofile.openapi>
        <version.org.eclipse.microprofile.reactive-messaging.api>3.0.1</version.org.eclipse.microprofile.reactive-messaging.api>
        <version.org.eclipse.microprofile.reactive-streams-operators.api>3.0.1</version.org.eclipse.microprofile.reactive-streams-operators.api>
        <version.org.eclipse.microprofile.rest.client.api>4.0</version.org.eclipse.microprofile.rest.client.api>
        <version.org.eclipse.microprofile.telemetry>2.1</version.org.eclipse.microprofile.telemetry>
        <version.org.eclipse.persistence.eclipselink>4.0.9</version.org.eclipse.persistence.eclipselink>
        <version.org.eclipse.yasson>3.0.4</version.org.eclipse.yasson>
        <version.org.elasticsearch.client.rest-client>9.3.1</version.org.elasticsearch.client.rest-client>
        <version.org.glassfish.concurro>3.1.0</version.org.glassfish.concurro>
        <version.org.glassfish.expressly>6.0.0</version.org.glassfish.expressly>
        <version.org.glassfish.jakarta.faces>4.1.7</version.org.glassfish.jakarta.faces>
        <version.org.glassfish.jaxb>4.0.8</version.org.glassfish.jaxb>
        <version.org.glassfish.jaxb.jaxb-xjc>${version.org.glassfish.jaxb}</version.org.glassfish.jaxb.jaxb-xjc>
        <version.org.glassfish.soteria>4.0.2</version.org.glassfish.soteria>
        <version.org.glassfish.web.jakarta.servlet.jsp.jstl>3.0.1-jbossorg-1</version.org.glassfish.web.jakarta.servlet.jsp.jstl>
        <version.org.hibernate.commons.annotations>7.0.3.Final</version.org.hibernate.commons.annotations>
        <version.org.hibernate>7.3.2.Final</version.org.hibernate>
        <!-- We need to use this value in configuring maven plugins, so simply overriding version.org.hibernate
             in boms/legacy-ee is inadequate. So we'll declare the value here and reference it in boms/legacy-ee. -->
        <version.org.hibernate.legacy>6.6.49.Final</version.org.hibernate.legacy>
        <version.org.hibernate.models>1.1.1</version.org.hibernate.models>
        <version.org.hibernate.search>8.3.0.Final</version.org.hibernate.search>
        <version.org.hibernate.validator>9.1.0.Final</version.org.hibernate.validator>
        <version.org.hornetq>2.4.11.Final</version.org.hornetq>
        <version.org.infinispan>16.0.11</version.org.infinispan>
        <version.org.jasypt>1.9.3</version.org.jasypt>
        <version.org.jberet>3.1.0.Final</version.org.jberet>
        <version.org.jboss.activemq.artemis.integration>2.0.4.Final</version.org.jboss.activemq.artemis.integration>
        <version.org.jboss.common.jboss-common-beans>2.0.1.Final</version.org.jboss.common.jboss-common-beans>
        <version.org.jboss.ejb-client>5.0.8.Final</version.org.jboss.ejb-client>
        <version.org.jboss.ejb3.ext-api>2.4.0.Final</version.org.jboss.ejb3.ext-api>
        <version.org.jboss.genericjms>3.0.0.Final</version.org.jboss.genericjms>
        <version.org.jboss.hal.console>3.7.19.Final</version.org.jboss.hal.console>
        <version.org.jboss.iiop-client>2.0.1.Final</version.org.jboss.iiop-client>
        <version.org.jboss.ironjacamar>3.0.19.Final</version.org.jboss.ironjacamar>
        <version.org.jboss.jboss-transaction-spi>8.0.0.Final</version.org.jboss.jboss-transaction-spi>
        <version.org.jboss.metadata>17.1.0</version.org.jboss.metadata>
        <version.org.jboss.mod_cluster>2.1.0.Final</version.org.jboss.mod_cluster>
        <version.org.jboss.narayana>7.3.4.Final</version.org.jboss.narayana>
        <version.org.jboss.narayana.lra>1.1.0.Final</version.org.jboss.narayana.lra>
        <version.org.jboss.openjdk-orb>10.1.3.Final</version.org.jboss.openjdk-orb>
        <version.org.jboss.resteasy>7.0.2.Final</version.org.jboss.resteasy>
        <version.org.jboss.resteasy.extensions>2.0.1.Final</version.org.jboss.resteasy.extensions>
        <version.org.jboss.resteasy.microprofile>3.0.1.Final</version.org.jboss.resteasy.microprofile>
        <version.org.jboss.resteasy.spring>3.2.0.Final</version.org.jboss.resteasy.spring>
        <version.org.jboss.spec.jakarta.el.jakarta.el-api>6.0.2.Final</version.org.jboss.spec.jakarta.el.jakarta.el-api>
        <version.org.jboss.spec.jakarta.xml.soap.saaj-api_3.0_spec>1.0.0.Final</version.org.jboss.spec.jakarta.xml.soap.saaj-api_3.0_spec>
        <version.org.jboss.spec.jakarta.xml.ws.api_4.0_spec>1.0.0.Final</version.org.jboss.spec.jakarta.xml.ws.api_4.0_spec>
        <version.org.jboss.universe.community>1.2.2.Final</version.org.jboss.universe.community>
        <version.org.jboss.universe.producer.wildfly>1.4.0.Final</version.org.jboss.universe.producer.wildfly>
        <version.org.jboss.weld.weld>6.0.4.Final</version.org.jboss.weld.weld>
        <version.org.jboss.weld.weld-api>6.0.Final</version.org.jboss.weld.weld-api>
        <version.org.jboss.ws.api>3.0.0.Final</version.org.jboss.ws.api>
        <version.org.jboss.ws.common>5.1.0.Final</version.org.jboss.ws.common>
        <version.org.jboss.ws.common.tools>2.1.0.Final</version.org.jboss.ws.common.tools>
        <version.org.jboss.ws.cxf>7.3.8.Final</version.org.jboss.ws.cxf>
        <version.org.jboss.ws.jaxws-undertow-httpspi>2.0.0.Final</version.org.jboss.ws.jaxws-undertow-httpspi>
        <version.org.jboss.ws.spi>5.0.0.Final</version.org.jboss.ws.spi>
        <version.org.jboss.xnio.netty.netty-xnio-transport>0.1.10.Final</version.org.jboss.xnio.netty.netty-xnio-transport>
        <version.org.jctools.jctools-core>4.0.6</version.org.jctools.jctools-core>
        <version.org.jgroups>5.5.5.Final</version.org.jgroups>
        <version.org.jgroups.aws>4.0.1.Final</version.org.jgroups.aws>
        <version.org.jgroups.azure>2.0.2.Final</version.org.jgroups.azure>
        <version.org.jgroups.kubernetes>3.0.0.Final</version.org.jgroups.kubernetes>
        <version.org.jipijapa>1.0.1.Final</version.org.jipijapa>
        <version.org.jvnet.staxex>2.1.0</version.org.jvnet.staxex>
        <version.org.keycloak.keycloak-saml-wildfly-subsystem>18.0.2</version.org.keycloak.keycloak-saml-wildfly-subsystem>
        <version.org.kohsuke.metainf-services>1.11</version.org.kohsuke.metainf-services>
        <version.org.opensaml.opensaml>4.3.2</version.org.opensaml.opensaml>
        <version.org.ow2.asm>9.9.1</version.org.ow2.asm>
        <version.org.reactivestreams>1.0.4</version.org.reactivestreams>
        <version.org.wildfly.clustering>10.0.7.Final</version.org.wildfly.clustering>
        <!--
            Maintain separation between these two frequently updated artifacts to avoid merge conflicts.
        -->
        <version.org.wildfly.core>32.0.0.Final</version.org.wildfly.core>
        <!--
            Maintain separation between these two frequently updated artifacts to avoid merge conflicts.
        -->
        <version.org.wildfly.http-client>2.1.4.Final</version.org.wildfly.http-client>
        <version.org.wildfly.launcher>1.0.3.Final</version.org.wildfly.launcher>
        <version.org.wildfly.mvc.krazo>2.0.1.Final</version.org.wildfly.mvc.krazo>
        <version.org.wildfly.vertx>1.0.2.Final</version.org.wildfly.vertx>
        <version.org.wildfly.naming-client>2.0.1.Final</version.org.wildfly.naming-client>
        <version.org.wildfly.security.elytron-web>4.2.1.Final</version.org.wildfly.security.elytron-web>
        <version.org.wildfly.security.elytron-mp>2.0.0.Final</version.org.wildfly.security.elytron-mp>
        <version.org.wildfly.security.elytron-tests-common>2.4.2.Final</version.org.wildfly.security.elytron-tests-common>
        <version.org.wildfly.security.jakarta.elytron-ee>4.0.0.Final</version.org.wildfly.security.jakarta.elytron-ee>
        <version.org.wildfly.transaction.client>3.0.5.Final</version.org.wildfly.transaction.client>
        <version.org.wildfly.wildfly-application-development-guide>1.0.0.Final</version.org.wildfly.wildfly-application-development-guide>
        <preview.version.org.wildfly.wildfly-ee-9-deployment-transformer>2.0.0.Final</preview.version.org.wildfly.wildfly-ee-9-deployment-transformer>
        <version.software.amazon.awssdk>2.40.17</version.software.amazon.awssdk>
        <version.software.amazon.eventstream>1.0.1</version.software.amazon.eventstream>
        <version.org.xerial.snappy.snappy-java>1.1.10.8</version.org.xerial.snappy.snappy-java>
        <version.sun.jaxb>${version.org.glassfish.jaxb}</version.sun.jaxb>
        <version.wsdl4j>1.6.3</version.wsdl4j>
        <version.xml-resolver>1.2</version.xml-resolver>

    </properties>

    <dependencyManagement>
        <dependencies>

            <!-- Keep sorted -->

            <dependency>
                <groupId>${channels.maven.groupId}</groupId>
                <artifactId>wildfly</artifactId>
                <version>${full.maven.version}</version>
                <type>yaml</type>
                <classifier>manifest</classifier>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-common-ee-dependency-management</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-common-expansion-dependency-management</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>${latest.ee.build.artifactId}</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${channels.maven.groupId}</groupId>
                <artifactId>wildfly-${latest.ee.artifactid.segment}</artifactId>
                <version>${ee.maven.version}</version>
                <type>yaml</type>
                <classifier>manifest</classifier>
            </dependency>

            <dependency>
                <groupId>${channels.maven.groupId}</groupId>
                <artifactId>wildfly-${legacy.ee.artifactid.segment}</artifactId>
                <version>${ee.maven.version}</version>
                <type>yaml</type>
                <classifier>manifest</classifier>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>${latest.ee.dist.artifactId}</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

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

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

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

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

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-ee-feature-pack-galleon-shared-legacy</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-ee-feature-pack-galleon-shared-legacy</artifactId>
                <version>${ee.maven.version}</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-ee-feature-pack-galleon-shared-preview</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-ee-feature-pack-galleon-shared-preview</artifactId>
                <version>${ee.maven.version}</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>${latest.ee.feature.pack.artifactId}</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>${latest.ee.feature.pack.artifactId}</artifactId>
                <version>${ee.maven.version}</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>${legacy.ee.feature.pack.artifactId}</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>${legacy.ee.feature.pack.artifactId}</artifactId>
                <version>${ee.maven.version}</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-legacy-ee-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-build</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${channels.maven.groupId}</groupId>
                <artifactId>wildfly-preview</artifactId>
                <version>${ee.maven.version}</version>
                <type>yaml</type>
                <classifier>manifest</classifier>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-dist</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-ee-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-expansion-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-feature-pack</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-feature-pack</artifactId>
                <version>${ee.maven.version}</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-feature-pack-galleon-local</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-feature-pack-galleon-local</artifactId>
                <version>${ee.maven.version}</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-test-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-preview-test-expansion-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-standard-ee-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-standard-expansion-bom</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-standard-legacy-ee-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-standard-preview-ee-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-standard-test-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>${latest.full.build.artifactId}</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>${latest.full.dist.artifactId}</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

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

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

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

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

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>${legacy.full.build.artifactId}</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>${legacy.full.dist.artifactId}</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>${legacy.ee.build.artifactId}</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>${legacy.ee.dist.artifactId}</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-legacy-expansion-bom</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-release</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>${full.maven.groupId}</groupId>
                <artifactId>wildfly-standard-test-expansion-bom</artifactId>
                <version>${full.maven.version}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-application-development-guide</artifactId>
                <version>${version.org.wildfly.wildfly-application-development-guide}</version>
                <classifier>sources</classifier>
                <type>zip</type>
            </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-config-gen</artifactId>
                <version>${version.org.wildfly.galleon-plugins}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </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.keycloak</groupId>
                <artifactId>keycloak-services</artifactId>
                <version>${version.org.keycloak}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.universe</groupId>
                <artifactId>community-universe</artifactId>
                <version>${version.org.jboss.universe.community}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.universe.producer</groupId>
                <artifactId>wildfly-producers</artifactId>
                <version>${version.org.jboss.universe.producer.wildfly}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.galleon</groupId>
                <artifactId>galleon-core</artifactId>
                <version>${version.org.jboss.galleon}</version>
            </dependency>
        </dependencies>

    </dependencyManagement>

    <repositories>
        <repository>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
            <id>jboss-public-repository-group</id>
            <name>JBoss Public Repository Group</name>
            <url>${maven.repository.url}</url>
            <layout>default</layout>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <id>jboss-public-repository-group</id>
            <name>JBoss Public Repository Group</name>
            <url>${maven.repository.url}</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <pluginManagement>
            <plugins>
                <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>${maven.test.redirectTestOutputToFile}</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>-->
                            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                            <jdk.xml.enableTemplatesImplDeserialization>true</jdk.xml.enableTemplatesImplDeserialization>
                        </systemPropertyVariables>
                        <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>
                        <!-- Workaround for mysterious issue discussed in
                             https://wildfly.zulipchat.com/#narrow/channel/174184-wildfly-developers/topic/version.2Echeckstyle.2Eplugin.20problem/with/570909520 -->
                        <dependency>
                            <groupId>org.codehaus.plexus</groupId>
                            <artifactId>plexus-velocity</artifactId>
                            <version>${version.plexus-velocity.for.checkstyle}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <configLocation>wildfly-checkstyle/checkstyle.xml</configLocation>
                        <consoleOutput>true</consoleOutput>
                        <failsOnError>true</failsOnError>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        <excludes>**/*$logger.java,**/*$bundle.java,**/*$___Marshaller_*.java,**/*SerializationContextInitializerImpl.java</excludes>
                        <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
                        <useFile></useFile>
                    </configuration>
                </plugin>

                <!-- Ban bad dependencies and require Java 11 for deploying -->
                <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>ch.qos.reload4j:reload4j</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>log4j:log4j</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>
                                            <!-- replaced by org.bouncycastle:*-jdk18on -->
                                            <exclude>org.bouncycastle:bcpg-jdk15on</exclude>
                                            <exclude>org.bouncycastle:bcprov-jdk15on</exclude>
                                            <exclude>org.bouncycastle:bcpkix-jdk15on</exclude>
                                            <exclude>org.bouncycastle:bcutil-jdk15on</exclude>
                                            <exclude>org.codehaus.jackson:jackson-core-asl</exclude>
                                            <exclude>org.codehaus.jackson:jackson-jaxrs</exclude>
                                            <exclude>org.codehaus.jackson:jackson-mapper-asl</exclude>
                                            <exclude>org.codehaus.jackson:jackson-xc</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-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.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_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>
                                            <!-- Jandex moved to SmallRye -->
                                            <exclude>org.jboss:jandex</exclude>
                                            <!-- We don't want the shaded jar that shades external artifacts -->
                                            <exclude>org.wildfly.security:wildfly-elytron</exclude>
                                        </excludes>
                                    </bannedDependencies>
                                    <dependencyConvergence></dependencyConvergence>
                                </rules>
                            </configuration>
                        </execution>
                        <execution>
                            <id>require-java17-build</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <phase>compile</phase>
                            <configuration>
                                <rules>
                                    <requireJavaVersion>
                                        <version>${required.java.build.version}</version>
                                    </requireJavaVersion>
                                </rules>
                            </configuration>
                        </execution>
                        <execution>
                            <id>require-java17-deploy</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <phase>deploy</phase>
                            <configuration>
                                <rules>
                                    <requireJavaVersion>
                                        <version>${required.java.deploy.version}</version>
                                    </requireJavaVersion>
                                </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></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></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></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></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></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></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></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></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></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.wildfly</groupId>
                    <artifactId>wildfly-maven-gpg-plugin</artifactId>
                    <version>${version.org.wildfly.wildfly-maven-gpg-plugin}</version>
                    <configuration>
                        <useAgent>true</useAgent>
                        <gpgArguments>
                            <arg>--pinentry-mode</arg>
                            <arg>${gpg.pinEntryMode}</arg>
                        </gpgArguments>
                    </configuration>
                </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.wildfly.unstable.api.annotation</groupId>
                    <artifactId>unstable-api-annotation-classpath-indexer-plugin</artifactId>
                    <version>${version.org.wildfly.unstable.annotation.api}</version>
                    <executions>
                        <execution>
                            <id>scan-experimental-annotations</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>index-unstable-api-annotations</goal>
                            </goals>
                        </execution>
                    </executions>
                </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.licenses.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.asciidoctor</groupId>
                    <artifactId>asciidoctor-maven-plugin</artifactId>
                    <version>${version.asciidoctor.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.wildfly.glow</groupId>
                    <artifactId>wildfly-glow-arquillian-plugin</artifactId>
                    <version>${version.org.wildfly.glow}</version>
                </plugin>
                <plugin>
                    <groupId>org.wildfly</groupId>
                    <artifactId>wildfly-channel-maven-plugin</artifactId>
                    <version>${version.org.wildfly.wildfly-channel-plugin}</version>
                    <configuration>
                        <doNotDowngrade>true</doNotDowngrade>
                        <ignoreStreams>org.apache.maven:*,org.apache.maven.resolver:*,org.codehaus.plexus:*</ignoreStreams>
                        <injectRepositories>false</injectRepositories>
                        <ignorePropertiesPrefixedWith>legacy.</ignorePropertiesPrefixedWith>
                    </configuration>
                </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>
        </plugins>
    </build>

    <!-- Profiles -->
    <profiles>

        <profile>
            <id>base.build</id>
            <activation>
                <property>
                    <name>!no.base.build</name>
                </property>
            </activation>
            <modules>
                <module>appclient</module>
                <module>batch-jberet</module>
                <module>bean-validation</module>
                <module>boms/common-ee</module>
                <module>boms/legacy-ee</module>
                <module>boms/legacy-test</module>
                <module>boms/standard-legacy-ee</module>
                <module>boms/standard-preview-ee</module>
                <module>boms/standard-ee</module>
                <module>boms/standard-test</module>
                <module>boms/user</module>
                <module>client/properties</module>
                <module>client/shade</module>
                <module>clustering</module>
                <module>concurrency/impl-31</module>
                <module>concurrency/spi</module>
                <module>connector</module>
                <module>datasources-agroal</module>
                <module>ee</module>
                <module>ee-build</module>
                <module>ee-dist</module>
                <module>ee-feature-pack</module>
                <module>ee-security</module>
                <module>ejb3</module>
                <module>elytron-oidc-client</module>
                <module>health</module>
                <module>iiop-openjdk</module>
                <module>jakarta-data</module>
                <module>jaxrs</module>
                <module>jdr</module>
                <module>jpa</module>
                <module>jsf</module>
                <module>mail</module>
                <module>legacy/jsr77</module>
                <module>legacy/keycloak</module>
                <module>legacy/picketlink</module>
                <module>legacy/security</module>
                <module>metrics</module>
                <module>messaging-activemq</module>
                <module>mod_cluster</module>
                <module>naming</module>
                <module>pojo</module>
                <module>rts</module>
                <module>sar</module>
                <module>system-jmx</module>
                <module>spec-api</module>
                <module>weld</module>
                <module>transactions</module>
                <module>undertow</module>
                <module>webservices</module>
                <module>web-common</module>
                <module>xts</module>
                <module>testsuite/shared</module>
                <module>testsuite</module>
            </modules>
        </profile>

        <profile>
            <id>expansion-build</id>
            <activation>
                <property>
                    <!-- Allow users to disable building expansion stuff if they just want base artifacts -->
                    <name>!no.expansion.build</name>
                </property>
            </activation>
            <modules>
                <module>boms/common-expansion</module>
                <module>boms/legacy-expansion</module>
                <module>boms/standard-expansion</module>
                <module>boms/standard-test-expansion</module>
                <module>boms/user</module>
                <module>build</module>
                <module>dist</module>
                <module>galleon-pack</module>
                <module>legacy/opentracing-extension</module>
                <module>microprofile</module>
                <module>observability</module>
                <module>release</module>
                <module>testsuite</module>
            </modules>
        </profile>

        <profile>
            <id>quick-build</id>
            <activation>
                <property>
                    <name>quickly</name>
                </property>
            </activation>
            <properties>
                <skipTests>true</skipTests>
                <skipITs>true</skipITs>
                <maven.javadoc.skip>true</maven.javadoc.skip>
                <checkstyle.skip>true</checkstyle.skip>
                <enforcer.skip>true</enforcer.skip>
                <license.skip>true</license.skip>
            </properties>
            <build>
                <defaultGoal>clean install</defaultGoal>
            </build>
        </profile>

        <profile>
            <id>legacy-ee-build</id>
            <activation>
                <property>
                    <name>!no.legacy.ee.build</name>
                </property>
            </activation>
            <modules>
                <module>boms/legacy-ee</module>
                <module>boms/legacy-test</module>
                <module>concurrency/impl-30</module>
                <module>legacy/ee-feature-pack</module>
                <module>legacy/channel</module>
            </modules>
        </profile>

        <profile>
            <id>preview-build</id>
            <activation>
                <property>
                    <name>!no.preview.build</name>
                </property>
            </activation>
            <modules>
                <module>boms/preview-ee</module>
                <module>boms/preview-test</module>
                <module>boms/preview-expansion</module>
                <module>boms/preview-test-expansion</module>
                <module>preview</module>
            </modules>
        </profile>

        <profile>
            <id>jdk23</id>
            <activation>
                <jdk>[23,)</jdk>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <compilerArgs combine.children="append">
                                <!-- SE 23+ requires explicit config to turn on annotation processing -->
                                <arg>-proc:full</arg>
                            </compilerArgs>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>docs</id>
            <activation>
                <property>
                    <name>docs</name>
                </property>
            </activation>
            <modules>
                <module>docs</module>
            </modules>
        </profile>

        <profile>
            <id>dependency-check</id>
            <activation>
                <property>
                    <name>dependency-check</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                      <groupId>org.owasp</groupId>
                      <artifactId>dependency-check-maven</artifactId>
                      <version>${version.org.owasp.dependency-check}</version>
                      <configuration>
                          <nvdApiServerId>nvd</nvdApiServerId>
                          <ossIndexServerId>oss-index</ossIndexServerId>
                          <suppressionFile>./sca-overrides/owasp-suppressions.xml</suppressionFile>
                      </configuration>
                      <executions>
                          <execution>
                              <goals>
                                  <goal>aggregate</goal>
                              </goals>
                          </execution>
                      </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <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>
            <!-- Use the channels specified by the user-provided external.wildfly.channels property
                 when provisioning. -->
            <id>external.channel.profile</id>
            <activation><property><name>external.wildfly.channels</name></property></activation>
            <properties>
                <!-- The wildfly-maven-plugin 'provision' mojo will provision using a channel
                     if a wildfly.channels pom property is set.

                     Note the user could just directly do -Dwildfly-channels=xxx and get
                     the same effect, but we use this indirection to leave open the possibility
                     to have other ways of setting the property, without having to deal with
                     users having learned to directly use -Dwildfly.channels.
                 -->
                <wildfly.channels>${external.wildfly.channels}</wildfly.channels>
            </properties>
        </profile>

        <profile>
            <id>preview.test.profile</id>
            <activation>
                <property>
                    <name>ts.preview</name>
                </property>
            </activation>
            <properties>
                <!-- If we are using channel-driven provisioning, use the wildfly-preview channel -->
                <channel.maven.artifactId>wildfly-preview</channel.maven.artifactId>
                <!-- Disable the surefire tests (at least the default ones) 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>bootable.preview.test.profile</id>
            <activation>
                <property>
                    <name>ts.bootable.preview</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>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>
            <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>security.manager.profile</id>
            <activation>
                <property>
                    <name>security.manager</name>
                </property>
            </activation>
            <properties>
                <!-- Disable the default surefire tests  for all modules except for
                     those where this profile turns them on. -->
                <surefire.default-test.phase>none</surefire.default-test.phase>
            </properties>
        </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>

        <!-- 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.org.jacoco}</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"></taskdef>
                                        <echo>Creating JaCoCo test coverage reports...</echo>
                                        <mkdir dir="${basedir}/target/coverage-report"></mkdir>
                                        <report>
                                            <executiondata>
                                                <fileset dir="${basedir}">
                                                    <include name="**/target/jacoco.exec"></include>
                                                </fileset>
                                            </executiondata>
                                            <structure name="WildFly project">
                                                <classfiles>
                                                    <fileset dir="${jboss.dist}/modules">
                                                        <include name="**/*.jar"></include>
                                                        <!-- Excludes solve "Can't add different class with same name: ..." -->
                                                        <exclude name="**/openjdk-orb*.jar"></exclude>
                                                        <exclude name="**/jboss-marshalling*.jar"></exclude>
                                                        <exclude name="**/hornetq-core-client*.jar"></exclude>
                                                        <exclude name="**/jipijapa-hibernate5*.jar"></exclude>
                                                        <exclude name="**/infinispan-commons*.jar"></exclude>
                                                        <exclude name="**/jboss-logmanager*.jar"></exclude>
                                                        <exclude name="**/wildfly-common*.jar"></exclude>
                                                        <exclude name="**/wildfly-elytron*.jar"></exclude>
                                                        <exclude name="**/jaxb*.jar"></exclude>
                                                        <exclude name="**/h2-*.jar"></exclude>
                                                        <exclude name="**/snakeyaml-*.jar"></exclude>
                                                        <exclude name="**/yasson-*.jar"></exclude>
                                                        <exclude name="**/bcprov-*.jar"></exclude>
                                                        <exclude name="**/lucene-*.jar"></exclude>
                                                        <exclude name="**/log4j-api-*.jar"></exclude>
                                                        <exclude name="**/vertx-core-*.jar"></exclude>
                                                        <exclude name="**/opentelemetry-sdk-common-*.jar"></exclude>
                                                    </fileset>
                                                </classfiles>
                                                <sourcefiles encoding="UTF-8">
                                                    <dirset dir="${basedir}">
                                                        <include name="**/src/main/java"/>
                                                    </dirset>
                                                </sourcefiles>
                                            </structure>
                                            <html destdir="${basedir}/target/coverage-report/html"></html>
                                            <xml destfile="${basedir}/target/coverage-report/coverage-report.xml"></xml>
                                            <csv destfile="${basedir}/target/coverage-report/coverage-report.csv"></csv>
                                        </report>
                                    </target>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.jacoco</groupId>
                                <artifactId>org.jacoco.ant</artifactId>
                                <version>${version.org.jacoco}</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></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>${nexus.repository.staging.url}</url>
                    <layout>default</layout>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>jboss-staging-repository-group</id>
                    <name>JBoss Staging Repository Group</name>
                    <url>${nexus.repository.staging.url}</url>
                    <layout>default</layout>
                </pluginRepository>
            </pluginRepositories>
        </profile>

        <!-- Disable standard compilation execution.
             Intended use is when a build has been performed with one JDK
             and then test executions are wanted with another JDK, and that
             'test' goal shouldn't be allowed to determine that things need
             recompilation. Just using the 'surefire:test' goal would have
             the same effect but seems to result in profile settings being
             ignored. -->
        <profile>
            <id>noCompile</id>
            <activation>
                <property>
                    <name>noCompile</name>
                </property>
            </activation>
            <properties>
                <!-- Allow SE 11 and later. We don't actually compile, so we just need
                     to be able to execute tests using supported-at-runtime SE versions -->
                <required.java.build.version>[11,)</required.java.build.version>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <skipMain>true</skipMain>
                            <skip>true</skip>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>maven-central-release</id>

            <distributionManagement>
                <snapshotRepository>
                    <id>${sonatype.server.id}</id>
                    <url>${repo.sonatype.url}</url>
                </snapshotRepository>
                <repository>
                    <id>${sonatype.server.id}</id>
                    <url>${repo.sonatype.url}</url>
                </repository>
            </distributionManagement>

            <build>
                <plugins>
                    <!-- Create a source-release artifact that contains the fully buildable
                         project directory source structure.  This should be released to
                         the Maven repository for each JBoss project release. -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>${version.assembly.plugin}</version>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.apache.resources</groupId>
                                <artifactId>apache-source-release-assembly-descriptor</artifactId>
                                <version>1.7</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <id>source-release-assembly</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <skipAssembly>${skipReleaseAssembly}</skipAssembly>
                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                                    <descriptorRefs>
                                        <descriptorRef>${sourceReleaseAssemblyDescriptor}</descriptorRef>
                                    </descriptorRefs>
                                    <tarLongFileMode>gnu</tarLongFileMode>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>default-deploy</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>gpg-sign</id>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.sonatype.central</groupId>
                        <artifactId>central-publishing-maven-plugin</artifactId>
                        <version>${version.central.publishing.maven.plugin}</version>
                        <extensions>true</extensions>
                        <configuration>
                            <publishingServerId>${sonatype.server.id}</publishingServerId>
                            <autoPublish>${autoPublish}</autoPublish>
                            <waitUntil>${waitUntil}</waitUntil>
                            <deploymentName>wildfly-${project.version}</deploymentName>
                            <skipPublishing>${skipPublishing}</skipPublishing>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
