<?xml version="1.0" encoding="UTF-8"?>
<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.infinispan</groupId>
      <artifactId>infinispan-build-configuration-parent</artifactId>
      <version>12.1.6.Final</version>
      <relativePath>build-configuration/pom.xml</relativePath>
   </parent>

   <groupId>org.infinispan</groupId>
   <artifactId>infinispan-parent</artifactId>
   <version>12.1.6.Final</version>
   <packaging>pom</packaging>
   <name>Infinispan Common Parent</name>
   <description>Infinispan common parent POM module</description>
   <url>http://www.infinispan.org</url>
   <organization>
      <name>JBoss, a division of Red Hat</name>
      <url>http://www.jboss.org</url>
   </organization>
   <licenses>
      <license>
         <name>Apache License 2.0</name>
         <url>http://www.apache.org/licenses/LICENSE-2.0</url>
         <distribution>repo</distribution>
      </license>
   </licenses>
   <developers>
      <developer>
         <id>placeholder</id>
         <name>See http://www.infinispan.org for a complete list of contributors</name>
      </developer>
   </developers>
   <mailingLists>
      <mailingList>
         <name>Infinispan Issues</name>
         <subscribe>https://lists.jboss.org/mailman/listinfo/infinispan-issues</subscribe>
         <unsubscribe>https://lists.jboss.org/mailman/listinfo/infinispan-issues</unsubscribe>
         <post>infinispan-issues@lists.jboss.org</post>
         <archive>http://lists.jboss.org/pipermail/infinispan-issues/</archive>
      </mailingList>
      <mailingList>
         <name>Infinispan Developers</name>
         <subscribe>https://lists.jboss.org/mailman/listinfo/infinispan-dev</subscribe>
         <unsubscribe>https://lists.jboss.org/mailman/listinfo/infinispan-dev</unsubscribe>
         <post>infinispan-dev@lists.jboss.org</post>
         <archive>http://lists.jboss.org/pipermail/infinispan-dev/</archive>
      </mailingList>
   </mailingLists>
   <scm>
      <connection>scm:git:git@github.com:infinispan/infinispan.git</connection>
      <developerConnection>scm:git:git@github.com:infinispan/infinispan.git</developerConnection>
      <url>https://github.com/infinispan/infinispan</url>
   </scm>
   <issueManagement>
      <system>jira</system>
      <url>https://issues.jboss.org/browse/ISPN</url>
   </issueManagement>
   <ciManagement>
      <system>Jenkins</system>
      <url>https://ci.infinispan.org</url>
      <notifiers>
         <notifier>
            <type>mail</type>
            <address>infinispan-commits@lists.jboss.org</address>
         </notifier>
      </notifiers>
   </ciManagement>
   <distributionManagement>
      <repository>
         <id>${jboss.releases.repo.id}</id>
         <name>JBoss Release Repository</name>
         <url>${jboss.releases.repo.url}</url>
      </repository>
      <snapshotRepository>
         <id>${jboss.snapshots.repo.id}</id>
         <name>JBoss Snapshot Repository</name>
         <url>${jboss.snapshots.repo.url}</url>
      </snapshotRepository>
   </distributionManagement>
   <modules>
      <module>build-configuration</module>
      <module>checkstyle</module>
      <module>component-annotations</module>
      <module>component-processor</module>
      <module>commons</module>
      <module>commons-test</module>
      <module>plugins/infinispan-defaults-maven-plugin</module>
      <module>core</module>
      <module>jboss-marshalling</module>
      <module>extended-statistics</module>
      <module>counter</module>
      <module>multimap</module>
      <module>tools</module>
      <module>query-dsl</module>
      <module>query-core</module>
      <module>query</module>
      <module>object-filter</module>
      <module>remote-query/remote-query-client</module>
      <module>remote-query/remote-query-server</module>
      <module>persistence</module>
      <module>persistence/jdbc</module>
      <module>persistence/jpa</module>
      <module>persistence/remote</module>
      <module>persistence/rocksdb</module>
      <module>persistence/soft-index</module>
      <module>server</module>
      <module>server/core</module>
      <module>server/memcached</module>
      <module>server/hotrod</module>
      <module>server/rest</module>
      <module>server/router</module>
      <module>server/runtime</module>
      <module>server/testdriver</module>
      <module>server/tests</module>
      <module>client/rest-client</module>
      <module>client/hotrod-client</module>
      <module>client/infinispan-key-value-store-hotrod</module>
      <module>archetypes</module>
      <module>all</module>
      <module>all/cli</module>
      <module>spring/spring5</module>
      <module>spring/spring5/spring5-common</module>
      <module>spring/spring5/spring5-embedded</module>
      <module>spring/spring5/spring5-remote</module>
      <module>spring/spring-boot</module>
      <module>cli</module>
      <module>tasks/api</module>
      <module>tasks/manager</module>
      <module>tasks/scripting</module>
      <module>cdi</module>
      <module>cdi/common</module>
      <module>cdi/embedded</module>
      <module>cdi/remote</module>
      <module>lock</module>
      <module>jcache</module>
      <module>wildfly/feature-pack</module>
      <module>integrationtests</module>
      <module>integrationtests/endpoints-interop-it</module>
      <module>integrationtests/jboss-marshalling-it</module>
      <module>integrationtests/cdi-jcache-it</module>
      <module>integrationtests/security-it</module>
      <module>integrationtests/security-manager-it</module>
      <module>integrationtests/cdi-weld-se-it</module>
      <module>integrationtests/spring-boot-it</module>
      <module>integrationtests/server-integration</module>
      <module>integrationtests/server-integration/server-integration-commons</module>
      <module>integrationtests/server-integration/wildfly-modules</module>
      <module>integrationtests/server-integration/third-party-server</module>
      <module>client/marshaller</module>
      <module>hibernate</module>
      <module>api</module>
      <module>anchored-keys</module>
      <module>cloudevents-integration</module>
   </modules>
   <properties>
      <!-- Semantic versioning defaults. -->
      <bnd.consumer.policy>$&lt;range;[==,+)&gt;</bnd.consumer.policy>
      <bnd.provider.policy>$&lt;range;[==,=+)&gt;</bnd.provider.policy>
      <buildDirectory>target</buildDirectory>
      <commitProtoLockChanges>false</commitProtoLockChanges>
      <defaultExcludedJUnitGroups>org.infinispan.commons.test.categories.Unstable,org.infinispan.commons.test.categories.Stress,org.infinispan.commons.test.categories.Profiling</defaultExcludedJUnitGroups>
      <!-- unstable and stress because we can have them inside a functional class, for example -->
      <defaultExcludedTestNGGroups>unstable,stress</defaultExcludedTestNGGroups>
      <defaultTestNGGroups>functional,unit,xsite,arquillian</defaultTestNGGroups>
      <dir.ispn>../</dir.ispn>
      <dir.jacoco>${session.executionRootDirectory}/jacoco/</dir.jacoco>
      <dir.jacoco.merged>../jacoco/merged/</dir.jacoco.merged>
      <dir.jacoco.report>../jacoco/report/</dir.jacoco.report>
      <testjvm.commonArgs>-XX:+UseG1GC -XX:-TieredCompilation -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${user.dir} -Djboss.modules.settings.xml.url=${jboss.modules.settings.xml.url}</testjvm.commonArgs>
      <!--
        java.lang, java.util, java.io, java.lang.invoke, java.lang, reflect, java.util.concurrent, java.time:
          core externalizers for JDK types
        java.nio, jdk.internal.ref, jdk.internal.misc, sun.nio.ch: Netty, server/hotrod
        com.sun.security.sasl: CRAM-MD5 mechanism, server/hotrod
        java.text: XStream, server/rest
        java.security: Wildfly, server/integration/*
      -->
      <testjvm.jigsawArgs>
         -Dsun.reflect.debugModuleAccessChecks=true
         --add-opens=java.base/java.lang=ALL-UNNAMED
         --add-opens=java.base/java.util=ALL-UNNAMED
         --add-opens=java.base/java.io=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.util.concurrent=ALL-UNNAMED
         --add-opens=java.base/java.time=ALL-UNNAMED
         --add-opens=java.base/java.nio=ALL-UNNAMED
         --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED
         --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED
         --add-exports=java.security.sasl/com.sun.security.sasl=ALL-UNNAMED
         --add-opens=java.base/java.text=ALL-UNNAMED
         --add-opens=java.base/java.security=ALL-UNNAMED
         --add-exports=jdk.security.jgss/com.sun.security.sasl.gsskerb=ALL-UNNAMED
         --add-exports=java.base/sun.nio.ch=ALL-UNNAMED
         --add-opens=java.base/sun.nio.ch=ALL-UNNAMED
         --add-exports=java.security.sasl/com.sun.security.sasl.digest=ALL-UNNAMED
         --add-exports=java.security.sasl/com.sun.security.sasl.ntlm=ALL-UNNAMED
         --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED
         --add-opens=java.management/javax.management=ALL-UNNAMED
         --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
         --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
         --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
         --add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED
         --add-opens=java.base/com.sun.crypto.provider=ALL-UNNAMED
         --add-modules=java.se
      </testjvm.jigsawArgs>
      <testjvm.blockHoundRedefinitionArgs/>
      <testjvm.jdkSpecificArgs>${testjvm.jigsawArgs} ${testjvm.blockHoundRedefinitionArgs}</testjvm.jdkSpecificArgs>
      <testjvm.extraArgs/>
      <forkJvmArgs>-Xmx1G ${testjvm.commonArgs} ${testjvm.jdkSpecificArgs} ${testjvm.extraArgs}</forkJvmArgs>
      <server.jvm>${env.JAVA_HOME}</server.jvm>
      <server.jvm.args>${testjvm.commonArgs} ${testjvm.jdkSpecificArgs} ${testjvm.extraArgs}</server.jvm.args>
      <infinispan.module-suffix>-${project.artifactId}</infinispan.module-suffix>
      <infinispan.test.jvm.version.regex>^1\.8\.0.*</infinispan.test.jvm.version.regex>
      <ansi.strip/>
      <infinispan.root>${basedir}</infinispan.root>
      <infinispan.cluster.stack>test-udp</infinispan.cluster.stack>
      <infinispan.test.parallel.threads>8</infinispan.test.parallel.threads>
      <server.test.provisioning>thin</server.test.provisioning>
      <skipArtifactUpload>false</skipArtifactUpload>
      <upload.username>infinispan</upload.username>
      <upload.host>filemgmt.jboss.org</upload.host>
      <upload.downloadsDir>${upload.username}@${upload.host}:/downloads_htdocs/infinispan/${project.version}</upload.downloadsDir>
      <upload.docsPath>/docs_htdocs/infinispan/${infinispan.base.version}</upload.docsPath>
      <upload.docsDir>${upload.username}@${upload.host}:${upload.docsPath}</upload.docsDir>
      <upload.keyFile>${env.HOME}/.ssh/ispn_release</upload.keyFile>
      <upload.schemaDir>${upload.username}@${upload.host}:/schema_htdocs/infinispan</upload.schemaDir>
      <junitListener>org.infinispan.commons.test.JUnitTestListener</junitListener>
      <m2e.apt.activation>jdt_apt</m2e.apt.activation>
      <module.skipCopyDependencies>true</module.skipCopyDependencies>
      <module.skipSupportModuleDeployment>true</module.skipSupportModuleDeployment>
      <packaging>jar</packaging>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <testNGListeners>org.infinispan.commons.test.TestNGTestListener,org.infinispan.commons.test.PolarionJUnitXMLReporter</testNGListeners>
      <log4j.configurationFile>${infinispan.root}/etc/log4j2.xml</log4j.configurationFile>
      <uberjar.deps.optional>true</uberjar.deps.optional>
      <jboss.modules.settings.xml.url>file://${infinispan.root}/maven-settings.xml</jboss.modules.settings.xml.url>

      <!-- dependencies version -->
      <versionx.ant-contrib.ant-contrib>${version.ant-contrib}</versionx.ant-contrib.ant-contrib>
      <versionx.com.amazonaws>1.11.368</versionx.com.amazonaws>
      <versionx.com.bouncycastle>${version.bouncycastle}</versionx.com.bouncycastle>
      <versionx.com.clearspring.analytics.stream>2.2.0</versionx.com.clearspring.analytics.stream>
      <versionx.com.esotericsoftware.kryo>4.0.2</versionx.com.esotericsoftware.kryo>
      <versionx.com.fasterxml.jackson.core.jackson-annotations>${version.jackson}</versionx.com.fasterxml.jackson.core.jackson-annotations>
      <versionx.com.fasterxml.jackson.core.jackson-core>${version.jackson}</versionx.com.fasterxml.jackson.core.jackson-core>
      <versionx.com.fasterxml.jackson.core.jackson-databind>${version.jackson.databind}</versionx.com.fasterxml.jackson.core.jackson-databind>
      <versionx.com.fasterxml.jackson.modules.jackson-modules-java8>${version.jackson.databind}</versionx.com.fasterxml.jackson.modules.jackson-modules-java8>
      <versionx.com.github.ben-manes.caffeine.caffeine>${version.caffeine}</versionx.com.github.ben-manes.caffeine.caffeine>
      <versionx.com.google.errorprone.error_prone_annotations>2.1.3</versionx.com.google.errorprone.error_prone_annotations>
      <versionx.com.google.guava.guava>30.1.1-jre</versionx.com.google.guava.guava>
      <versionx.com.google.testing.compile>0.15</versionx.com.google.testing.compile>
      <versionx.com.h2database.h2>1.4.200</versionx.com.h2database.h2>
      <versionx.com.mysqldatabase.mysql>8.0.16</versionx.com.mysqldatabase.mysql>
      <versionx.com.postgresqldatabase.postgresql>42.2.5</versionx.com.postgresqldatabase.postgresql>
      <versionx.com.microsoft.azure.azure-storage>6.1.0</versionx.com.microsoft.azure.azure-storage>
      <versionx.com.squareup.okhttp3.ohhttp>${version.okhttp}</versionx.com.squareup.okhttp3.ohhttp>
      <versionx.com.sun.tools>1.8.0_161</versionx.com.sun.tools>
      <versionx.com.thoughtworks.xstream.xstream>1.4.17</versionx.com.thoughtworks.xstream.xstream>
      <versionx.commons-dbcp.commons-dbcp>1.4</versionx.commons-dbcp.commons-dbcp>
      <versionx.commons-io.commons-io>2.8.0</versionx.commons-io.commons-io>
      <versionx.commons-logging.commons-logging>1.2</versionx.commons-logging.commons-logging>
      <versionx.de.javakaffee.kryo-serializers>0.41</versionx.de.javakaffee.kryo-serializers>
      <versionx.gnu.getopt.java-getopt>1.0.13</versionx.gnu.getopt.java-getopt>
      <versionx.io.fabric8.kubernetes-client>${version.fabric8.kubernetes-client}</versionx.io.fabric8.kubernetes-client>
      <versionx.io.netty.netty-buffer>${version.netty}</versionx.io.netty.netty-buffer>
      <versionx.io.netty.netty-codec>${version.netty}</versionx.io.netty.netty-codec>
      <versionx.io.netty.netty-codec-http>${version.netty}</versionx.io.netty.netty-codec-http>
      <versionx.io.netty.netty-codec-http2>${version.netty}</versionx.io.netty.netty-codec-http2>
      <versionx.io.netty.netty-common>${version.netty}</versionx.io.netty.netty-common>
      <versionx.io.netty.netty-handler>${version.netty}</versionx.io.netty.netty-handler>
      <versionx.io.netty.netty-resolver>${version.netty}</versionx.io.netty.netty-resolver>
      <versionx.io.netty.netty-transport>${version.netty}</versionx.io.netty.netty-transport>
      <versionx.io.netty.netty-transport-native-epoll>${version.netty}</versionx.io.netty.netty-transport-native-epoll>
      <versionx.io.netty.netty-transport-native-unix-common>${version.netty}</versionx.io.netty.netty-transport-native-unix-common>
      <versionx.io.protostuff.protostuff-collectionschema>${version.protostuff}</versionx.io.protostuff.protostuff-collectionschema>
      <versionx.io.protostuff.protostuff-core>${version.protostuff}</versionx.io.protostuff.protostuff-core>
      <versionx.io.protostuff.protostuff-runtime>${version.protostuff}</versionx.io.protostuff.protostuff-runtime>
      <versionx.io.protostuff.protostuff-runtime-registry>${version.protostuff}</versionx.io.protostuff.protostuff-runtime-registry>
      <versionx.io.reactivex.rxjava3.rxjava>${version.rxjava}</versionx.io.reactivex.rxjava3.rxjava>
      <versionx.javax.activation.activation>1.1.1</versionx.javax.activation.activation>
      <versionx.javax.annotation.javax.annotation-api>1.3.1</versionx.javax.annotation.javax.annotation-api>
      <versionx.javax.cache.cache-api>${version.javax.cache}</versionx.javax.cache.cache-api>
      <versionx.javax.cache.cache-tests>${version.javax.cache}</versionx.javax.cache.cache-tests>
      <versionx.javax.cache.cdi-weld-annotations-test-harness>${version.javax.cache}</versionx.javax.cache.cdi-weld-annotations-test-harness>
      <versionx.javax.enterprise.cdi-api>${version.cdi}</versionx.javax.enterprise.cdi-api>
      <versionx.javax.inject.javax.inject>1</versionx.javax.inject.javax.inject>
      <versionx.javax.persistence.javax.persistence-api>${version.javax.persistence}</versionx.javax.persistence.javax.persistence-api>
      <versionx.junit.junit>${version.junit}</versionx.junit.junit>
      <versionx.junit.junit5>${version.junit5}</versionx.junit.junit5>
      <versionx.mysql.mysql-connector-java>8.0.16</versionx.mysql.mysql-connector-java>
      <versionx.net.spy.spymemcached>2.12.1</versionx.net.spy.spymemcached>
      <versionx.org.aesh.aesh>2.6</versionx.org.aesh.aesh>
      <versionx.org.antlr.antlr-runtime>3.5.2</versionx.org.antlr.antlr-runtime>
      <versionx.org.apache.ant.ant>${version.ant}</versionx.org.apache.ant.ant>
      <versionx.org.apache.avro.avro>1.9.1</versionx.org.apache.avro.avro>
      <versionx.org.apache.commons.commons-lang3>3.9</versionx.org.apache.commons.commons-lang3>
      <versionx.org.apache.commons.commons-math>2.2</versionx.org.apache.commons.commons-math>
      <versionx.org.apache.directory.server.apacheds-all>2.0.0-M24</versionx.org.apache.directory.server.apacheds-all>
      <versionx.org.apache.geronimo.components.geronimo-transaction>3.1.1</versionx.org.apache.geronimo.components.geronimo-transaction>
      <versionx.org.apache.logging.log4j.log4j-api>${version.log4j}</versionx.org.apache.logging.log4j.log4j-api>
      <versionx.org.apache.logging.log4j.log4j-core>${version.log4j}</versionx.org.apache.logging.log4j.log4j-core>
      <versionx.org.apache.logging.log4j.log4j-slf4j-impl>${version.log4j}</versionx.org.apache.logging.log4j.log4j-slf4j-impl>
      <versionx.org.apache.logging.log4j.log4j-jul>${version.log4j}</versionx.org.apache.logging.log4j.log4j-jul>
      <versionx.org.apache.lucene.lucene-analyzers-common>${version.lucene}</versionx.org.apache.lucene.lucene-analyzers-common>
      <versionx.org.apache.lucene.lucene-core>${version.lucene}</versionx.org.apache.lucene.lucene-core>
      <versionx.org.apache.lucene.lucene-facet>${version.lucene}</versionx.org.apache.lucene.lucene-facet>
      <versionx.org.apache.lucene.lucene-grouping>${version.lucene}</versionx.org.apache.lucene.lucene-grouping>
      <versionx.org.apache.lucene.lucene-join>${version.lucene}</versionx.org.apache.lucene.lucene-join>
      <versionx.org.apache.lucene.lucene-misc>${version.lucene}</versionx.org.apache.lucene.lucene-misc>
      <versionx.org.apache.lucene.lucene-queryparser>${version.lucene}</versionx.org.apache.lucene.lucene-queryparser>
      <versionx.org.apache.maven.maven-core>3.5.4</versionx.org.apache.maven.maven-core>
      <versionx.org.apache.maven.plugin-tools.maven-plugin-annotations>3.5.1</versionx.org.apache.maven.plugin-tools.maven-plugin-annotations>
      <versionx.org.aspectj.aspectjweaver>1.8.1</versionx.org.aspectj.aspectjweaver>
      <versionx.org.assertj.assertj-core>3.4.1</versionx.org.assertj.assertj-core>
      <versionx.org.codehaus.plexus.plexus-utils>3.1.0</versionx.org.codehaus.plexus.plexus-utils>
      <versionx.org.codehaus.mojo.versions-maven-plugin>2.7</versionx.org.codehaus.mojo.versions-maven-plugin>
      <versionx.org.dom4j.dom4j>2.1.3</versionx.org.dom4j.dom4j>
      <versionx.org.glassfish.jaxb.jaxb-runtime>${version.glassfish.jaxb}</versionx.org.glassfish.jaxb.jaxb-runtime>
      <versionx.org.hamcrest.hamcrest-core>${version.hamcrest}</versionx.org.hamcrest.hamcrest-core>
      <versionx.org.hamcrest.hamcrest-library>${version.hamcrest}</versionx.org.hamcrest.hamcrest-library>
      <versionx.org.hibernate.common.hibernate-commons-annotations>5.0.5.Final</versionx.org.hibernate.common.hibernate-commons-annotations>
      <versionx.org.hibernate.hibernate-core>${version.hibernate.core}</versionx.org.hibernate.hibernate-core>
      <versionx.org.hibernate.search.hibernate-search-backend-lucene>${version.hibernate.search}</versionx.org.hibernate.search.hibernate-search-backend-lucene>
      <versionx.org.hibernate.search.hibernate-search-mapper-pojo-base>${version.hibernate.search}</versionx.org.hibernate.search.hibernate-search-mapper-pojo-base>
      <versionx.org.hibernate.hibernate-testing>${version.hibernate.core}</versionx.org.hibernate.hibernate-testing>
      <versionx.org.hibernate.javax.persistence.hibernate-jpa-2.1-api>1.0.0.Final</versionx.org.hibernate.javax.persistence.hibernate-jpa-2.1-api>
      <versionx.org.jacoco.org.jacoco.agent>${version.jacoco}</versionx.org.jacoco.org.jacoco.agent>
      <versionx.org.javassist.javassist>3.26.0-GA</versionx.org.javassist.javassist>
      <versionx.org.jboss.arquillian.container.arquillian-weld-embedded>2.0.1.Final</versionx.org.jboss.arquillian.container.arquillian-weld-embedded>
      <versionx.org.jboss.arquillian.junit.arquillian-junit-container>${version.arquillian}</versionx.org.jboss.arquillian.junit.arquillian-junit-container>
      <versionx.org.jboss.arquillian.testng.arquillian-testng-container>${version.arquillian}</versionx.org.jboss.arquillian.testng.arquillian-testng-container>
      <versionx.org.jboss.byteman.byteman>${version.byteman}</versionx.org.jboss.byteman.byteman>
      <versionx.org.jboss.byteman.byteman-bmunit>${version.byteman}</versionx.org.jboss.byteman.byteman-bmunit>
      <versionx.org.jboss.byteman.byteman-install>${version.byteman}</versionx.org.jboss.byteman.byteman-install>
      <versionx.org.jboss.byteman.byteman-submit>${version.byteman}</versionx.org.jboss.byteman.byteman-submit>
      <versionx.org.jboss.jboss-common-core>2.2.16.GA</versionx.org.jboss.jboss-common-core>
      <versionx.org.jboss.jboss-transaction-spi>7.6.0.Final</versionx.org.jboss.jboss-transaction-spi>
      <versionx.org.jboss.logging.jboss-logging>${version.jboss.logging}</versionx.org.jboss.logging.jboss-logging>
      <versionx.org.jboss.logging.jboss-logging-processor>2.1.0.Final</versionx.org.jboss.logging.jboss-logging-processor>
      <versionx.org.jboss.marshalling.jboss-marshalling>${version.jboss.marshalling}</versionx.org.jboss.marshalling.jboss-marshalling>
      <versionx.org.jboss.marshalling.jboss-marshalling-osgi>${version.jboss.marshalling}</versionx.org.jboss.marshalling.jboss-marshalling-osgi>
      <versionx.org.jboss.marshalling.jboss-marshalling-river>${version.jboss.marshalling}</versionx.org.jboss.marshalling.jboss-marshalling-river>
      <versionx.org.jboss.naming.jnp-client>${version.jboss.naming}</versionx.org.jboss.naming.jnp-client>
      <versionx.org.jboss.naming.jnpserver>${version.jboss.naming}</versionx.org.jboss.naming.jnpserver>
      <versionx.org.jboss.narayana.jta.narayana-jta>${version.jboss.narayana}</versionx.org.jboss.narayana.jta.narayana-jta>
      <versionx.org.jboss.remoting.jboss-remoting>5.0.16.Final</versionx.org.jboss.remoting.jboss-remoting>
      <versionx.org.jboss.remotingjmx.remoting-jmx>3.0.3.Final</versionx.org.jboss.remotingjmx.remoting-jmx>
      <versionx.org.jboss.security.jboss-negotiation-extras>${version.jboss.security}</versionx.org.jboss.security.jboss-negotiation-extras>
      <versionx.org.jboss.shrinkwrap.depchain>${version.jboss.shrinkwrap}</versionx.org.jboss.shrinkwrap.depchain>
      <versionx.org.jboss.shrinkwrap.descriptors.shrinkwrap-descriptors-impl-javaee>${version.jboss.shrinkwrap.descriptors}</versionx.org.jboss.shrinkwrap.descriptors.shrinkwrap-descriptors-impl-javaee>
      <versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-api>${version.jboss.shrinkwrap.resolver}</versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-api>
      <versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-api-maven>${version.jboss.shrinkwrap.resolver}</versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-api-maven>
      <versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-depchain>${version.jboss.shrinkwrap.resolver}</versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-depchain>
      <versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-impl-maven>${version.jboss.shrinkwrap.resolver}</versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-impl-maven>
      <versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-impl-maven-archive>${version.jboss.shrinkwrap.resolver}</versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-impl-maven-archive>
      <versionx.org.jboss.spec.javax.ejb.jboss-ejb-api_3.2_spec>2.0.0.Final</versionx.org.jboss.spec.javax.ejb.jboss-ejb-api_3.2_spec>
      <versionx.org.jboss.spec.javax.jms.jboss-jms-api_2.0_spec>2.0.0.Final</versionx.org.jboss.spec.javax.jms.jboss-jms-api_2.0_spec>
      <versionx.org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec>1.1.1.Final</versionx.org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec>
      <versionx.org.jboss.spec.jboss-javaee-7.0>1.0.2.Final</versionx.org.jboss.spec.jboss-javaee-7.0>
      <versionx.org.jboss.threads.jboss-threads>2.3.3.Final</versionx.org.jboss.threads.jboss-threads>
      <versionx.org.jboss.weld.se.weld-se-core>3.1.2.Final</versionx.org.jboss.weld.se.weld-se-core>
      <versionx.org.jboss.weld.weld-core-impl>3.1.2.Final</versionx.org.jboss.weld.weld-core-impl>
      <versionx.org.jboss.weld.weld-api>3.1.SP1</versionx.org.jboss.weld.weld-api>
      <versionx.org.jboss.xnio.xnio-api>${version.jboss.xnio}</versionx.org.jboss.xnio.xnio-api>
      <versionx.org.jboss.xnio.xnio-nio>${version.jboss.xnio}</versionx.org.jboss.xnio.xnio-nio>
      <versionx.org.jgroups.aws.s3.native-s3-ping>0.9.5.Final</versionx.org.jgroups.aws.s3.native-s3-ping>
      <versionx.org.jgroups.azure.jgroups-azure>1.2.1.Final</versionx.org.jgroups.azure.jgroups-azure>
      <versionx.org.jgroups.jgroups>${version.jgroups}</versionx.org.jgroups.jgroups>
      <versionx.org.jgroups.kubernetes.jgroups-kubernetes>1.0.13.Final</versionx.org.jgroups.kubernetes.jgroups-kubernetes>
      <versionx.org.jsoup>1.9.2</versionx.org.jsoup>
      <versionx.org.kohsuke.metainf-services.metainf-services>${version.metainf-services}</versionx.org.kohsuke.metainf-services.metainf-services>
      <versionx.org.latencyutils.LatencyUtils>2.0.2</versionx.org.latencyutils.LatencyUtils>
      <versionx.org.mockito.mockito-core>${version.mockito}</versionx.org.mockito.mockito-core>
      <versionx.org.objectweb.howl.howl>1.0.1-1</versionx.org.objectweb.howl.howl>
      <versionx.org.openjdk.jmh.jmh-core>${version.openjdk.jmh}</versionx.org.openjdk.jmh.jmh-core>
      <versionx.org.openjdk.jmh.jmh-generator-annprocess>${version.openjdk.jmh}</versionx.org.openjdk.jmh.jmh-generator-annprocess>
      <versionx.org.picketlink.picketlink-api>${version.picketlink}</versionx.org.picketlink.picketlink-api>
      <versionx.org.reactivestreams.reactive-streams>${version.reactivestreams}</versionx.org.reactivestreams.reactive-streams>
      <versionx.org.rocksdb.rocksdbjni>${version.rocksdb}</versionx.org.rocksdb.rocksdbjni>
      <versionx.org.springframework.boot.spring-boot-starter>${version.spring.boot}</versionx.org.springframework.boot.spring-boot-starter>
      <versionx.org.springframework.boot.spring-boot-starter-security>${version.spring.boot}</versionx.org.springframework.boot.spring-boot-starter-security>
      <versionx.org.springframework.boot.spring-boot-starter-test>${version.spring.boot}</versionx.org.springframework.boot.spring-boot-starter-test>
      <versionx.org.springframework.boot.spring-boot-starter-web>${version.spring.boot}</versionx.org.springframework.boot.spring-boot-starter-web>
      <versionx.org.springframework.boot.spring-boot-starter-log4j2>${version.spring.boot}</versionx.org.springframework.boot.spring-boot-starter-log4j2>
      <versionx.org.springframework.boot.spring-boot-configuration-processor>${version.spring.boot}</versionx.org.springframework.boot.spring-boot-configuration-processor>
      <versionx.org.springframework.boot.spring-boot-starter-actuator>${version.spring.boot}</versionx.org.springframework.boot.spring-boot-starter-actuator>
      <versionx.org.springframework.boot.spring-boot-autoconfigure-processor>${version.spring.boot}</versionx.org.springframework.boot.spring-boot-autoconfigure-processor>
      <versionx.org.springframework.session.spring-session>${version.spring.session}</versionx.org.springframework.session.spring-session>
      <versionx.org.springframework.spring-beans>${version.spring5}</versionx.org.springframework.spring-beans>
      <versionx.org.springframework.spring-context>${version.spring5}</versionx.org.springframework.spring-context>
      <versionx.org.springframework.spring-context-support>${version.spring5}</versionx.org.springframework.spring-context-support>
      <versionx.org.springframework.spring-core>${version.spring5}</versionx.org.springframework.spring-core>
      <versionx.org.springframework.spring-expression>${version.spring5}</versionx.org.springframework.spring-expression>
      <versionx.org.springframework.spring-jdbc>${version.spring5}</versionx.org.springframework.spring-jdbc>
      <versionx.org.springframework.spring-test>${version.spring5}</versionx.org.springframework.spring-test>
      <!-- Version 0.33.0 is not compatible -->
      <versionx.org.opentracing.api>0.31.0</versionx.org.opentracing.api>
      <versionx.io.jaegertracing.jaeger-client>1.5.0</versionx.io.jaegertracing.jaeger-client>
      <versionx.org.testcontainers.testcontainers>1.15.2</versionx.org.testcontainers.testcontainers>
      <versionx.io.jaegertracing.jaeger-testcontainers>0.7.0</versionx.io.jaegertracing.jaeger-testcontainers>
      <versionx.micrometer>${version.micrometer}</versionx.micrometer>
      <versionx.org.testng.testng>6.14.3</versionx.org.testng.testng>
      <versionx.org.twdata.maven.mojo-executor>2.3.1</versionx.org.twdata.maven.mojo-executor>
      <versionx.org.wildfly.arquillian.wildfly-arquillian-container-managed>${version.org.wildfly.arquillian}</versionx.org.wildfly.arquillian.wildfly-arquillian-container-managed>
      <versionx.org.wildfly.common.wildfly-common>1.5.1.Final</versionx.org.wildfly.common.wildfly-common>
      <versionx.org.wildfly.core.wildfly-core-testsuite-shared>${version.org.wildfly.core}</versionx.org.wildfly.core.wildfly-core-testsuite-shared>
      <versionx.org.wildfly.maven.plugins.licenses-plugin>2.1.0.Final</versionx.org.wildfly.maven.plugins.licenses-plugin>
      <versionx.org.wildfly.openssl.natives>${version.org.wildfly.openssl.natives}</versionx.org.wildfly.openssl.natives>
      <versionx.org.wildfly.openssl.wildfly-openssl-linux-x86_64>${versionx.org.wildfly.openssl.natives}</versionx.org.wildfly.openssl.wildfly-openssl-linux-x86_64>
      <versionx.org.wildfly.openssl.wildfly-openssl-macosx-x86_64>${versionx.org.wildfly.openssl.natives}</versionx.org.wildfly.openssl.wildfly-openssl-macosx-x86_64>
      <versionx.org.wildfly.openssl.wildfly-openssl-windows-x86_64>${versionx.org.wildfly.openssl.natives}</versionx.org.wildfly.openssl.wildfly-openssl-windows-x86_64>
      <versionx.org.wildfly.security.wildfly-elytron>${version.org.wildfly.elytron}</versionx.org.wildfly.security.wildfly-elytron>
      <versionx.org.yaml.snakeyaml>1.28</versionx.org.yaml.snakeyaml>
      <versionx.software.amazon.ion.java>1.0.2</versionx.software.amazon.ion.java>
      <versionx.sun.jdk.jconsole>jdk</versionx.sun.jdk.jconsole>
   </properties>

   <dependencyManagement>
      <dependencies>

         <!-- import infinispan bom -->
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-bom</artifactId>
            <version>${project.version}</version>
            <type>pom</type>
            <scope>import</scope>
         </dependency>

         <dependency>
            <groupId>ant-contrib</groupId>
            <artifactId>ant-contrib</artifactId>
            <version>${versionx.ant-contrib.ant-contrib}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-core</artifactId>
            <version>${versionx.com.amazonaws}</version>
         </dependency>
         <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-s3</artifactId>
            <version>${versionx.com.amazonaws}</version>
         </dependency>
         <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-kms</artifactId>
            <version>${versionx.com.amazonaws}</version>
         </dependency>
         <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>jmespath-java</artifactId>
            <version>${versionx.com.amazonaws}</version>
         </dependency>
         <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15to18</artifactId>
            <version>${versionx.com.bouncycastle}</version>
         </dependency>
         <dependency>
            <groupId>com.clearspring.analytics</groupId>
            <artifactId>stream</artifactId>
            <version>${versionx.com.clearspring.analytics.stream}</version>
         </dependency>
         <!-- Bump maven-core version. Dependency of org.twdata.maven:mojo-executor -->
         <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-core</artifactId>
            <version>${versionx.org.apache.maven.maven-core}</version>
         </dependency>
         <!-- Override dependency version to use the same version everywhere -->
         <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-utils</artifactId>
            <version>${versionx.org.codehaus.plexus.plexus-utils}</version>
         </dependency>
         <dependency>
            <groupId>com.esotericsoftware</groupId>
            <artifactId>kryo</artifactId>
            <version>${versionx.com.esotericsoftware.kryo}</version>
         </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>${versionx.com.fasterxml.jackson.core.jackson-annotations}</version>
         </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>${versionx.com.fasterxml.jackson.core.jackson-core}</version>
         </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${versionx.com.fasterxml.jackson.core.jackson-databind}</version>
         </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jdk8</artifactId>
            <version>${versionx.com.fasterxml.jackson.modules.jackson-modules-java8}</version>
         </dependency>
         <dependency>
            <groupId>com.github.ben-manes.caffeine</groupId>
            <artifactId>caffeine</artifactId>
            <version>${versionx.com.github.ben-manes.caffeine.caffeine}</version>
            <exclusions>
               <exclusion>
                  <groupId>org.checkerframework</groupId>
                  <artifactId>checker-qual</artifactId>
               </exclusion>
               <exclusion>
                  <groupId>com.google.errorprone</groupId>
                  <artifactId>error_prone_annotations</artifactId>
               </exclusion>
            </exclusions>
         </dependency>
         <dependency>
            <groupId>io.projectreactor.tools</groupId>
            <artifactId>blockhound</artifactId>
            <version>${version.blockhound}</version>
            <!-- compile-only dependency -->
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>com.google.errorprone</groupId>
            <artifactId>error_prone_annotations</artifactId>
            <version>${versionx.com.google.errorprone.error_prone_annotations}</version>
         </dependency>
         <!-- use the same Guava dependency everywhere -->
         <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>${versionx.com.google.guava.guava}</version>
         </dependency>
         <dependency>
            <groupId>com.google.testing.compile</groupId>
            <artifactId>compile-testing</artifactId>
            <version>${versionx.com.google.testing.compile}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>${versionx.com.h2database.h2}</version>
         </dependency>
         <dependency>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-storage</artifactId>
            <version>${versionx.com.microsoft.azure.azure-storage}</version>
         </dependency>
         <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>${versionx.com.puppycrawl.tools.checkstyle}</version>
         </dependency>
         <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>${versionx.com.squareup.okhttp3.ohhttp}</version>
         </dependency>
         <dependency>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
            <version>${versionx.com.sun.tools}</version>
         </dependency>
         <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>${versionx.com.thoughtworks.xstream.xstream}</version>
         </dependency>
         <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>${versionx.commons-dbcp.commons-dbcp}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>${versionx.commons-io.commons-io}</version>
         </dependency>
         <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>${versionx.commons-logging.commons-logging}</version>
            <scope>runtime</scope>
         </dependency>
         <dependency>
            <groupId>de.javakaffee</groupId>
            <artifactId>kryo-serializers</artifactId>
            <version>${versionx.de.javakaffee.kryo-serializers}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>gnu.getopt</groupId>
            <artifactId>java-getopt</artifactId>
            <version>${versionx.gnu.getopt.java-getopt}</version>
         </dependency>
         <dependency>
            <groupId>io.agroal</groupId>
            <artifactId>agroal-api</artifactId>
            <version>${version.io.agroal}</version>
         </dependency>
         <dependency>
            <groupId>io.agroal</groupId>
            <artifactId>agroal-pool</artifactId>
            <version>${version.io.agroal}</version>
         </dependency>
         <dependency>
            <groupId>io.fabric8</groupId>
            <artifactId>kubernetes-client</artifactId>
            <version>${versionx.io.fabric8.kubernetes-client}</version>
         </dependency>
         <dependency>
            <groupId>io.mashona</groupId>
            <artifactId>mashona-logwriting</artifactId>
            <version>${version.io.mashona}</version>
         </dependency>
         <dependency>
            <groupId>io.smallrye.config</groupId>
            <artifactId>smallrye-config</artifactId>
            <version>${version.smallrye-config}</version>
         </dependency>
         <dependency>
            <groupId>io.smallrye</groupId>
            <artifactId>smallrye-metrics</artifactId>
            <version>${version.smallrye-metrics}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-buffer</artifactId>
            <version>${versionx.io.netty.netty-buffer}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec</artifactId>
            <version>${versionx.io.netty.netty-codec}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec-http</artifactId>
            <version>${versionx.io.netty.netty-codec-http}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec-http2</artifactId>
            <version>${versionx.io.netty.netty-codec-http2}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-common</artifactId>
            <version>${versionx.io.netty.netty-common}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-handler</artifactId>
            <version>${versionx.io.netty.netty-handler}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-resolver</artifactId>
            <version>${versionx.io.netty.netty-resolver}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport</artifactId>
            <version>${versionx.io.netty.netty-transport}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport-native-epoll</artifactId>
            <version>${versionx.io.netty.netty-transport-native-epoll}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport-native-epoll</artifactId>
            <version>${versionx.io.netty.netty-transport-native-epoll}</version>
            <classifier>linux-x86_64</classifier>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-transport-native-unix-common</artifactId>
            <version>${versionx.io.netty.netty-transport-native-unix-common}</version>
         </dependency>
         <dependency>
            <groupId>io.protostuff</groupId>
            <artifactId>protostuff-collectionschema</artifactId>
            <version>${versionx.io.protostuff.protostuff-collectionschema}</version>
         </dependency>
         <dependency>
            <groupId>io.protostuff</groupId>
            <artifactId>protostuff-core</artifactId>
            <version>${versionx.io.protostuff.protostuff-core}</version>
         </dependency>
         <dependency>
            <groupId>io.protostuff</groupId>
            <artifactId>protostuff-runtime</artifactId>
            <version>${versionx.io.protostuff.protostuff-runtime}</version>
         </dependency>
         <dependency>
            <groupId>io.protostuff</groupId>
            <artifactId>protostuff-runtime-registry</artifactId>
            <version>${versionx.io.protostuff.protostuff-runtime-registry}</version>
         </dependency>
         <dependency>
            <groupId>io.reactivex.rxjava3</groupId>
            <artifactId>rxjava</artifactId>
            <version>${versionx.io.reactivex.rxjava3.rxjava}</version>
         </dependency>
         <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>${versionx.javax.activation.activation}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <version>${versionx.javax.annotation.javax.annotation-api}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>javax.cache</groupId>
            <artifactId>cache-api</artifactId>
            <version>${versionx.javax.cache.cache-api}</version>
         </dependency>
         <dependency>
            <groupId>javax.cache</groupId>
            <artifactId>cache-tests</artifactId>
            <version>${versionx.javax.cache.cache-tests}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>javax.cache</groupId>
            <artifactId>cache-tests</artifactId>
            <version>${versionx.javax.cache.cache-tests}</version>
            <scope>test</scope>
            <classifier>tests</classifier>
         </dependency>
         <dependency>
            <groupId>javax.cache</groupId>
            <artifactId>cdi-weld-annotations-test-harness</artifactId>
            <version>${versionx.javax.cache.cdi-weld-annotations-test-harness}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>javax.enterprise</groupId>
            <artifactId>cdi-api</artifactId>
            <version>${versionx.javax.enterprise.cdi-api}</version>
         </dependency>
         <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>${versionx.javax.inject.javax.inject}</version>
         </dependency>
         <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>javax.persistence-api</artifactId>
            <version>${versionx.javax.persistence.javax.persistence-api}</version>
         </dependency>
         <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${versionx.junit.junit}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>${versionx.junit.junit5}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${versionx.junit.junit5}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
            <version>${versionx.junit.junit5}</version>
         </dependency>
         <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${versionx.mysql.mysql-connector-java}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>net.jcip</groupId>
            <artifactId>jcip-annotations</artifactId>
            <version>${version.jcip-annotations}</version>
         </dependency>
         <dependency>
            <groupId>net.spy</groupId>
            <artifactId>spymemcached</artifactId>
            <version>${versionx.net.spy.spymemcached}</version>
         </dependency>
         <dependency>
            <groupId>org.aesh</groupId>
            <artifactId>aesh</artifactId>
            <version>${versionx.org.aesh.aesh}</version>
         </dependency>
         <dependency>
            <groupId>org.antlr</groupId>
            <artifactId>antlr-runtime</artifactId>
            <version>${versionx.org.antlr.antlr-runtime}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
            <version>${versionx.org.apache.ant.ant}</version>
            <scope>provided</scope>
         </dependency>
         <!-- Dependency of org.hibernate:hibernate-search-serialization-avro. Overwrite version to 1.9.1 -->
         <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro</artifactId>
            <version>${versionx.org.apache.avro.avro}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${versionx.org.apache.commons.commons-lang3}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-math</artifactId>
            <version>${versionx.org.apache.commons.commons-math}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.directory.server</groupId>
            <artifactId>apacheds-all</artifactId>
            <version>${versionx.org.apache.directory.server.apacheds-all}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.geronimo.components</groupId>
            <artifactId>geronimo-transaction</artifactId>
            <version>${versionx.org.apache.geronimo.components.geronimo-transaction}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>${versionx.org.apache.logging.log4j.log4j-api}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${versionx.org.apache.logging.log4j.log4j-core}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>${versionx.org.apache.logging.log4j.log4j-slf4j-impl}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-jul</artifactId>
            <version>${versionx.org.apache.logging.log4j.log4j-jul}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-analyzers-common</artifactId>
            <version>${versionx.org.apache.lucene.lucene-analyzers-common}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-core</artifactId>
            <version>${versionx.org.apache.lucene.lucene-core}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-facet</artifactId>
            <version>${versionx.org.apache.lucene.lucene-facet}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-grouping</artifactId>
            <version>${versionx.org.apache.lucene.lucene-grouping}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-join</artifactId>
            <version>${versionx.org.apache.lucene.lucene-join}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-misc</artifactId>
            <version>${versionx.org.apache.lucene.lucene-misc}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-queryparser</artifactId>
            <version>${versionx.org.apache.lucene.lucene-queryparser}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.maven.plugin-tools</groupId>
            <artifactId>maven-plugin-annotations</artifactId>
            <version>${versionx.org.apache.maven.plugin-tools.maven-plugin-annotations}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${versionx.org.aspectj.aspectjweaver}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <version>${versionx.org.assertj.assertj-core}</version>
            <scope>test</scope>
         </dependency>
         <!-- Dependency of org.hibernate:hibernate-core. Overwrite verison to 2.1.3 -->
         <dependency>
            <groupId>org.dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>${versionx.org.dom4j.dom4j}</version>
         </dependency>
         <dependency>
            <groupId>org.eclipse.microprofile.config</groupId>
            <artifactId>microprofile-config-api</artifactId>
            <version>${version.microprofile-config-api}</version>
            <exclusions>
               <exclusion>
                  <groupId>org.osgi</groupId>
                  <artifactId>org.osgi.annotation.versioning</artifactId>
               </exclusion>
            </exclusions>
         </dependency>
         <dependency>
            <groupId>org.eclipse.microprofile.metrics</groupId>
            <artifactId>microprofile-metrics-api</artifactId>
            <version>${version.microprofile-metrics-api}</version>
            <exclusions>
               <exclusion>
                  <groupId>org.osgi</groupId>
                  <artifactId>org.osgi.annotation.versioning</artifactId>
               </exclusion>
            </exclusions>
         </dependency>
         <dependency>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
            <version>${versionx.org.glassfish.jaxb.jaxb-runtime}</version>
         </dependency>
         <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>javax.json</artifactId>
            <version>${version.glassfish.json}</version>
         </dependency>
         <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>${versionx.org.hamcrest.hamcrest-core}</version>
         </dependency>
         <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
            <version>${versionx.org.hamcrest.hamcrest-library}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${versionx.org.hibernate.hibernate-core}</version>
         </dependency>
         <dependency>
            <groupId>org.hibernate.search</groupId>
            <artifactId>hibernate-search-backend-lucene</artifactId>
            <version>${versionx.org.hibernate.search.hibernate-search-backend-lucene}</version>
         </dependency>
         <dependency>
            <groupId>org.hibernate.search</groupId>
            <artifactId>hibernate-search-mapper-pojo-base</artifactId>
            <version>${versionx.org.hibernate.search.hibernate-search-mapper-pojo-base}</version>
         </dependency>
         <dependency>
            <groupId>org.hibernate.search</groupId>
            <artifactId>hibernate-search-v5migrationhelper-engine</artifactId>
            <version>${versionx.org.hibernate.search.hibernate-search-mapper-pojo-base}</version>
         </dependency>
         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-testing</artifactId>
            <version>${versionx.org.hibernate.hibernate-testing}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.hibernate.common</groupId>
            <artifactId>hibernate-commons-annotations</artifactId>
            <version>${versionx.org.hibernate.common.hibernate-commons-annotations}</version>
         </dependency>
         <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>${versionx.org.hibernate.javax.persistence.hibernate-jpa-2.1-api}</version>
         </dependency>
         <dependency>
            <groupId>org.hibernate.lucene-jbossmodules</groupId>
            <artifactId>lucene-jbossmodules</artifactId>
            <version>${versionx.org.hibernate.lucene-jbossmodules.lucene-jbossmodules}</version>
            <type>zip</type>
         </dependency>
         <dependency>
            <groupId>org.infinispan.arquillian.container</groupId>
            <artifactId>infinispan-arquillian-impl</artifactId>
            <version>${version.infinispan.arquillian}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-cachestore-jdbc</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-cli</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-client-hotrod</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-commons</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-commons-jdk11</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-commons-loom</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-component-processor</artifactId>
            <version>${version.infinispan}</version>
            <!-- compile-only dependency -->
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-console</artifactId>
            <version>${version.console}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-core</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-jcache-commons</artifactId>
            <version>${version.infinispan}</version>
            <type>test-jar</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-scripting</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-security-integrationtests</artifactId>
            <version>${version.infinispan}</version>
            <classifier>tests</classifier>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-core</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-hotrod</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-memcached</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-rest</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-runtime</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-router</artifactId>
            <version>${project.version}</version>
            <type>test-jar</type>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-testdriver-core</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-testdriver-junit4</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-testdriver-junit5</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-spring5-common</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-spring5-embedded</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-spring5-remote</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-spring-boot-starter-embedded</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-spring-boot-starter-remote</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-query</artifactId>
            <version>${version.infinispan}</version>
            <classifier>tests</classifier>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-query</artifactId>
            <version>${version.infinispan}</version>
            <type>test-jar</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-cdi-embedded</artifactId>
            <version>${version.infinispan}</version>
            <type>test-jar</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-cachestore-jpa</artifactId>
            <version>${version.infinispan}</version>
            <type>test-jar</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-hibernate-cache-commons</artifactId>
            <version>${version.infinispan}</version>
            <type>test-jar</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-hibernate-cache-commons</artifactId>
            <version>${version.infinispan}</version>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-server-integrationtests-commons</artifactId>
            <version>${version.infinispan}</version>
            <type>test-jar</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-endpoint-interop-it</artifactId>
            <version>${version.infinispan}</version>
            <type>test-jar</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-marshaller-tests</artifactId>
            <version>${version.infinispan}</version>
            <type>test-jar</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan.protostream</groupId>
            <artifactId>protostream-processor</artifactId>
            <version>${version.protostream}</version>
            <!-- compile-only dependency -->
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan.protostream</groupId>
            <artifactId>sample-domain-definition</artifactId>
            <version>${version.protostream}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.infinispan.protostream</groupId>
            <artifactId>sample-domain-implementation</artifactId>
            <version>${version.protostream}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jacoco</groupId>
            <artifactId>org.jacoco.agent</artifactId>
            <version>${versionx.org.jacoco.org.jacoco.agent}</version>
            <scope>test</scope>
            <classifier>runtime</classifier>
         </dependency>
         <dependency>
            <groupId>org.jboss</groupId>
            <artifactId>jboss-common-core</artifactId>
            <version>${versionx.org.jboss.jboss-common-core}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss</groupId>
            <artifactId>jboss-transaction-spi</artifactId>
            <version>${versionx.org.jboss.jboss-transaction-spi}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-weld-embedded</artifactId>
            <version>${versionx.org.jboss.arquillian.container.arquillian-weld-embedded}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.arquillian.junit</groupId>
            <artifactId>arquillian-junit-container</artifactId>
            <version>${versionx.org.jboss.arquillian.junit.arquillian-junit-container}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.arquillian.testng</groupId>
            <artifactId>arquillian-testng-container</artifactId>
            <version>${versionx.org.jboss.arquillian.testng.arquillian-testng-container}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.byteman</groupId>
            <artifactId>byteman</artifactId>
            <version>${versionx.org.jboss.byteman.byteman}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.byteman</groupId>
            <artifactId>byteman-bmunit</artifactId>
            <version>${versionx.org.jboss.byteman.byteman-bmunit}</version>
            <scope>test</scope>
         </dependency>
         <!-- for some reason, without byteman-install and byteman-submit declared here, the hibernate cache module fails to compile... -->
         <dependency>
            <groupId>org.jboss.byteman</groupId>
            <artifactId>byteman-install</artifactId>
            <version>${versionx.org.jboss.byteman.byteman-install}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.byteman</groupId>
            <artifactId>byteman-submit</artifactId>
            <version>${versionx.org.jboss.byteman.byteman-submit}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
            <version>${versionx.org.jboss.logging.jboss-logging}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-processor</artifactId>
            <version>${versionx.org.jboss.logging.jboss-logging-processor}</version>
            <!-- compile-only dependency -->
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.marshalling</groupId>
            <artifactId>jboss-marshalling</artifactId>
            <version>${versionx.org.jboss.marshalling.jboss-marshalling}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.marshalling</groupId>
            <artifactId>jboss-marshalling-osgi</artifactId>
            <version>${versionx.org.jboss.marshalling.jboss-marshalling-osgi}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.marshalling</groupId>
            <artifactId>jboss-marshalling-river</artifactId>
            <version>${versionx.org.jboss.marshalling.jboss-marshalling-river}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.naming</groupId>
            <artifactId>jnp-client</artifactId>
            <version>${versionx.org.jboss.naming.jnp-client}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.naming</groupId>
            <artifactId>jnpserver</artifactId>
            <version>${versionx.org.jboss.naming.jnpserver}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.narayana.jta</groupId>
            <artifactId>narayana-jta</artifactId>
            <version>${versionx.org.jboss.narayana.jta.narayana-jta}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.remoting</groupId>
            <artifactId>jboss-remoting</artifactId>
            <version>${versionx.org.jboss.remoting.jboss-remoting}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.remotingjmx</groupId>
            <artifactId>remoting-jmx</artifactId>
            <version>${versionx.org.jboss.remotingjmx.remoting-jmx}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.security</groupId>
            <artifactId>jboss-negotiation-extras</artifactId>
            <version>${versionx.org.jboss.security.jboss-negotiation-extras}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.shrinkwrap</groupId>
            <artifactId>shrinkwrap-depchain</artifactId>
            <version>${versionx.org.jboss.shrinkwrap.depchain}</version>
            <type>pom</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.shrinkwrap.descriptors</groupId>
            <artifactId>shrinkwrap-descriptors-impl-javaee</artifactId>
            <version>${versionx.org.jboss.shrinkwrap.descriptors.shrinkwrap-descriptors-impl-javaee}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-api</artifactId>
            <version>${versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-api}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-api-maven</artifactId>
            <version>${versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-api-maven}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-depchain</artifactId>
            <version>${versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-depchain}</version>
            <type>pom</type>
         </dependency>
         <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
            <version>${versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-impl-maven}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-impl-maven-archive</artifactId>
            <version>${versionx.org.jboss.shrinkwrap.resolver.shrinkwrap-resolver-impl-maven-archive}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.spec</groupId>
            <artifactId>jboss-javaee-7.0</artifactId>
            <version>${versionx.org.jboss.spec.jboss-javaee-7.0}</version>
            <type>pom</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.spec.javax.ejb</groupId>
            <artifactId>jboss-ejb-api_3.2_spec</artifactId>
            <version>${versionx.org.jboss.spec.javax.ejb.jboss-ejb-api_3.2_spec}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.spec.javax.jms</groupId>
            <artifactId>jboss-jms-api_2.0_spec</artifactId>
            <version>${versionx.org.jboss.spec.javax.jms.jboss-jms-api_2.0_spec}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.spec.javax.transaction</groupId>
            <artifactId>jboss-transaction-api_1.2_spec</artifactId>
            <version>${versionx.org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.threads</groupId>
            <artifactId>jboss-threads</artifactId>
            <version>${versionx.org.jboss.threads.jboss-threads}</version>
         </dependency>
         <!-- cdi-weld-annotations-test-harness requests weld-api and weld-spi, override the versions to match the impl -->
         <dependency>
            <groupId>org.jboss.weld</groupId>
            <artifactId>weld-api</artifactId>
            <version>${versionx.org.jboss.weld.weld-api}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.weld</groupId>
            <artifactId>weld-spi</artifactId>
            <version>${versionx.org.jboss.weld.weld-api}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.weld</groupId>
            <artifactId>weld-core-impl</artifactId>
            <version>${versionx.org.jboss.weld.weld-core-impl}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.weld.se</groupId>
            <artifactId>weld-se-core</artifactId>
            <version>${versionx.org.jboss.weld.se.weld-se-core}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.xnio</groupId>
            <artifactId>xnio-api</artifactId>
            <version>${versionx.org.jboss.xnio.xnio-api}</version>
         </dependency>
         <dependency>
            <groupId>org.jboss.xnio</groupId>
            <artifactId>xnio-nio</artifactId>
            <version>${versionx.org.jboss.xnio.xnio-nio}</version>
         </dependency>
         <dependency>
            <groupId>org.jgroups</groupId>
            <artifactId>jgroups</artifactId>
            <version>${versionx.org.jgroups.jgroups}</version>
         </dependency>
         <dependency>
            <groupId>org.jgroups.aws.s3</groupId>
            <artifactId>native-s3-ping</artifactId>
            <version>${versionx.org.jgroups.aws.s3.native-s3-ping}</version>
         </dependency>
         <dependency>
            <groupId>org.jgroups.azure</groupId>
            <artifactId>jgroups-azure</artifactId>
            <version>${versionx.org.jgroups.azure.jgroups-azure}</version>
         </dependency>
         <dependency>
            <groupId>org.jgroups.kubernetes</groupId>
            <artifactId>jgroups-kubernetes</artifactId>
            <version>${versionx.org.jgroups.kubernetes.jgroups-kubernetes}</version>
         </dependency>
         <!-- Force this jsoup version -->
         <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>${versionx.org.jsoup}</version>
         </dependency>
         <dependency>
            <groupId>org.kohsuke.metainf-services</groupId>
            <artifactId>metainf-services</artifactId>
            <version>${versionx.org.kohsuke.metainf-services.metainf-services}</version>
            <!-- compile-only dependency -->
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.latencyutils</groupId>
            <artifactId>LatencyUtils</artifactId>
            <version>${versionx.org.latencyutils.LatencyUtils}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${versionx.org.mockito.mockito-core}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.objectweb.howl</groupId>
            <artifactId>howl</artifactId>
            <version>${versionx.org.objectweb.howl.howl}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-core</artifactId>
            <version>${versionx.org.openjdk.jmh.jmh-core}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-generator-annprocess</artifactId>
            <version>${versionx.org.openjdk.jmh.jmh-generator-annprocess}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.reactivestreams</groupId>
            <artifactId>reactive-streams</artifactId>
            <version>${versionx.org.reactivestreams.reactive-streams}</version>
         </dependency>
         <dependency>
            <groupId>org.rocksdb</groupId>
            <artifactId>rocksdbjni</artifactId>
            <version>${versionx.org.rocksdb.rocksdbjni}</version>
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${versionx.org.springframework.spring-beans}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${versionx.org.springframework.spring-context}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${versionx.org.springframework.spring-context-support}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${versionx.org.springframework.spring-core}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>${versionx.org.springframework.spring-expression}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${versionx.org.springframework.spring-jdbc}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${versionx.org.springframework.spring-test}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>${versionx.org.springframework.boot.spring-boot-starter}</version>
            <scope>test</scope>
            <exclusions>
               <exclusion>
                  <!-- exclude logback -->
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-logging</artifactId>
               </exclusion>
            </exclusions>
         </dependency>
         <!-- use log4j2 for logging in spring boot starter tests -->
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
            <version>${versionx.org.springframework.boot.spring-boot-starter-log4j2}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
            <version>${versionx.org.springframework.boot.spring-boot-starter-security}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>${versionx.org.springframework.boot.spring-boot-starter-test}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>${versionx.org.springframework.boot.spring-boot-starter-web}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <version>${versionx.org.springframework.boot.spring-boot-configuration-processor}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
            <version>${versionx.org.springframework.boot.spring-boot-starter-actuator}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure-processor</artifactId>
            <version>${versionx.org.springframework.boot.spring-boot-autoconfigure-processor}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-core</artifactId>
            <version>${versionx.org.springframework.session.spring-session}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-test</artifactId>
            <version>${versionx.micrometer}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>io.opentracing</groupId>
            <artifactId>opentracing-api</artifactId>
            <version>${versionx.org.opentracing.api}</version>
         </dependency>
         <dependency>
            <groupId>io.opentracing</groupId>
            <artifactId>opentracing-noop</artifactId>
            <version>${versionx.org.opentracing.api}</version>
         </dependency>
         <dependency>
            <groupId>io.jaegertracing</groupId>
            <artifactId>jaeger-core</artifactId>
            <version>${versionx.io.jaegertracing.jaeger-client}</version>
         </dependency>
         <dependency>
            <groupId>io.jaegertracing</groupId>
            <artifactId>jaeger-thrift</artifactId>
            <version>${versionx.io.jaegertracing.jaeger-client}</version>
         </dependency>
         <dependency>
            <groupId>io.jaegertracing</groupId>
            <artifactId>jaeger-tracerresolver</artifactId>
            <version>${versionx.io.jaegertracing.jaeger-client}</version>
         </dependency>
         <dependency>
            <groupId>io.jaegertracing</groupId>
            <artifactId>jaeger-testcontainers</artifactId>
            <version>${versionx.io.jaegertracing.jaeger-testcontainers}</version>
         </dependency>
         <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>testcontainers</artifactId>
            <version>${versionx.org.testcontainers.testcontainers}</version>
         </dependency>
         <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>${versionx.org.testng.testng}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.twdata.maven</groupId>
            <artifactId>mojo-executor</artifactId>
            <version>${versionx.org.twdata.maven.mojo-executor}</version>
         </dependency>
         <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl-java</artifactId>
            <version>${version.org.wildfly.openssl}</version>
         </dependency>
         <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl</artifactId>
            <version>${version.org.wildfly.openssl}</version>
         </dependency>
         <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl-linux-x86_64</artifactId>
            <version>${versionx.org.wildfly.openssl.wildfly-openssl-linux-x86_64}</version>
         </dependency>
         <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl-macosx-x86_64</artifactId>
            <version>${versionx.org.wildfly.openssl.wildfly-openssl-macosx-x86_64}</version>
         </dependency>
         <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl-windows-x86_64</artifactId>
            <version>${versionx.org.wildfly.openssl.wildfly-openssl-windows-x86_64}</version>
         </dependency>
         <dependency>
            <groupId>org.wildfly.arquillian</groupId>
            <artifactId>wildfly-arquillian-container-managed</artifactId>
            <version>${versionx.org.wildfly.arquillian.wildfly-arquillian-container-managed}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.wildfly.common</groupId>
            <artifactId>wildfly-common</artifactId>
            <version>${versionx.org.wildfly.common.wildfly-common}</version>
         </dependency>
         <dependency>
            <groupId>org.wildfly.core</groupId>
            <artifactId>wildfly-core-testsuite-shared</artifactId>
            <version>${versionx.org.wildfly.core.wildfly-core-testsuite-shared}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron</artifactId>
            <version>${versionx.org.wildfly.security.wildfly-elytron}</version>
         </dependency>
         <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>${versionx.org.yaml.snakeyaml}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>software.amazon.ion</groupId>
            <artifactId>ion-java</artifactId>
            <version>${versionx.software.amazon.ion.java}</version>
         </dependency>
         <dependency>
            <groupId>sun.jdk</groupId>
            <artifactId>jconsole</artifactId>
            <version>${versionx.sun.jdk.jconsole}</version>
         </dependency>
      </dependencies>
   </dependencyManagement>

   <dependencies>
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-component-annotations</artifactId>
      </dependency>

      <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-core</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-jul</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>net.jcip</groupId>
         <artifactId>jcip-annotations</artifactId>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>org.jboss</groupId>
         <artifactId>jboss-transaction-spi</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.narayana.jta</groupId>
         <artifactId>narayana-jta</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.logging</groupId>
         <artifactId>jboss-logging-processor</artifactId>
      </dependency>
      <dependency>
         <groupId>javax.annotation</groupId>
         <artifactId>javax.annotation-api</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.jacoco</groupId>
         <artifactId>org.jacoco.agent</artifactId>
         <classifier>runtime</classifier>
         <scope>test</scope>
      </dependency>
   </dependencies>

   <build>
      <directory>${buildDirectory}</directory>
      <extensions>
         <extension>
            <groupId>kr.motd.maven</groupId>
            <artifactId>os-maven-plugin</artifactId>
         </extension>
      </extensions>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-source-plugin</artifactId>
               <version>${version.maven.source}</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-plugin-plugin</artifactId>
               <version>${version.maven-plugin-plugin}</version>
            </plugin>
            <plugin>
               <groupId>org.wildfly.build</groupId>
               <artifactId>wildfly-server-provisioning-maven-plugin</artifactId>
               <version>${version.org.wildfly.build-tools}</version>
            </plugin>
            <plugin>
               <groupId>org.antlr</groupId>
               <artifactId>antlr3-maven-plugin</artifactId>
               <version>${version.maven.antlr3}</version>
               <executions>
                  <execution>
                     <goals>
                        <goal>antlr</goal>
                     </goals>
                  </execution>
               </executions>
               <dependencies>
                  <dependency>
                     <groupId>org.antlr</groupId>
                     <artifactId>antlr</artifactId>
                     <version>${version.antlr3}</version>
                  </dependency>
               </dependencies>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-clean-plugin</artifactId>
               <version>2.6.1</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-install-plugin</artifactId>
               <version>2.5.2</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-help-plugin</artifactId>
               <version>2.1.1</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-deploy-plugin</artifactId>
               <version>2.8.1</version>
            </plugin>
            <plugin>
               <artifactId>maven-scm-plugin</artifactId>
               <version>1.9.5</version>
               <configuration>
                  <tag>${project.version}</tag>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>versions-maven-plugin</artifactId>
               <version>${versionx.org.codehaus.mojo.versions-maven-plugin}</version>
               <configuration>
                  <generateBackupPoms>false</generateBackupPoms>
                  <processAllModules>true</processAllModules>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.sonatype.plugins</groupId>
               <artifactId>nexus-staging-maven-plugin</artifactId>
               <version>1.6.8</version>
               <configuration>
                  <autoReleaseAfterClose>false</autoReleaseAfterClose>
                  <stagingDescription>${infinispan.brand.name} ${project.version} release</stagingDescription>
                  <nexusUrl>${jboss.releases.nexus.url}</nexusUrl>
                  <serverId>${jboss.releases.repo.id}</serverId>
                  <stagingProfileId>2161b7b8da0080</stagingProfileId>
                  <stagingRepositoryId>${stagingRepositoryId}</stagingRepositoryId>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-antrun-plugin</artifactId>
               <version>${version.maven.antrun}</version>
               <dependencies>
                  <dependency>
                     <groupId>org.apache.ant</groupId>
                     <artifactId>ant</artifactId>
                     <version>${version.ant}</version>
                  </dependency>
                  <dependency>
                     <groupId>org.apache.ant</groupId>
                     <artifactId>ant-jsch</artifactId>
                     <version>${version.ant}</version>
                  </dependency>
                  <dependency>
                     <groupId>org.codehaus.groovy</groupId>
                     <artifactId>groovy-all</artifactId>
                     <version>${version.groovy}</version>
                  </dependency>
               </dependencies>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-assembly-plugin</artifactId>
               <version>3.3.0</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-dependency-plugin</artifactId>
               <version>3.1.1</version>
            </plugin>
            <plugin>
               <groupId>org.apache.servicemix.tooling</groupId>
               <artifactId>depends-maven-plugin</artifactId>
               <version>1.2</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-failsafe-plugin</artifactId>
               <version>${version.maven.surefire}</version>
               <configuration>
                  <systemPropertyVariables>
                     <log4j.configurationFile>${log4j.configurationFile}</log4j.configurationFile>
                     <!-- Force all loggers to use a single context -->
                     <log4j2.contextSelector>org.apache.logging.log4j.core.selector.BasicContextSelector</log4j2.contextSelector>
                     <!-- Bridge java.util.logging to Log4j2 -->
                     <java.util.logging.manager>org.apache.logging.log4j.jul.LogManager</java.util.logging.manager>
                     <!-- Use the same configuration in Spring Boot -->
                     <logging.config>${log4j.configurationFile}</logging.config>
                     <!-- this is picked up in log4j2.xml, which adds it to each module's log file name-->
                     <infinispan.module-suffix>${infinispan.module-suffix}</infinispan.module-suffix>
                     <ansi.strip>${ansi.strip}</ansi.strip>
                     <com.arjuna.ats.arjuna.common.propertiesFile>test-jbossts-properties.xml</com.arjuna.ats.arjuna.common.propertiesFile>
                  </systemPropertyVariables>
                  <argLine>${forkJvmArgs} ${testjvm.jdkSpecificArgs}</argLine>
                  <!-- Use TCP for plugin <-> fork JVM communication -->
                  <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>
                  <!-- Disable modular classpath -->
                  <useModulePath>false</useModulePath>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-javadoc-plugin</artifactId>
               <version>${version.maven.javadoc}</version>
               <configuration>
                  <!--
                  The javadoc plugin only runs in the javadoc and rhq-plugin modules.
                  But with the default configuration it tries to run a new maven instance
                  in every dependency, in order to generate the apidocs there as well.
                  (http://maven.apache.org/plugins-archives/maven-javadoc-plugin-2.10.3/javadoc-mojo.html#detectOfflineLinks)
                  -->
                  <detectOfflineLinks>false</detectOfflineLinks>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-resources-plugin</artifactId>
               <version>${version.maven.resources}</version>
               <configuration>
                  <encoding>UTF-8</encoding>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-pmd-plugin</artifactId>
               <!-- See also reporting plugins -->
               <version>3.13.0</version>
               <configuration>
                  <minimumTokens>100</minimumTokens>
                  <targetJdk>${version.java}</targetJdk>
                  <linkXRef>false</linkXRef>
                  <sourceEncoding>utf-8</sourceEncoding>
                  <printFailingErrors>true</printFailingErrors>
                  <excludeRoots>
                     <excludeRoot>target/generated-sources</excludeRoot>
                  </excludeRoots>
               </configuration>
               <dependencies>
                  <dependency>
                     <groupId>net.sourceforge.pmd</groupId>
                     <artifactId>pmd-core</artifactId>
                     <version>${versionx.net.sourceforge.pmd}</version>
                  </dependency>
                  <dependency>
                     <groupId>net.sourceforge.pmd</groupId>
                     <artifactId>pmd-java</artifactId>
                     <version>${versionx.net.sourceforge.pmd}</version>
                  </dependency>
                  <dependency>
                     <groupId>net.sourceforge.pmd</groupId>
                     <artifactId>pmd-javascript</artifactId>
                     <version>${versionx.net.sourceforge.pmd}</version>
                  </dependency>
                  <dependency>
                     <groupId>net.sourceforge.pmd</groupId>
                     <artifactId>pmd-jsp</artifactId>
                     <version>${versionx.net.sourceforge.pmd}</version>
                  </dependency>
               </dependencies>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-shade-plugin</artifactId>
               <version>${version.maven.shade}</version>
               <!--dependencies>
                  <dependency>
                     <groupId>org.ow2.asm</groupId>
                     <artifactId>asm</artifactId>
                     <version>${version.asm.ow2}</version>
                  </dependency>
               </dependencies-->
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-jar-plugin</artifactId>
               <version>${version.maven.jar}</version>
               <configuration>
                  <archive>
                     <index>false</index>
                  </archive>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>${version.maven.surefire}</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-report-plugin</artifactId>
               <version>${version.maven.surefire}</version>
            </plugin>
            <plugin>
               <artifactId>maven-war-plugin</artifactId>
               <version>3.1.0</version>
               <configuration>
                  <attachClasses>false</attachClasses>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>appassembler-maven-plugin</artifactId>
               <version>1.0</version>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>build-helper-maven-plugin</artifactId>
               <version>${version.maven.buildhelper}</version>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>exec-maven-plugin</artifactId>
               <version>1.6.0</version>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>ideauidesigner-maven-plugin</artifactId>
               <version>1.0-beta-1</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-checkstyle-plugin</artifactId>
               <version>${version.checkstyle.maven-plugin}</version>
               <dependencies>
                  <dependency>
                     <groupId>com.puppycrawl.tools</groupId>
                     <artifactId>checkstyle</artifactId>
                     <version>${versionx.com.puppycrawl.tools.checkstyle}</version>
                  </dependency>
                  <dependency>
                     <groupId>org.infinispan</groupId>
                     <artifactId>infinispan-checkstyle</artifactId>
                     <version>${project.version}</version>
                  </dependency>
               </dependencies>
               <configuration>
                  <!-- Location is relative to the classpath -->
                  <configLocation>checkstyle.xml</configLocation>
                  <consoleOutput>true</consoleOutput>
                  <failsOnError>true</failsOnError>
                  <violationSeverity>error</violationSeverity>
                  <includeTestSourceDirectory>true</includeTestSourceDirectory>
                  <sourceDirectories>
                     <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                  </sourceDirectories>
                  <linkXRef>false</linkXRef>
               </configuration>
            </plugin>
            <plugin>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>${version.maven-compiler-plugin}</version>
               <configuration>
                  <release>8</release>
                  <encoding>UTF-8</encoding>
                  <excludes>
                     <exclude>**/package-info.java</exclude>
                  </excludes>
                  <!-- Include method parameter debug info -->
                  <parameters>true</parameters>
               </configuration>
            </plugin>
            <plugin>
               <groupId>kr.motd.maven</groupId>
               <artifactId>os-maven-plugin</artifactId>
               <version>1.4.1.Final</version>
            </plugin>
            <plugin>
               <groupId>org.infinispan.maven-plugins</groupId>
               <artifactId>proto-schema-compatibility</artifactId>
               <version>${version.infinispan.maven-plugins}</version>
               <configuration>
                  <commitProtoLock>${commitProtoLockChanges}</commitProtoLock>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.infinispan.maven-plugins</groupId>
               <artifactId>protocol-parser-generator</artifactId>
               <version>${version.infinispan.maven-plugins}</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-project-info-reports-plugin</artifactId>
               <version>3.1.1</version>
            </plugin>
            <plugin>
               <groupId>com.github.spotbugs</groupId>
               <artifactId>spotbugs-maven-plugin</artifactId>
               <version>4.0.4</version>
               <configuration>
                  <addSourceDirs>true</addSourceDirs>
                  <excludeFilterFile>${infinispan.root}/etc/spotbugs-exclusions.xml</excludeFilterFile>
                  <threshold>medium</threshold>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.owasp</groupId>
               <artifactId>dependency-check-maven</artifactId>
               <version>${version.owasp-dependency-check-plugin}</version>
               <executions>
                  <execution>
                     <goals>
                        <goal>aggregate</goal>
                     </goals>
                  </execution>
               </executions>
               <configuration>
                  <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
                  <failOnError>false</failOnError>
                  <suppressionFile>${infinispan.root}/etc/dependency-check-suppressions.xml</suppressionFile>
               </configuration>
            </plugin>
         </plugins>
      </pluginManagement>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <version>3.0.0-M1</version>
            <executions>
               <execution>
                  <id>enforce-java</id>
                  <goals>
                     <goal>enforce</goal>
                  </goals>
                  <configuration>
                     <rules>
                        <requireJavaVersion>
                           <version>[${version.java},)</version>
                        </requireJavaVersion>
                        <requireMavenVersion>
                           <version>[3.2.1,)</version>
                        </requireMavenVersion>
                     </rules>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
               <execution>
                  <id>timestamp-property</id>
                  <goals>
                     <goal>timestamp-property</goal>
                  </goals>
                  <phase>validate</phase>
                  <configuration>
                     <name>current.year</name>
                     <pattern>yyyy</pattern>
                     <locale>en_US</locale>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <version>1.4</version>
            <executions>
               <execution>
                  <phase>validate</phase>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <doCheck>false</doCheck>
                     <doUpdate>false</doUpdate>
                     <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-invoker-plugin</artifactId>
            <version>${version.maven.invoker}</version>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.7</version>
            <configuration>
               <downloadSources>true</downloadSources>
               <buildOutputDirectory>${basedir}/eclipse-output</buildOutputDirectory>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <executions>
               <execution>
                  <id>checkstyle</id>
                  <phase>validate</phase>
                  <goals>
                     <goal>check</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <!-- IntelliJ project file generation -->
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-idea-plugin</artifactId>
            <version>2.2</version>
            <configuration>
               <downloadSources>true</downloadSources>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
               <encoding>UTF-8</encoding>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.wildfly.maven.plugins</groupId>
            <artifactId>licenses-plugin</artifactId>
            <version>${versionx.org.wildfly.maven.plugins.licenses-plugin}</version>
            <executions>
               <execution>
                  <id>update-licenses-xml</id>
                  <goals>
                     <goal>insert-versions</goal>
                  </goals>
                  <phase>prepare-package</phase>
                  <configuration>
                     <sortByGroupIdAndArtifactId>true</sortByGroupIdAndArtifactId>
                     <licensesOutputFile>${project.build.outputDirectory}/META-INF/licenses.xml</licensesOutputFile>
                     <excludedGroups>org.kohsuke</excludedGroups>
                     <excludedArtifacts>jboss-logging-processor|jdeparser|jcip-annotations|jboss-logging-annotations</excludedArtifacts>
                     <excludedScopes>system,test,runtime,provided</excludedScopes>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>${version.maven.jar}</version>
            <executions>
               <execution>
                  <id>build-test-jar</id>
                  <goals>
                     <goal>test-jar</goal>
                  </goals>
                  <configuration>
                     <archive>
                        <manifest>
                           <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                           <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                        </manifest>
                     </archive>
                  </configuration>
               </execution>
            </executions>
            <configuration>
               <archive>
                  <manifest>
                     <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                     <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                  </manifest>
                  <manifestEntries>
                     <Implementation-Codename>${infinispan.codename}</Implementation-Codename>
                  </manifestEntries>
               </archive>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>${version.maven.release}</version>
            <configuration>
               <autoVersionSubmodules>true</autoVersionSubmodules>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
               <parallel>tests</parallel>
               <threadCount>${infinispan.test.parallel.threads}</threadCount>
               <forkCount>1</forkCount>
               <reuseForks>true</reuseForks>
               <groups>${defaultTestNGGroups}</groups>
               <excludedGroups>${defaultExcludedTestNGGroups}</excludedGroups>
               <disableXmlReport>true</disableXmlReport>
               <useFile>false</useFile>
               <systemPropertyVariables>
                  <infinispan.cluster.stack>${infinispan.cluster.stack}</infinispan.cluster.stack>
                  <jgroups.bind_addr>127.0.0.1</jgroups.bind_addr>
                  <jgroups.join_timeout>2000</jgroups.join_timeout>
                  <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>

                  <build.directory>${project.build.directory}</build.directory>
                  <com.arjuna.ats.arjuna.common.propertiesFile>test-jbossts-properties.xml</com.arjuna.ats.arjuna.common.propertiesFile>

                  <log4j.configurationFile>${log4j.configurationFile}</log4j.configurationFile>
                  <!-- Force all loggers to use a single context -->
                  <log4j2.contextSelector>org.apache.logging.log4j.core.selector.BasicContextSelector</log4j2.contextSelector>
                  <!-- Bridge java.util.logging to Log4j2 -->
                  <java.util.logging.manager>org.apache.logging.log4j.jul.LogManager</java.util.logging.manager>
                  <!-- Use the same configuration in Spring Boot -->
                  <logging.config>${log4j.configurationFile}</logging.config>
                  <!-- this is picked up in log4j2.xml, which adds it to each module's log file name-->
                  <infinispan.module-suffix>${infinispan.module-suffix}</infinispan.module-suffix>
                  <ansi.strip>${ansi.strip}</ansi.strip>
               </systemPropertyVariables>
               <trimStackTrace>false</trimStackTrace>
               <properties>
                  <!-- Deactivate the default listeners which may cause OOME. Jenkins uses the surefire generated XML file. -->
                  <usedefaultlisteners>false</usedefaultlisteners>
                  <listener>${testNGListeners}</listener>
               </properties>
               <argLine>${forkJvmArgs} ${testjvm.jdkSpecificArgs} -Djdk.attach.allowAttachSelf=true</argLine>
               <!-- Use TCP for plugin <-> fork JVM communication -->
               <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>
               <!-- Disable modular classpath -->
               <useModulePath>false</useModulePath>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
         </plugin>
      </plugins>
   </build>
   <reporting>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>3.1.1</version>
            <reportSets>
               <reportSet>
                  <reports>
                     <report>index</report>
                     <report>licenses</report>
                  </reports>
               </reportSet>
            </reportSets>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
         </plugin>
      </plugins>
   </reporting>

   <profiles>

      <profile>
         <!-- nexus-staging-maven-plugin blocks maven-deploy-plugin -->
         <id>nexus-staging</id>
         <activation>
            <property><name>!skipNexusStaging</name></property>
         </activation>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.sonatype.plugins</groupId>
                  <artifactId>nexus-staging-maven-plugin</artifactId>
                  <extensions>true</extensions>
               </plugin>
            </plugins>
         </build>
      </profile>

      <profile>
         <id>m2e</id>
         <activation>
            <property>
               <name>m2e.version</name>
            </property>
         </activation>

         <properties>
            <!-- Eclipse doesn't handle well the dependency on uberjars for the modules which use them (e.g. demos).
                 Mark the dependencies of the uberjar modules as not-optional when inside Eclipse. -->
            <uberjar.deps.optional>false</uberjar.deps.optional>
         </properties>

         <build>
            <pluginManagement>
               <plugins>
                  <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                  <plugin>
                     <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-antrun-plugin</artifactId>
                                    <versionRange>[1.3,)</versionRange>
                                    <goals>
                                       <goal>run</goal>
                                    </goals>
                                 </pluginExecutionFilter>
                                 <action>
                                    <ignore />
                                 </action>
                              </pluginExecution>
                              <pluginExecution>
                                 <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-dependency-plugin</artifactId>
                                    <versionRange>[2.6,)</versionRange>
                                    <goals>
                                       <goal>copy</goal>
                                       <goal>copy-dependencies</goal>
                                       <goal>unpack</goal>
                                       <goal>unpack-dependencies</goal>
                                    </goals>
                                 </pluginExecutionFilter>
                                 <action>
                                    <ignore />
                                 </action>
                              </pluginExecution>
                              <pluginExecution>
                                 <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-enforcer-plugin</artifactId>
                                    <versionRange>[1.3.1,)</versionRange>
                                    <goals>
                                       <goal>enforce</goal>
                                    </goals>
                                 </pluginExecutionFilter>
                                 <action>
                                    <ignore />
                                 </action>
                              </pluginExecution>
                              <pluginExecution>
                                 <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-invoker-plugin</artifactId>
                                    <versionRange>[1.8,)</versionRange>
                                    <goals>
                                       <goal>install</goal>
                                    </goals>
                                 </pluginExecutionFilter>
                                 <action>
                                    <ignore />
                                 </action>
                              </pluginExecution>
                              <pluginExecution>
                                 <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-javadoc-plugin</artifactId>
                                    <versionRange>[3.2,)</versionRange>
                                    <goals>
                                       <goal>javadoc</goal>
                                    </goals>
                                 </pluginExecutionFilter>
                                 <action>
                                    <ignore />
                                 </action>
                              </pluginExecution>
                              <pluginExecution>
                                 <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-remote-resources-plugin</artifactId>
                                    <versionRange>[1.1,)</versionRange>
                                    <goals>
                                       <goal>process</goal>
                                    </goals>
                                 </pluginExecutionFilter>
                                 <action>
                                    <ignore />
                                 </action>
                              </pluginExecution>
                              <pluginExecution>
                                 <pluginExecutionFilter>
                                    <groupId>org.apache.servicemix.tooling</groupId>
                                    <artifactId>depends-maven-plugin</artifactId>
                                    <versionRange>[1.2,)</versionRange>
                                    <goals>
                                       <goal>generate-depends-file</goal>
                                    </goals>
                                 </pluginExecutionFilter>
                                 <action>
                                    <ignore />
                                 </action>
                              </pluginExecution>
                              <pluginExecution>
                                 <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>exec-maven-plugin</artifactId>
                                    <versionRange>[1.0.2,)</versionRange>
                                    <goals>
                                       <goal>java</goal>
                                    </goals>
                                 </pluginExecutionFilter>
                                 <action>
                                    <ignore />
                                 </action>
                              </pluginExecution>
                              <pluginExecution>
                                 <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>ideauidesigner-maven-plugin</artifactId>
                                    <versionRange>[1.0-beta-1,)</versionRange>
                                    <goals>
                                       <goal>javac2</goal>
                                    </goals>
                                 </pluginExecutionFilter>
                                 <action>
                                    <ignore />
                                 </action>
                              </pluginExecution>
                           </pluginExecutions>
                        </lifecycleMappingMetadata>
                     </configuration>
                  </plugin>
               </plugins>
            </pluginManagement>
         </build>
      </profile>
      <profile>
         <id>distribution</id>
         <modules>
            <module>documentation</module>
            <module>javadoc</module>
            <module>distribution</module>
         </modules>
         <properties>
            <skipTests>true</skipTests>
            <dependencies.excludeGroupIds>org.infinispan,org.jgroups,org.jboss.marshalling,org.jboss.logging,net.jcip,org.kohsuke.metainf-services</dependencies.excludeGroupIds>
         </properties>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-dependency-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>create-classpath</id>
                        <phase>package</phase>
                        <goals>
                           <goal>build-classpath</goal>
                        </goals>
                        <configuration>
                           <skip>${module.skipCopyDependencies}</skip>
                           <includeScope>runtime</includeScope>
                           <excludeScope>test</excludeScope>
                           <excludeArtifactIds>${dependencies.excludeArtifactIds}</excludeArtifactIds>
                           <excludeGroupIds>${dependencies.excludeGroupIds}</excludeGroupIds>
                           <prefix>$ISPN_HOME/lib</prefix>
                           <outputFile>${project.build.directory}/runtime-classpath.txt</outputFile>
                           <silent>true</silent>
                        </configuration>
                     </execution>
                     <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                           <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                           <skip>${module.skipCopyDependencies}</skip>
                           <includeScope>runtime</includeScope>
                           <excludeScope>test</excludeScope>
                           <excludeGroupIds>${dependencies.excludeGroupIds}</excludeGroupIds>
                           <silent>true</silent>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-antrun-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>upload-schemas</id>
                        <phase>deploy</phase>
                        <goals>
                           <goal>run</goal>
                        </goals>
                        <configuration>
                           <skip>${skipArtifactUpload}</skip>
                           <target>
                              <available file="${project.build.outputDirectory}/schema" type="dir" property="hasSchema"/>

                              <echo message="Uploading Schema files to ${upload.schemaDir}" if:set="hasSchema" xmlns:if="ant:if"/>
                              <scp todir="${upload.schemaDir}" keyfile="${upload.keyFile}" verbose="true" compressed="true" if:set="hasSchema" xmlns:if="ant:if">
                                 <fileset dir="${project.build.outputDirectory}/schema">
                                    <include name="*-${infinispan.core.schema.version}.xsd" />
                                 </fileset>
                              </scp>
                           </target>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>
            </plugins>
         </build>
      </profile>
      <profile>
         <id>java8-test</id>
         <activation>
            <activeByDefault>false</activeByDefault>
         </activation>
         <properties>
            <server.jvm>${env.JAVA8_HOME}</server.jvm>
            <server.jvm.args>${testjvm.commonArgs} ${testjvm.extraArgs}</server.jvm.args>
            <!-- Unset all JDK-specific properties -->
            <testjvm.jigsawArgs/>
            <testjvm.blockHoundRedefinitionArgs/>
            <!-- Also unset the aggregate property, just in case -->
            <testjvm.jdkSpecificArgs/>
         </properties>
         <dependencies>
            <dependency>
               <groupId>com.sun</groupId>
               <artifactId>tools</artifactId>
               <scope>system</scope>
               <systemPath>${env.JAVA8_HOME}/lib/tools.jar</systemPath>
            </dependency>
         </dependencies>
         <build>
            <plugins>
               <plugin>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <version>${version.maven.surefire}</version>
                  <configuration>
                     <!-- Run the tests with JDK8 -->
                     <jvm>${env.JAVA8_HOME}/bin/java</jvm>
                     <argLine>${forkJvmArgs}</argLine>
                     <systemProperties>
                        <infinispan.test.jvm.version.regex>${infinispan.test.jvm.version.regex}</infinispan.test.jvm.version.regex>
                     </systemProperties>
                  </configuration>
                  <executions>
                     <!--
                     Explicitly disable the java8-test execution defined in the jboss-parent POM
                     -->
                     <execution>
                        <id>java8-test</id>
                        <phase>none</phase>
                     </execution>
                  </executions>
               </plugin>
               <plugin>
                  <artifactId>maven-failsafe-plugin</artifactId>
                  <version>${version.maven.surefire}</version>
                  <configuration>
                     <jvm>${env.JAVA8_HOME}/bin/java</jvm>
                     <argLine>${forkJvmArgs}</argLine>
                     <systemProperties>
                        <infinispan.test.jvm.version.regex>${infinispan.test.jvm.version.regex}</infinispan.test.jvm.version.regex>
                     </systemProperties>
                  </configuration>
               </plugin>
            </plugins>
         </build>
      </profile>
      <profile>
         <id>java13-test</id>
         <activation>
            <jdk>[13,)</jdk>
         </activation>
         <properties>
            <testjvm.blockHoundRedefinitionArgs>-XX:+AllowRedefinitionToAddDeleteMethods</testjvm.blockHoundRedefinitionArgs>
         </properties>
      </profile>
      <profile>
         <id>extras</id>
         <activation>
            <activeByDefault>true</activeByDefault>
            <!-- activeByDefault is not enough to activate the profile in children projects -->
            <property>
               <name>maven.home</name>
            </property>
         </activation>
         <build>
            <plugins>
               <!-- Make sure we generate src jars too -->
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-source-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                           <goal>jar</goal>
                           <goal>test-jar</goal>
                        </goals>
                     </execution>
                  </executions>
                  <inherited>true</inherited>
               </plugin>
            </plugins>
         </build>
      </profile>
      <profile>
         <id>smoke</id>
         <properties>
            <defaultTestNGGroups>smoke</defaultTestNGGroups>
            <defaultJUnitGroups>org.infinispan.commons.test.categories.Smoke</defaultJUnitGroups>
         </properties>
      </profile>
      <profile>
         <id>test-unstable</id>
         <properties>
            <defaultTestNGGroups>unstable</defaultTestNGGroups>
            <defaultJUnitGroups>org.infinispan.commons.test.categories.Unstable</defaultJUnitGroups>
            <!-- empty since we are not going to exclude any group -->
            <defaultExcludedTestNGGroups/>
            <defaultExcludedJUnitGroups/>
         </properties>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <configuration>
                     <systemPropertyVariables>
                        <log4j.configurationFile>${infinispan.root}/etc/log4j2-trace.xml</log4j.configurationFile>
                     </systemPropertyVariables>
                  </configuration>
               </plugin>
            </plugins>
         </build>
      </profile>
      <profile>
         <id>test-stress</id>
         <properties>
            <defaultTestNGGroups>stress</defaultTestNGGroups>
            <defaultJUnitGroups>org.infinispan.commons.test.categories.Stress</defaultJUnitGroups>
            <defaultExcludedTestNGGroups/>
            <defaultExcludedJUnitGroups/>
            <infinispan.test.parallel.threads>1</infinispan.test.parallel.threads>
         </properties>
      </profile>
      <profile>
         <id>customForkJvmArgs</id>
         <activation>
            <activeByDefault>false</activeByDefault>
            <property>
               <name>env.MAVEN_FORK_OPTS</name>
            </property>
         </activation>
         <properties>
            <forkJvmArgs>${env.MAVEN_FORK_OPTS}</forkJvmArgs>
         </properties>
      </profile>

      <!-- Only one of the root-dirX profiles will be active, and it will set infinispan.root to $REACTOR_ROOT -->
      <profile>
         <id>root-dir1</id>
         <activation>
            <file>
               <exists>${basedir}/../maven-settings.xml</exists>
            </file>
         </activation>
         <properties>
            <infinispan.root>${basedir}/..</infinispan.root>
         </properties>
      </profile>
      <profile>
         <id>root-dir2</id>
         <activation>
            <file>
               <exists>${basedir}/../../maven-settings.xml</exists>
            </file>
         </activation>
         <properties>
            <infinispan.root>${basedir}/../..</infinispan.root>
         </properties>
      </profile>
      <profile>
         <id>root-dir3</id>
         <activation>
            <file>
               <exists>${basedir}/../../../maven-settings.xml</exists>
            </file>
         </activation>
         <properties>
            <infinispan.root>${basedir}/../../..</infinispan.root>
         </properties>
      </profile>
      <profile>
         <id>root-dir4</id>
         <activation>
            <file>
               <exists>${basedir}/../../../../maven-settings.xml</exists>
            </file>
         </activation>
         <properties>
            <infinispan.root>${basedir}/../../../..</infinispan.root>
         </properties>
      </profile>
      <profile>
         <id>nonParallel</id>
         <activation>
            <activeByDefault>false</activeByDefault>
         </activation>
         <properties>
            <infinispan.test.parallel.threads>1</infinispan.test.parallel.threads>
         </properties>
      </profile>
      <profile>
         <id>traceTests</id>
         <activation>
            <activeByDefault>false</activeByDefault>
         </activation>
         <properties>
            <log4j.configurationFile>${infinispan.root}/etc/log4j2-trace.xml</log4j.configurationFile>
         </properties>
      </profile>
      <profile>
         <id>coverage</id>

         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <configuration>
                     <argLine combine.self="override">${forkJvmArgs} ${jacoco.agent.argLine}</argLine>
                  </configuration>
               </plugin>

               <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>properties-maven-plugin</artifactId>
                  <version>1.0.0</version>
                  <executions>
                     <!-- Copy the ant tasks jar. Needed for ts.jacoco.report-ant . -->
                     <execution>
                        <goals>
                           <goal>set-system-properties</goal>
                        </goals>
                        <configuration>
                           <properties>
                              <property>
                                 <name>jacoco.reportPath</name>
                                 <value>${session.executionRootDirectory}/jacoco</value>
                              </property>
                           </properties>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>

               <!-- Starting jacoco agent for recording code coverage. -->
               <plugin>
                  <groupId>org.jacoco</groupId>
                  <artifactId>jacoco-maven-plugin</artifactId>
                  <version>${version.jacoco}</version>
                  <executions>
                     <execution>
                        <id>default-prepare-agent</id>
                        <goals>
                           <goal>prepare-agent</goal>
                        </goals>
                     </execution>
                  </executions>
                  <configuration>
                     <propertyName>jacoco.agent.argLine</propertyName>
                     <destFile>${dir.jacoco}/${project.artifactId}.exec</destFile>
                     <excludes>
                        <exclude>**/logging/**</exclude>
                     </excludes>
                  </configuration>
               </plugin>
               <!-- Overriding surefire configuration, for attaching jacoco agent to command line. -->
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-antrun-plugin</artifactId>
                  <dependencies>
                     <dependency>
                        <groupId>org.apache.ant</groupId>
                        <artifactId>ant</artifactId>
                        <version>${version.ant}</version>
                     </dependency>
                     <dependency>
                        <groupId>ant-contrib</groupId>
                        <artifactId>ant-contrib</artifactId>
                        <version>${version.ant-contrib}</version>
                        <exclusions>
                           <exclusion>
                              <groupId>ant</groupId>
                              <artifactId>ant</artifactId>
                           </exclusion>
                        </exclusions>
                     </dependency>
                     <dependency>
                        <groupId>org.apache.ant</groupId>
                        <artifactId>ant-nodeps</artifactId>
                        <version>${version.ant-nodeps}</version>
                     </dependency>
                  </dependencies>
                  <executions>
                     <execution>
                        <id>copy-generated-classes</id>
                        <phase>test</phase>
                        <goals>
                           <goal>run</goal>
                        </goals>
                        <configuration>
                           <target>
                                 <available file="${project.build.directory}/classes" type="dir" property="hasClasses"/>
                                 <echo message="Copying test classes to jacoco folder" if:set="hasClasses" xmlns:if="ant:if"/>
                                 <copydir dest="${jacoco.reportPath}/classes"
                                          src="${project.build.directory}/classes"
                                          if:set="hasClasses" xmlns:if="ant:if"/>
                           </target>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>
            </plugins>
         </build>
      </profile>
      <profile>
         <id>jacocoReport</id>

         <build>
            <plugins>
               <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>properties-maven-plugin</artifactId>
                  <version>1.0.0</version>
                  <executions>
                     <execution>
                        <goals>
                           <goal>set-system-properties</goal>
                        </goals>
                        <configuration>
                           <properties>
                              <property>
                                 <name>jacoco.reportPath</name>
                                 <value>${session.executionRootDirectory}/jacoco</value>
                              </property>
                           </properties>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>

               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-antrun-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>delete-existing-jacoco-report</id>
                        <phase>initialize</phase>
                        <goals>
                           <goal>run</goal>
                        </goals>
                        <configuration>
                           <target>
                              <echo>Deleting existing Jacoco Report Directory.</echo>
                              <delete dir="${dir.jacoco.report}"/>
                              <delete dir="${dir.jacoco.merged}"/>
                              <delete dir="${project.build.directory}/classes"/>
                              <echo>Copying the generated classes file to ${project.build.directory}/classes
                              </echo>
                              <copydir dest="${project.build.directory}/classes"
                                       src="${jacoco.reportPath}/classes"/>
                           </target>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>

               <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>build-helper-maven-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                           <goal>add-source</goal>
                        </goals>
                        <configuration>
                           <sources>
                              <source>${dir.ispn}/api/src/main/java</source>
                              <source>${dir.ispn}/cdi/common/src/main/java</source>
                              <source>${dir.ispn}/cdi/embedded/src/main/java</source>
                              <source>${dir.ispn}/cdi/remote/src/main/java</source>
                              <source>${dir.ispn}/checkstyle/src/main/java</source>
                              <source>${dir.ispn}/cli/cli-client/src/main/java</source>
                              <source>${dir.ispn}/client/hotrod-client/src/main/java</source>
                              <source>${dir.ispn}/client/infinispan-key-value-store-hotrod/src/main/java</source>
                              <source>${dir.ispn}/client/rest-client/src/main/java</source>
                              <source>${dir.ispn}/commons/src/main/java</source>
                              <source>${dir.ispn}/commons-test/src/main/java</source>
                              <source>${dir.ispn}/core/src/main/java</source>
                              <source>${dir.ispn}/extended-statistics/src/main/java</source>
                              <source>${dir.ispn}/jcache/commons/src/main/java</source>
                              <source>${dir.ispn}/jcache/embedded/src/main/java</source>
                              <source>${dir.ispn}/jcache/remote/src/main/java</source>
                              <source>${dir.ispn}/lucene/directory-provider/src/main/java</source>
                              <source>${dir.ispn}/lucene/lucene-directory/src/main/java</source>
                              <source>${dir.ispn}/object-filter/src/main/java</source>
                              <source>${dir.ispn}/persistence/cli/src/main/java</source>
                              <source>${dir.ispn}/persistence/jdbc/src/main/java</source>
                              <source>${dir.ispn}/persistence/jpa/src/main/java</source>
                              <source>${dir.ispn}/persistence/leveldb/src/main/java</source>
                              <source>${dir.ispn}/persistence/remote/src/main/java</source>
                              <source>${dir.ispn}/persistence/rocksdb/src/main/java</source>
                              <source>${dir.ispn}/persistence/soft-index/src/main/java</source>
                              <source>${dir.ispn}/query-core/src/main/java</source>
                              <source>${dir.ispn}/query/src/main/java</source>
                              <source>${dir.ispn}/query-dsl/src/main/java</source>
                              <source>${dir.ispn}/remote-query/remote-query-client/src/main/java</source>
                              <source>${dir.ispn}/remote-query/remote-query-server/src/main/java</source>
                              <source>${dir.ispn}/scripting/src/main/java</source>
                              <source>${dir.ispn}/spring/spring/src/main/java</source>
                              <source>${dir.ispn}/spring/spring5/spring5-common/src/main/java</source>
                              <source>${dir.ispn}/spring/spring5/spring5-embedded/src/main/java</source>
                              <source>${dir.ispn}/spring/spring5/spring5-remote/src/main/java</source>
                              <source>${dir.ispn}/spring/spring-boot/embedded/src/main/java</source>
                              <source>${dir.ispn}/spring/spring-boot/remote/src/main/java</source>
                              <source>${dir.ispn}/tasks/src/main/java</source>
                              <source>${dir.ispn}/tasks-api/src/main/java</source>
                              <source>${dir.ispn}/tools/src/main/java</source>
                              <source>${dir.ispn}/tree/src/main/java</source>
                           </sources>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>

               <plugin>
                  <groupId>org.jacoco</groupId>
                  <artifactId>jacoco-maven-plugin</artifactId>
                  <version>${version.jacoco}</version>
                  <executions>
                     <execution>
                        <id>default-report</id>
                        <goals>
                           <goal>report</goal>
                        </goals>
                        <phase>install</phase>
                     </execution>
                     <execution>
                        <id>default-merge</id>
                        <goals>
                           <goal>merge</goal>
                        </goals>
                        <configuration>
                           <fileSets>
                              <fileSet>
                                 <directory>${dir.jacoco}</directory>
                                 <includes>
                                    <include>*.exec</include>
                                 </includes>
                              </fileSet>
                           </fileSets>
                           <destFile>${dir.jacoco.merged}/jacoco.exec</destFile>
                        </configuration>
                     </execution>
                  </executions>
                  <configuration>
                     <dataFile>${dir.jacoco.merged}/jacoco.exec</dataFile>
                     <outputDirectory>${dir.jacoco.report}</outputDirectory>
                     <excludes>
                        <exclude>**/logging/**</exclude>
                     </excludes>
                  </configuration>
               </plugin>
            </plugins>
         </build>
      </profile>
   </profiles>
</project>
