<?xml version='1.0' encoding='UTF-8'?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.infinispan</groupId>
        <artifactId>infinispan-bom</artifactId>
        <version>9.0.2.Final</version>
        <relativePath>../bom/pom.xml</relativePath>
    </parent>
    <artifactId>infinispan-parent</artifactId>
    <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</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>TeamCity</system>
        <url>http://ci.infinispan.org</url>
        <notifiers>
            <notifier>
                <type>mail</type>
                <address>infinispan-commits@lists.jboss.org</address>
            </notifier>
        </notifiers>
    </ciManagement>
    <distributionManagement>
        <repository>
            <id>jboss-releases-repository</id>
            <name>JBoss Release Repository</name>
            <url>${jboss.releases.repo.url}</url>
        </repository>
        <snapshotRepository>
            <id>jboss-snapshots-repository</id>
            <name>JBoss Snapshot Repository</name>
            <url>${jboss.snapshots.repo.url}</url>
        </snapshotRepository>
    </distributionManagement>
    <properties>
        <buildDirectory>target</buildDirectory>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <defaultTestGroup>functional,unit,arquillian</defaultTestGroup>

        <defaultExcludedTestGroup>unstable,stress,unstable_xsite</defaultExcludedTestGroup>
        <forkJvmArgs>-Xmx2G</forkJvmArgs>
        <jigsawForkJvmArgs />
        <testNGListeners>
            org.infinispan.commons.test.TestNGTestListener,org.infinispan.commons.test.PolarionJUnitXMLReporter,org.infinispan.commons.test.skip.SkipOnOsListener
        </testNGListeners>
        <junitListener>org.infinispan.commons.test.JUnitTestListener</junitListener>
        <infinispan.test.parallel.threads>15</infinispan.test.parallel.threads>
        <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
        <infinispan.module-suffix>-${project.artifactId}</infinispan.module-suffix>
        <jboss.releases.repo.url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/
        </jboss.releases.repo.url>
        <jboss.snapshots.repo.url>https://repository.jboss.org/nexus/content/repositories/snapshots/
        </jboss.snapshots.repo.url>
        <packaging>jar</packaging>
        <module.skipComponentMetaDataProcessing>true</module.skipComponentMetaDataProcessing>
        <module.skipTestComponentMetaDataProcessing>true</module.skipTestComponentMetaDataProcessing>
        <module.metadata.isCoreModule>false</module.metadata.isCoreModule>

        <version.ant>1.10.1</version.ant>
        <version.antlr>3.4</version.antlr>
        <version.maven.antlr3>3.5.2</version.maven.antlr3>
        <version.maven.antrun>1.8</version.maven.antrun>
        <version.apache.ds>2.0.0-M20</version.apache.ds>
        <version.arquillian>1.1.5.Final</version.arquillian>
        <version.arquillian.container.weld>1.0.0.CR3</version.arquillian.container.weld>
        <version.aspectj.aspectjweaver>1.8.1</version.aspectj.aspectjweaver>
        <version.byteman>3.0.6</version.byteman>
        <version.avro>1.7.6</version.avro>
        <version.c3p0>0.9.5-pre8</version.c3p0>
        <version.c3p0_dep.mchange-commons-java>0.2.7</version.c3p0_dep.mchange-commons-java>
        <version.com.intellij.forms_rt>6.0.5</version.com.intellij.forms_rt>
        <version.commons.compress>1.4</version.commons.compress>
        <version.commons.codec>1.4</version.commons.codec>
        <version.commons.dbcp>1.4</version.commons.dbcp>
        <version.commons.httpclient>3.1</version.commons.httpclient>
        <version.commons.io>2.5</version.commons.io>
        <version.commons.logging>1.2</version.commons.logging>
        <version.commons.math>2.2</version.commons.math>
        <version.elasticsearch>5.4.1</version.elasticsearch>
        <version.elasticsearch.plugin>5.7</version.elasticsearch.plugin>
        <version.geronimo.tm>3.1.1</version.geronimo.tm>
        <version.h2.driver>1.4.180</version.h2.driver>
        <version.h2.driver-within-wildfly>1.3.173</version.h2.driver-within-wildfly>
        <version.hibernate.core>5.2.7.Final</version.hibernate.core>
        <version.hibernate.entitymanager>${version.hibernate.core}</version.hibernate.entitymanager>
        <version.hibernate.osgi>${version.hibernate.core}</version.hibernate.osgi>
        <version.hibernate_dep.antlr>2.7.7_5</version.hibernate_dep.antlr>
        <version.hibernate_dep.classmate>1.3.0</version.hibernate_dep.classmate>
        <version.hibernate_dep.dom4j>1.6.1_5</version.hibernate_dep.dom4j>
        <version.hibernate_dep.hibernate-commons-annotations>5.0.1.Final
        </version.hibernate_dep.hibernate-commons-annotations>
        <version.hibernate_dep.jandex>2.0.3.Final</version.hibernate_dep.jandex>
        <version.hibernate_dep.javasist>3.20.0-GA</version.hibernate_dep.javasist>
        <version.hikaricp>2.4.6</version.hikaricp>
        <version.howl>1.0.1-1</version.howl>
        <version.jackson>1.9.13</version.jackson>
        <version.netty.tcp.native>2.0.0.Final</version.netty.tcp.native>
        <version.jetty.http.client>9.4.5.v20170502</version.jetty.http.client>
        <version.javax.cache.cache-tests>${version.javax.cache}</version.javax.cache.cache-tests>
        <version.javax.servlet>2.5</version.javax.servlet>
        <version.jbossjta>5.0.4.Final</version.jbossjta>
        <version.jboss.logging.processor>1.2.1.Final</version.jboss.logging.processor>
        <version.jboss.logmanager>1.3.1.Final</version.jboss.logmanager>
        <version.jboss.negotiation>2.3.6.Final</version.jboss.negotiation>
        <version.jboss.remotingjmx>2.0.1.Final</version.jboss.remotingjmx>
        <version.jboss.sasl>1.0.5.Final</version.jboss.sasl>
        <version.jboss.spec>1.0.2.Final</version.jboss.spec>
        <version.jboss.jboss-transaction-spi>7.1.0.Final</version.jboss.jboss-transaction-spi>
        <version.jboss.xnio>3.2.2.Final</version.jboss.xnio>
        <version.jcipannotations>1.0</version.jcipannotations>
        <version.jgoodies.forms>1.0.7</version.jgoodies.forms>
        <version.jsap>2.1</version.jsap>
        <version.jstl>1.2</version.jstl>
        <version.junit>4.11</version.junit>
        <version.latency.utils>2.0.2</version.latency.utils>
        <version.assertj>3.4.1</version.assertj>
        <version.log4j>2.8.1</version.log4j>
        <version.lucene>5.5.4</version.lucene>
        <version.mc4j>1.2.6</version.mc4j>
        <version.mockito>2.7.21</version.mockito>
        <version.mockito_dep.objenesis>2.5</version.mockito_dep.objenesis>
        
        <version.mockito_dep.bytebuddy>1.6.11</version.mockito_dep.bytebuddy>
        <version.mockito_dep.hamcrest>1.3</version.mockito_dep.hamcrest>
        <version.mysql.driver>5.1.19</version.mysql.driver>
        <version.org.jboss.naming>5.0.6.CR1</version.org.jboss.naming>
        <version.org.picketbox>4.0.20.Final</version.org.picketbox>
        <version.postgresql.driver>9.3-1101-jdbc41</version.postgresql.driver>
        <version.shrinkwrapResolver>2.2.4</version.shrinkwrapResolver>
        <version.slf4j-jboss-logging>1.1.0.Final</version.slf4j-jboss-logging>
        <version.snappy>1.0.5</version.snappy>
        <version.solder>3.1.0.Final</version.solder>
        <version.spring-session>1.2.2.RELEASE</version.spring-session>
        <version.spring-boot>1.4.0.RELEASE</version.spring-boot>
        <version.spring4>4.3.4.RELEASE</version.spring4>
        <version.spymemcached>2.12.1</version.spymemcached>
        <version.testng>6.8.8</version.testng>
        <version.testng.arquillian>6.5.2</version.testng.arquillian>
        <version.webdav.servlet>2.0.1</version.webdav.servlet>
        <version.weld>2.3.4.Final</version.weld>
        <version.weld-se>2.3.4.Final</version.weld-se>
        <version.jgroups.kubernetes>1.0.0.Beta1</version.jgroups.kubernetes>
        <version.jmh>1.12</version.jmh>
        <version.oauth.core>20090531</version.oauth.core>

        
        <version.org.wildfly>10.1.0.Final</version.org.wildfly>
        <version.org.wildfly.core>2.2.0.Final</version.org.wildfly.core>
        <version.org.wildfly.arquillian>1.0.2.Final</version.org.wildfly.arquillian>
        <version.org.wildfly.build-tools>1.1.6.Final</version.org.wildfly.build-tools>
        <version.org.wildfly.maven-plugin>1.1.0.Final</version.org.wildfly.maven-plugin>
        <version.org.wildfly.cli>1.0.1.Final</version.org.wildfly.cli>

        <version.javassist>3.20.0-GA</version.javassist>
        <version.maven.buildhelper>1.8</version.maven.buildhelper>
        <version.maven.bundle>2.4.0</version.maven.bundle>
        <version.maven.shade>2.4.3</version.maven.shade>
        <version.maven.source>3.0.0</version.maven.source>
        <version.maven.surefire>2.18.1</version.maven.surefire>
        <version.maven.invoker>1.8</version.maven.invoker>
        <version.metainf-services>1.7</version.metainf-services>
        <version.jacoco>0.7.5.201505241946</version.jacoco>
        <version.pax.url>2.5.2</version.pax.url>
        <version.karaf>3.0.8</version.karaf>
        <version.pax.exam>4.10.0</version.pax.exam>
        <version.ant-contrib>1.0b3</version.ant-contrib>
        <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>
        <m2e.apt.activation>jdt_apt</m2e.apt.activation>

        <bnd.consumer.policy>$&lt;range;[==,+)&gt;</bnd.consumer.policy>
        <bnd.provider.policy>$&lt;range;[==,=+)&gt;</bnd.provider.policy>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-cachestore-jdbc</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-cachestore-jpa</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-cdi-common</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-cdi-remote</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-cdi-embedded</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-client-hotrod</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-core</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-lucene-directory</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-scripting</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-server-core</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-server-hotrod</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-server-memcached</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-server-rest</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-jcache-remote</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-spring4-common</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-spring4-remote</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>infinispan-spring4-embedded</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${version.h2.driver}</version>
            </dependency>
            <dependency>
                <groupId>com.intellij</groupId>
                <artifactId>forms_rt</artifactId>
                <version>${version.com.intellij.forms_rt}</version>
            </dependency>
            <dependency>
                <groupId>com.martiansoftware</groupId>
                <artifactId>jsap</artifactId>
                <version>${version.jsap}</version>
            </dependency>
            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>${version.commons.dbcp}</version>
            </dependency>
            <dependency>
                <groupId>commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>${version.commons.httpclient}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${version.commons.io}</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${version.commons.logging}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>com.zaxxer</groupId>
                <artifactId>HikariCP</artifactId>
                <version>${version.hikaricp}</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${version.javassist}</version>
            </dependency>
            <dependency>
                <groupId>javax.cache</groupId>
                <artifactId>cache-tests</artifactId>
                <version>${version.javax.cache.cache-tests}</version>
            </dependency>
            <dependency>
                <groupId>javax.cache</groupId>
                <artifactId>cache-tests</artifactId>
                <version>${version.javax.cache.cache-tests}</version>
                <classifier>tests</classifier>
            </dependency>
            <dependency>
                <groupId>javax.cache</groupId>
                <artifactId>cdi-weld-annotations-test-harness</artifactId>
                <version>${version.javax.cache.cache-tests}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>${version.jstl}</version>
            </dependency>
            <dependency>
                <groupId>com.jgoodies</groupId>
                <artifactId>forms</artifactId>
                <version>${version.jgoodies.forms}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${version.log4j}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${version.log4j}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-jcl</artifactId>
                <version>${version.log4j}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>${version.log4j}</version>
            </dependency>
            <dependency>
                <groupId>mc4j</groupId>
                <artifactId>org-mc4j-ems</artifactId>
                <version>${version.mc4j}</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${version.mysql.driver}</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${version.postgresql.driver}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${version.junit}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${version.assertj}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.webdav-servlet</groupId>
                <artifactId>webdav-servlet</artifactId>
                <version>${version.webdav.servlet}</version>
            </dependency>
            <dependency>
                <groupId>org.antlr</groupId>
                <artifactId>antlr-runtime</artifactId>
                <version>${version.antlr}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${version.commons.compress}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${version.aspectj.aspectjweaver}</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${version.commons.codec}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-math</artifactId>
                <version>${version.commons.math}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.avro</groupId>
                <artifactId>avro</artifactId>
                <version>${version.avro}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>${version.jackson}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${version.jackson}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${version.hibernate.core}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.resolver</groupId>
                <artifactId>shrinkwrap-resolver-bom</artifactId>
                <version>${version.shrinkwrapResolver}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            
            
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-aether-provider</artifactId>
                <version>3.2.5</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${version.arquillian}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-container-managed</artifactId>
                <version>${version.org.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-weld-ee-embedded-1.1</artifactId>
                <version>${version.arquillian.container.weld}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.remotingjmx</groupId>
                <artifactId>remoting-jmx</artifactId>
                <version>${version.jboss.remotingjmx}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.sasl</groupId>
                <artifactId>jboss-sasl</artifactId>
                <version>${version.jboss.sasl}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.resolver</groupId>
                <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
                <version>${version.shrinkwrapResolver}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.collections</groupId>
                        <artifactId>google-collections</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-7.0</artifactId>
                <version>${version.jboss.spec}</version>
                <type>pom</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.logmanager</groupId>
                <artifactId>jboss-logmanager</artifactId>
                <version>${version.jboss.logmanager}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.solder</groupId>
                <artifactId>solder-impl</artifactId>
                <version>${version.solder}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss</groupId>
                <artifactId>jboss-transaction-spi</artifactId>
                <version>${version.jboss.jboss-transaction-spi}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.logging</groupId>
                        <artifactId>jboss-logging-spi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.ironjacamar</groupId>
                        <artifactId>ironjacamar-spec-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.resource</groupId>
                        <artifactId>jboss-connector-api_1.5_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.transaction</groupId>
                        <artifactId>jboss-transaction-api_1.2_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-core</artifactId>
                <version>${version.weld}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.se</groupId>
                <artifactId>weld-se</artifactId>
                <version>${version.weld-se}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.xnio</groupId>
                <artifactId>xnio-nio</artifactId>
                <version>${version.jboss.xnio}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.slf4j</groupId>
                <artifactId>slf4j-jboss-logging</artifactId>
                <version>${version.slf4j-jboss-logging}</version>
            </dependency>

            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${version.testng}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.yaml</groupId>
                        <artifactId>snakeyaml</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>net.spy</groupId>
                <artifactId>spymemcached</artifactId>
                <version>${version.spymemcached}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.narayana.jta</groupId>
                <artifactId>narayana-jta</artifactId>
                <version>${version.jbossjta}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-httpclient</artifactId>
                        <groupId>commons-httpclient</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>ironjacamar-spec-api</artifactId>
                        <groupId>org.jboss.ironjacamar</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jbogging-spi</artifactId>
                        <groupId>org.jboss.logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-logging</artifactId>
                        <groupId>org.jboss.logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-logging-processor</artifactId>
                        <groupId>org.jboss.logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-logging-generator</artifactId>
                        <groupId>org.jboss.logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jbossws-native-core</artifactId>
                        <groupId>org.jboss.ws.native</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>emma</artifactId>
                        <groupId>emma</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>emma_ant</artifactId>
                        <groupId>emma</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>hornetq-core</artifactId>
                        <groupId>org.hornetq</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>netty</artifactId>
                        <groupId>io.netty</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>keyWrapper</artifactId>
                        <groupId>tanukisoft</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jacorb</artifactId>
                        <groupId>jacorb</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jfreechart</artifactId>
                        <groupId>jfree</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-corba-ots-spi</artifactId>
                        <groupId>org.jboss.integration</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-server-manager</artifactId>
                        <groupId>org.jboss.jbossas</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-ejb-api_3.1_spec</artifactId>
                        <groupId>org.jboss.spec.javax.ejb</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jnp-client</artifactId>
                        <groupId>org.jboss.naming</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-servlet-api_3.0_spec</artifactId>
                        <groupId>org.jboss.spec.javax.servlet</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jbossws-common</artifactId>
                        <groupId>org.jboss.ws</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jcl-over-slf4j</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>stax-api</artifactId>
                        <groupId>stax</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>idl</artifactId>
                        <groupId>jacorb</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-logging-tools</artifactId>
                        <groupId>org.jboss.logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-connector-api_1.5_spec</artifactId>
                        <groupId>org.jboss.spec.javax.resource</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-remoting</artifactId>
                        <groupId>org.jboss.remoting</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>slf4j-api</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>dom4j</artifactId>
                        <groupId>dom4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-codec</artifactId>
                        <groupId>commons-codec</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-logmanager</artifactId>
                        <groupId>org.jboss.logmanager</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>hibernate-jpa-2.0-api</artifactId>
                        <groupId>org.hibernate.javax.persistence</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jcommon</artifactId>
                        <groupId>jfree</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jboss-transaction-api_1.1_spec</artifactId>
                        <groupId>org.jboss.spec.javax.transaction</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>byteman</artifactId>
                        <groupId>org.jboss.byteman</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>byteman-submit</artifactId>
                        <groupId>org.jboss.byteman</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-all</artifactId>
                <version>${version.apache.ds}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.core</groupId>
                <artifactId>wildfly-core-testsuite-shared</artifactId>
                <version>${version.org.wildfly.core}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.security</groupId>
                <artifactId>jboss-negotiation-extras</artifactId>
                <version>${version.jboss.negotiation}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.picketbox</groupId>
                <artifactId>jbosssx-bare</artifactId>
                <version>${version.org.picketbox}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-tcnative-boringssl-static</artifactId>
                <version>${version.netty.tcp.native}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-client</artifactId>
                <version>${version.jetty.http.client}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf</groupId>
                <artifactId>apache-karaf</artifactId>
                <version>${version.karaf}</version>
                <type>zip</type>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.ops4j.pax.logging</groupId>
                        <artifactId>pax-logging-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.ops4j.pax.logging</groupId>
                        <artifactId>pax-logging-service</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.features</groupId>
                <artifactId>org.apache.karaf.features.core</artifactId>
                <version>${version.karaf}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-karaf</artifactId>
                <version>${version.pax.exam}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam</artifactId>
                <version>${version.pax.exam}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-junit4</artifactId>
                <version>${version.pax.exam}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-inject</artifactId>
                <version>${version.pax.exam}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.xerial.snappy</groupId>
                <artifactId>snappy-java</artifactId>
                <version>${version.snappy}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.components</groupId>
                <artifactId>geronimo-transaction</artifactId>
                <version>${version.geronimo.tm}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.objectweb.howl</groupId>
                <artifactId>howl</artifactId>
                <version>${version.howl}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-aether</artifactId>
                <version>${version.pax.url}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-assembly</artifactId>
                <version>${version.pax.url}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-wrap</artifactId>
                <version>${version.pax.url}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-queryparser</artifactId>
                <version>${version.lucene}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-core</artifactId>
                <version>${version.lucene}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-analyzers-common</artifactId>
                <version>${version.lucene}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-memory</artifactId>
                <version>${version.lucene}</version>
            </dependency>
            <dependency>
                <groupId>org.kohsuke.metainf-services</groupId>
                <artifactId>metainf-services</artifactId>
                <version>${version.metainf-services}</version>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.jboss.byteman</groupId>
                <artifactId>byteman</artifactId>
                <version>${version.byteman}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.byteman</groupId>
                <artifactId>byteman-bmunit</artifactId>
                <version>${version.byteman}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-testing</artifactId>
                <version>${version.hibernate.core}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.logging</groupId>
                        <artifactId>jboss-logging-spi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.jbossts</groupId>
                        <artifactId>jbossjta</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.experlog</groupId>
                        <artifactId>xapool</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.wildfly.core</groupId>
                <artifactId>wildfly-core-parent</artifactId>
                <version>${version.org.wildfly.core}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-core</artifactId>
                <version>${version.jmh}</version>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-generator-annprocess</artifactId>
                <version>${version.jmh}</version>
            </dependency>
            <dependency>
                <groupId>org.jgroups.kubernetes</groupId>
                <artifactId>jgroups-kubernetes</artifactId>
                <version>${version.jgroups.kubernetes}</version>
            </dependency>
            <dependency>
                <groupId>net.oauth.core</groupId>
                <artifactId>oauth</artifactId>
                <version>${version.oauth.core}</version>
            </dependency>
            <dependency>
                <groupId>org.latencyutils</groupId>
                <artifactId>LatencyUtils</artifactId>
                <version>${version.latency.utils}</version>
            </dependency>
            <dependency>
                <groupId>org.elasticsearch</groupId>
                <artifactId>elasticsearch</artifactId>
                <version>${version.elasticsearch}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${version.mockito}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>${version.mockito_dep.objenesis}</version>
            </dependency>
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy</artifactId>
                <version>${version.mockito_dep.bytebuddy}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy-agent</artifactId>
                <version>${version.mockito_dep.bytebuddy}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
                <version>${version.mockito_dep.hamcrest}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.jcip</groupId>
            <artifactId>jcip-annotations</artifactId>
            <version>${version.jcipannotations}</version>
            <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>
            <version>${version.jboss.logging.processor}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jacoco</groupId>
            <artifactId>org.jacoco.agent</artifactId>
            <classifier>runtime</classifier>
            <version>${version.jacoco}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.infinispan</groupId>
            <artifactId>infinispan-license</artifactId>
            <version>${project.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <directory>${buildDirectory}</directory>
        <finalName>${project.artifactId}</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.antlr</groupId>
                    <artifactId>antlr3-maven-plugin</artifactId>
                    <version>${version.maven.antlr3}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>antlr</goal>
                            </goals>
                        </execution>
                    </executions>
                </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.1</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>
                    <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>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${version.maven.bundle}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.8</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>
                            <infinispan.module-suffix>${infinispan.module-suffix}</infinispan.module-suffix>
                        </systemPropertyVariables>
                        <argLine>${forkJvmArgs} ${jigsawForkJvmArgs}</argLine>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.6</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>

                    <version>2.7.1</version>
                    <configuration>
                        <minimumTokens>100</minimumTokens>
                        <targetJdk>${version.java}</targetJdk>
                        <linkXref>false</linkXref>
                        <sourceEncoding>utf-8</sourceEncoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>${version.maven.shade}</version>
                </plugin>
                <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-surefire-plugin</artifactId>
                    <version>${version.maven.surefire}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.4</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.4.0</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>ideauidesigner-maven-plugin</artifactId>
                    <version>1.0-beta-1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>keytool-maven-plugin</artifactId>
                    <version>1.5</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.17</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.infinispan</groupId>
                            <artifactId>infinispan-checkstyle</artifactId>
                            <version>${project.version}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <configLocation>checkstyle.xml</configLocation>
                        <consoleOutput>true</consoleOutput>
                        <failsOnError>true</failsOnError>
                        <violationSeverity>error</violationSeverity>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.wildfly.plugins</groupId>
                    <artifactId>wildfly-maven-plugin</artifactId>
                    <version>${version.org.wildfly.maven-plugin}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.wildfly.core</groupId>
                            <artifactId>wildfly-cli</artifactId>
                            <version>${version.org.wildfly.cli}</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>sun.jdk</groupId>
                                    <artifactId>jconsole</artifactId>
                                </exclusion>
                            </exclusions>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>com.github.alexcojocaru</groupId>
                    <artifactId>elasticsearch-maven-plugin</artifactId>
                    <version>${version.elasticsearch.plugin}</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>1.3.1</version>
                <executions>
                    <execution>
                        <id>enforce-java</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <version>[${version.java},)</version>
                                </requireJavaVersion>
                                <requireMavenVersion>
                                    <version>[3.1.1,)</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-remote-resources-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <id>attach-license</id>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <inherited>true</inherited>
                        <configuration>
                            <resourceBundles>
                                <resourceBundle>org.infinispan:infinispan-license:${project.version}</resourceBundle>
                            </resourceBundles>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-DocURL>http://www.infinispan.org/</Bundle-DocURL>
                        <Export-Package>${project.groupId}.*;version=${project.version};-split-package:=error
                        </Export-Package>
                        <_consumer-policy>${bnd.consumer.policy}</_consumer-policy>
                        <_provider-policy>${bnd.provider.policy}</_provider-policy>
                        <Include-Resource>{maven-resources}</Include-Resource>
                    </instructions>
                </configuration>
            </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>verify</phase>
                        <goals>
                            <goal>checkstyle</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <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-jar-plugin</artifactId>
                <version>2.4</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>
                            <excludes>
                                <excludes>**/jbossts-properties.xml</excludes>
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifest>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            <mainClass>org.infinispan.Version</mainClass>
                        </manifest>
                        <manifestEntries>
                            <Implementation-Codename>${infinispan.codename}</Implementation-Codename>
                        </manifestEntries>
                    </archive>
                    <excludes>
                        <exclude>**/log4j.xml</exclude>
                        <exclude>**/*.bat</exclude>
                        <exclude>**/*.sh</exclude>
                        <exclude>**/*.txt</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.2.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </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>${defaultTestGroup}</groups>
                    <excludedGroups>${defaultExcludedTestGroup}</excludedGroups>
                    <disableXmlReport>true</disableXmlReport>
                    <useFile>false</useFile>
                    <systemPropertyVariables>
                        <infinispan.test.jgroups.protocol>${infinispan.test.jgroups.protocol}
                        </infinispan.test.jgroups.protocol>
                        <jgroups.bind_addr>127.0.0.1</jgroups.bind_addr>
                        <jgroups.join_timeout>2000</jgroups.join_timeout>
                        <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
                        <log4j.configurationFile>${log4j.configurationFile}</log4j.configurationFile>
                        <build.directory>${project.build.directory}</build.directory>

                        <infinispan.module-suffix>${infinispan.module-suffix}</infinispan.module-suffix>
                    </systemPropertyVariables>
                    <trimStackTrace>false</trimStackTrace>
                    <properties>
                        <property>
                            <name>usedefaultlisteners</name>
                            <value>false</value>
                        </property>
                        <property>
                            <name>listener</name>
                            <value>${testNGListeners}</value>
                        </property>
                    </properties>

                    <argLine>${forkJvmArgs} ${jigsawForkJvmArgs} -Dsun.nio.ch.bugLevel</argLine>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>serialize_component_metadata</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>java</goal>
                        </goals>
                        <configuration>
                            <classpathScope>compile</classpathScope>
                            <skip>${module.skipComponentMetaDataProcessing}</skip>
                            <mainClass>org.infinispan.factories.components.ComponentMetadataPersister</mainClass>
                            <arguments>
                                <argument>${project.build.outputDirectory}</argument>
                                <argument>${basedir}/src/main/resources/${project.artifactId}-component-metadata.dat
                                </argument>
                            </arguments>
                            <systemProperties>
                                <systemProperty>
                                    <key>infinispan.isCoreModule</key>
                                    <value>${module.metadata.isCoreModule}</value>
                                </systemProperty>
                            </systemProperties>
                        </configuration>
                    </execution>
                    <execution>
                        <id>serialize_test_component_metadata</id>
                        <phase>process-test-classes</phase>
                        <goals>
                            <goal>java</goal>
                        </goals>
                        <configuration>
                            <skip>${module.skipTestComponentMetaDataProcessing}</skip>
                            <mainClass>org.infinispan.factories.components.ComponentMetadataPersister</mainClass>
                            <classpathScope>test</classpathScope>
                            <arguments>
                                <argument>${project.build.testOutputDirectory}</argument>
                                <argument>
                                    ${basedir}/src/test/resources/${project.artifactId}-tests-component-metadata.dat
                                </argument>
                            </arguments>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <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>
                </dependencies>
                <executions>
                    <execution>
                        <id>copy_serialized_metadata</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <skip>${module.skipComponentMetaDataProcessing}</skip>
                            <target>
                                <copy file="${basedir}/src/main/resources/${project.artifactId}-component-metadata.dat" todir="${project.build.outputDirectory}" />
                            </target>
                        </configuration>
                    </execution>
                    <execution>
                        <id>copy_serialized_test_metadata</id>
                        <phase>process-test-classes</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <skip>${module.skipTestComponentMetaDataProcessing}</skip>
                            <target>
                                <copy file="${basedir}/src/test/resources/${project.artifactId}-tests-component-metadata.dat" todir="${project.build.testOutputDirectory}" />
                            </target>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generate-blueprint</id>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <phase>none</phase>
                        <configuration>
                            <target>
                                <property name="classpath" refid="maven.compile.classpath" />
                                <java classname="org.infinispan.commons.util.BlueprintGenerator" failonerror="true" fork="false">
                                    <arg value="${project.build.outputDirectory}" />
                                    <classpath>
                                        <pathelement path="${project.build.outputDirectory}" />
                                        <pathelement path="${classpath}" />
                                    </classpath>
                                </java>
                            </target>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>

                <version>2.7.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.18.1</version>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>2.5.2</version>
                <configuration>
                    <onlyAnalyze>org.infinispan.*</onlyAnalyze>
                    <xmlOutput>true</xmlOutput>
                    <xmlOutputDirectory>target</xmlOutputDirectory>
                </configuration>
            </plugin>
        </plugins>
    </reporting>
    <profiles>
        <profile>
            <id>distribution</id>
            <properties>
                <skipTests>true</skipTests>
            </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>
                                    <includeScope>runtime</includeScope>
                                    <excludeScope>test</excludeScope>
                                    <excludeArtifactIds>
                                        infinispan-embedded,infinispan-embedded-query,infinispan-remote
                                    </excludeArtifactIds>
                                    <excludeGroupIds>
                                        org.infinispan,org.jgroups,org.jboss.marshalling,org.jboss.logging,net.jcip
                                    </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>
                                    <includeScope>runtime</includeScope>
                                    <excludeScope>test</excludeScope>
                                    <excludeGroupIds>
                                        org.infinispan,org.jgroups,org.jboss.marshalling,org.jboss.logging,net.jcip
                                    </excludeGroupIds>
                                    <silent>true</silent>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>jigsaw</id>
            <activation>
                <jdk>[9,)</jdk>
            </activation>
            <properties>
                
                <jigsawForkJvmArgs>
                    -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-modules=java.xml.bind
                    --add-exports=java.security.sasl/com.sun.security.sasl=ALL-UNNAMED
                    --add-opens=java.base/java.text=ALL-UNNAMED
                    --add-opens=java.desktop/java.awt.font=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
                </jigsawForkJvmArgs>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <configuration>
                                
                                <fork>true</fork>
                                <compilerArgs>
                                    <arg>-J--add-modules</arg>
                                    <arg>-Jjava.xml.ws.annotation</arg>
                                </compilerArgs>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>

        <profile>
            <id>extras</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                
                <property>
                    <name>maven.home</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <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>
            <properties>
                <packaging>bundle</packaging>
            </properties>
        </profile>
        <profile>
            <id>test-CI</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <defaultTestGroup>functional,unit,arquillian</defaultTestGroup>
                <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
            </properties>
        </profile>
        <profile>
            <id>test-functional</id>
            <properties>
                <defaultTestGroup>functional</defaultTestGroup>
                <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
            </properties>
        </profile>
        <profile>
            <id>smoke</id>
            <properties>
                <defaultTestGroup>smoke</defaultTestGroup>
                <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
            </properties>
        </profile>
        <profile>
            <id>test-xsite</id>
            <properties>
                <defaultTestGroup>xsite</defaultTestGroup>
                <infinispan.test.parallel.threads>1</infinispan.test.parallel.threads>
                <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
                <infinispan.module-suffix>-${project.artifactId}-xsite</infinispan.module-suffix>
            </properties>
        </profile>
        <profile>
            <id>test-unstable</id>
            <properties>
                <defaultTestGroup>unstable</defaultTestGroup>

                <defaultExcludedTestGroup />
                <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
            </properties>
        </profile>
        <profile>
            <id>test-stress</id>
            <properties>
                <defaultTestGroup>stress</defaultTestGroup>
                <defaultExcludedTestGroup />
                <infinispan.test.parallel.threads>1</infinispan.test.parallel.threads>
                <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
            </properties>
        </profile>
        <profile>
            <id>test-unit</id>
            <properties>
                <defaultTestGroup>unit</defaultTestGroup>
            </properties>
        </profile>
        <profile>
            <id>test-jgroups</id>
            <properties>
                <defaultTestGroup>jgroups</defaultTestGroup>
            </properties>
        </profile>
        <profile>
            <id>test-transaction</id>
            <properties>
                <defaultTestGroup>transaction</defaultTestGroup>
            </properties>
        </profile>
        <profile>
            <id>fail-all-tests</id>
            <properties>
                <testNGListener>
                    org.infinispan.commons.test.TestNGTestListener,org.infinispan.test.fwk.FailAllTestNGHook
                </testNGListener>
                <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
            </properties>
        </profile>
        <profile>
            <id>fail-all-tests-setup</id>
            <properties>
                <testNGListener>
                    org.infinispan.commons.test.TestNGTestListener,org.infinispan.test.fwk.FailAllSetupTestNGHook
                </testNGListener>
                <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
            </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>

        
        <profile>
            <id>root-dir1</id>
            <activation>
                <file>
                    <exists>${basedir}/../etc/log4j2.xml</exists>
                </file>
            </activation>
            <properties>
                <log4j.configurationFile>${basedir}/../etc/log4j2.xml</log4j.configurationFile>
            </properties>
        </profile>
        <profile>
            <id>root-dir2</id>
            <activation>
                <file>
                    <exists>${basedir}/../../etc/log4j2.xml</exists>
                </file>
            </activation>
            <properties>
                <log4j.configurationFile>${basedir}/../../etc/log4j2.xml</log4j.configurationFile>
            </properties>
        </profile>
        <profile>
            <id>root-dir3</id>
            <activation>
                <file>
                    <exists>${basedir}/../../../etc/log4j2.xml</exists>
                </file>
            </activation>
            <properties>
                <log4j.configurationFile>${basedir}/../../../etc/log4j2.xml</log4j.configurationFile>
            </properties>
        </profile>
        <profile>
            <id>nonParallel</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <infinispan.test.parallel.threads>1</infinispan.test.parallel.threads>
                <infinispan.test.jgroups.protocol>tcp</infinispan.test.jgroups.protocol>
            </properties>
        </profile>
        <profile>
            <id>traceTests</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <systemPropertyVariables>
                                <log4j.configurationFile>log4j2-trace.xml</log4j.configurationFile>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </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} -Dsun.nio.ch.bugLevel
                                ${jacoco.agent.argLine}
                            </argLine>
                        </configuration>
                    </plugin>

                    <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.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>
                    <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}</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <id>copy-generated-classes</id>
                                <phase>test</phase>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <configuration>
                                    <target>
                                        <ns2:if xmlns:ns2="antlib:net.sf.antcontrib">
                                            <ns2:available file="${project.build.directory}/classes" type="dir" />
                                            <ns2:then>
                                                <echo>Copying test classes to jacoco folder.</echo>
                                                <copydir dest="${jacoco.reportPath}/classes" src="${project.build.directory}/classes" />
                                            </ns2:then>
                                        </ns2: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}/atomic-factory/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}/cli/cli-interpreter/src/main/java</source>
                                        <source>${dir.ispn}/client/hotrod-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}/demos/distexec/src/main/java</source>
                                        <source>${dir.ispn}/demos/gridfs-webdav//src/main/java</source>
                                        <source>${dir.ispn}/demos/gui/src/main/java</source>
                                        <source>${dir.ispn}/demos/lucene-directory-demo/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}/osgi/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/rest/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/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}/server/websocket/src/main/java</source>
                                        <source>${dir.ispn}/spring/spring/src/main/java</source>
                                        <source>${dir.ispn}/spring/spring4/spring4-common/src/main/java</source>
                                        <source>${dir.ispn}/spring/spring4/spring4-embedded/src/main/java</source>
                                        <source>${dir.ispn}/spring/spring4/spring4-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>