<?xml version="1.0" encoding="UTF-8"?>
<!--
 ~ Hibernate Search, full-text search for your domain model
 ~
 ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later
 ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
  -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-search-parent</artifactId>
    <version>5.9.3.Final</version>
    <packaging>pom</packaging>

    <name>Hibernate Search Aggregator</name>
    <description>Hibernate Search Aggregator POM</description>
    <url>http://search.hibernate.org</url>

    <inceptionYear>2006</inceptionYear>

    <modules>
        <module>build-config</module>
        <module>sharedtestresources</module>
        <module>legacy</module>
        <module>engine</module>
        <module>serialization/avro</module>
        <module>backends/jgroups</module>
        <module>backends/jms</module>
        <module>elasticsearch</module>
        <module>elasticsearch-aws</module>
        <module>orm</module>
        <module>jsr352</module>
        <module>testing</module>
        <module>infinispan</module>
        <module>jbossmodules</module>
        <module>integrationtest/elasticsearch</module>
        <module>integrationtest/wildfly</module>
        <module>integrationtest/jms</module>
        <module>integrationtest/narayana</module>
        <module>integrationtest/spring</module>
        <module>integrationtest/osgi/karaf-features</module>
        <module>integrationtest/osgi/karaf-it</module>
        <module>integrationtest/jsr352</module>
        <module>integrationtest/performance/orm</module>
        <module>integrationtest/performance/sandbox</module>
        <module>integrationtest/performance/engine-lucene</module>
        <module>integrationtest/performance/engine-elasticsearch</module>
    </modules>

    <issueManagement>
        <system>JIRA</system>
        <url>https://hibernate.atlassian.net/browse/HSEARCH</url>
    </issueManagement>

    <scm>
        <connection>scm:git:git://github.com/hibernate/hibernate-search.git</connection>
        <developerConnection>scm:git:git@github.com:hibernate/hibernate-search.git</developerConnection>
        <url>http://github.com/hibernate/hibernate-search</url>
        <tag>HEAD</tag>
    </scm>

    <organization>
        <name>Hibernate</name>
        <url>http://www.hibernate.org</url>
    </organization>

    <licenses>
        <license>
            <name>GNU Lesser General Public License</name>
            <url>http://www.gnu.org/licenses/lgpl-2.1.html</url>
            <comments>See also: http://hibernate.org/license</comments>
        </license>
    </licenses>

    <ciManagement>
        <system>Jenkins</system>
        <url>http://ci.hibernate.org/view/Search/job/hibernate-search-master/</url>
    </ciManagement>

    <developers>
        <developer>
            <id>epbernard</id>
            <name>Emmanuel Bernard</name>
            <email>emmanuel@hibernate.org</email>
            <organization>Red Hat, Inc.</organization>
            <url>http://in.relation.to/emmanuel-bernard/</url>
        </developer>
        <developer>
            <id>hardy.ferentschik</id>
            <name>Hardy Ferentschik</name>
            <email>hferents@redhat.com</email>
            <organization>Red Hat, Inc.</organization>
            <url>http://in.relation.to/hardy-ferentschik/</url>
        </developer>
        <developer>
            <id>sannegrinovero</id>
            <name>Sanne Grinovero</name>
            <email>sanne@hibernate.org</email>
            <organization>Red Hat, Inc.</organization>
            <url>http://in.relation.to/sanne-grinovero/</url>
        </developer>
        <developer>
            <id>gunnar.morling</id>
            <name>Gunnar Morling</name>
            <email>gunnar@hibernate.org</email>
            <organization>Red Hat, Inc.</organization>
            <url>http://in.relation.to/gunnar-morling/</url>
        </developer>
        <developer>
            <id>davide.dalto</id>
            <name>Davide D'Alto</name>
            <email>davide@hibernate.org</email>
            <organization>Red Hat, Inc.</organization>
            <url>http://in.relation.to/davide-dalto/</url>
        </developer>
        <developer>
            <id>guillaume.smet</id>
            <name>Guillaume Smet</name>
            <email>guillaume@hibernate.org</email>
            <organization>Red Hat, Inc.</organization>
            <url>http://in.relation.to/guillaume-smet/</url>
        </developer>
        <developer>
            <id>yoann.rodiere</id>
            <name>Yoann Rodière</name>
            <email>yoann@hibernate.org</email>
            <organization>Red Hat, Inc.</organization>
            <url>http://in.relation.to/yoann-rodiere/</url>
        </developer>
        <developer>
            <id>mincong-h</id>
            <name>Mincong Huang</name>
            <email>mincong.h@gmail.com</email>
            <url>http://mincong-h.github.io</url>
        </developer>
    </developers>

    <mailingLists>
        <mailingList>
            <name>Hibernate Announcements</name>
            <post>hibernate-announce@lists.jboss.org</post>
            <subscribe>https://lists.jboss.org/mailman/listinfo/hibernate-announce</subscribe>
            <unsubscribe>https://lists.jboss.org/mailman/listinfo/hibernate-announce</unsubscribe>
            <archive>http://lists.jboss.org/pipermail/hibernate-dev/</archive>
        </mailingList>
        <mailingList>
            <name>Hibernate Commit Notifications</name>
            <post>hibernate-commits@lists.jboss.org</post>
            <subscribe>https://lists.jboss.org/mailman/listinfo/hibernate-commits</subscribe>
            <unsubscribe>https://lists.jboss.org/mailman/listinfo/hibernate-commits</unsubscribe>
            <archive>http://lists.jboss.org/pipermail/hibernate-commits/</archive>
        </mailingList>
        <mailingList>
            <name>Hibernate Developers</name>
            <post>hibernate-dev@lists.jboss.org</post>
            <subscribe>https://lists.jboss.org/mailman/listinfo/hibernate-dev</subscribe>
            <unsubscribe>https://lists.jboss.org/mailman/listinfo/hibernate-dev</unsubscribe>
            <archive>http://lists.jboss.org/pipermail/hibernate-dev/</archive>
            <otherArchives>
                <otherArchive>http://www.mail-archive.com/hibernate-dev%40lists.jboss.org/index.html</otherArchive>
            </otherArchives>
        </mailingList>
        <mailingList>
            <name>Hibernate Issue Notifications</name>
            <post>hibernate-issues@lists.jboss.org</post>
            <subscribe>https://lists.jboss.org/mailman/listinfo/hibernate-issues</subscribe>
            <unsubscribe>https://lists.jboss.org/mailman/listinfo/hibernate-issues</unsubscribe>
            <archive>http://lists.jboss.org/pipermail/hibernate-issues/</archive>
        </mailingList>
    </mailingLists>

    <prerequisites>
        <maven>${minMavenVersion}</maven>
    </prerequisites>

    <properties>
        <!-- JDK version required for the build; we target 1.8 since Hibernate ORM 5.2 requires Java 8 -->
        <minJdkVersion>1.8</minJdkVersion>
        <minMavenVersion>3.2.3</minMavenVersion>
        <!-- Can be overridden by subprojects if dependency convergence cannot be achieved -->
        <enforcer.dependencyconvergence.skip>false</enforcer.dependencyconvergence.skip>

        <!-- Dependency versions -->
        <slf4jVersion>1.6.4</slf4jVersion>
        <luceneVersion>5.5.5</luceneVersion>
        <lucene.module.slot>5.5</lucene.module.slot>
        <lucene.feature-pack.version>5.5.5.hibernate05</lucene.feature-pack.version>
        <infinispanVersion>9.0.1.Final</infinispanVersion>
        <jgroupsVersion>3.6.12.Final</jgroupsVersion>

        <!-- ORM and transitive deps; Make sure to match ORM's set of versions when updating -->
        <hibernateVersion>5.2.17.Final</hibernateVersion>
        <hibernateShortVersion>5.2</hibernateShortVersion>
        <hibernateCommonsAnnotationVersion>5.0.1.Final</hibernateCommonsAnnotationVersion>
        <jandexVersion>2.0.3.Final</jandexVersion>
        <classMateVersion>1.3.0</classMateVersion>
        <javassistVersion>3.22.0-GA</javassistVersion>
        <bytebuddyVersion>1.6.14</bytebuddyVersion>

        <!-- OSGi ranges for some primary dependencies -->
        <!-- Warning:
            Ranges are maintained as best effort on our knowledge but only the
            exact versions in this pom are being tested.
            Essentially we allow older versions when we know no changes were necessary when we upgraded the dependency. -->
        <luceneOsgiRangeVersion>[5.3.0,5.6.0)</luceneOsgiRangeVersion>
        <hibernateOrmOsgiRangeVersion>[5.2.0,5.3.0)</hibernateOrmOsgiRangeVersion>
        <hibernateHcannOsgiRangeVersion>[5,6)</hibernateHcannOsgiRangeVersion>
        <jGroupsOsgiRangeVersion>[3.6.0,4)</jGroupsOsgiRangeVersion>
        <jbossLoggingOsgiRangeVersion>[3.3,4.0.0)</jbossLoggingOsgiRangeVersion>

        <tikaVersion>1.4</tikaVersion>
        <bytemanVersion>4.0.0</bytemanVersion>
        <jbossLoggingVersion>3.3.1.Final</jbossLoggingVersion>
        <jbossLoggingProcessorVersion>2.1.0.Final</jbossLoggingProcessorVersion>
        <narayanaVersion>5.5.30.Final</narayanaVersion>
        <avroVersion>1.7.6</avroVersion>
        <jacksonAslVersion>1.9.13</jacksonAslVersion>
        <commonsCompressVersion>1.5</commonsCompressVersion>
        <commonsIoVersion>2.1</commonsIoVersion>
        <jbossTransactionApiVersion>1.0.1.Final</jbossTransactionApiVersion>
        <jbossTransactionSpiVersion>7.6.0.Final</jbossTransactionSpiVersion>
        <commonsLoggingVersion>1.1.3</commonsLoggingVersion>
        <activeMQVersion>5.13.3</activeMQVersion>
        <commonsLangVersion>2.6</commonsLangVersion>
        <commonsLang3Version>3.5</commonsLang3Version>
        <httpCoreVersion>4.4.5</httpCoreVersion>
        <httpClientVersion>4.5.2</httpClientVersion>
        <commonsCodecVersion>1.10</commonsCodecVersion>

        <!-- Elasticsearch -->
        <!-- When updating the following versions you will likely need to update the
             matching test profile as well, e.g. elasticsearch-5.2 for the 5.2+ series -->
        <elasticsearchClientVersion>5.6.7</elasticsearchClientVersion>
        <elasticsearch-client.module.slot>5.6</elasticsearch-client.module.slot>
        <elasticsearch-client.feature-pack.version>5.6.7.hibernate01</elasticsearch-client.feature-pack.version>
        <gsonVersion>2.8.2</gsonVersion>
        <gson.module.slot>2.8</gson.module.slot>
        <gson.feature-pack.version>2.8.2.hibernate03</gson.feature-pack.version>
        <awsV4SignerJavaVersion>1.3</awsV4SignerJavaVersion>
        <aws-v4-signer-java.module.slot>${awsV4SignerJavaVersion}</aws-v4-signer-java.module.slot>
        <aws-v4-signer-java.feature-pack.version>1.3.0.hibernate03</aws-v4-signer-java.feature-pack.version>

        <!-- Tests -->
        <!-- Fixes dependency convergence within Wiremock, see below -->
        <jacksonVersion>2.8.6</jacksonVersion>

        <!-- Integration tests -->
        <arquillianVersion>1.1.11.Final</arquillianVersion>
        <arquillianContainerVersion>2.0.0.Final</arquillianContainerVersion>
        <shrinkwrapResolverVersion>2.2.2</shrinkwrapResolverVersion>
        <wildflyVersion>11.0.0.Final</wildflyVersion>
        <jmhVersion>1.20</jmhVersion>
        <h2Version>1.4.178</h2Version>
        <repository.jboss-public.url>https://repository.jboss.org/nexus/content/groups/public-jboss/</repository.jboss-public.url>

        <!-- Elasticsearch -->
        <test.elasticsearch.host.url>http://localhost:9200</test.elasticsearch.host.url>
        <test.elasticsearch.host.username></test.elasticsearch.host.username>
        <test.elasticsearch.host.password></test.elasticsearch.host.password>
        <test.elasticsearch.client.http_client_configurer></test.elasticsearch.client.http_client_configurer>

        <!-- JSR 352 -->
        <!-- in line with the version used in WildFly 11 -->
        <jberetVersion>1.2.4.Final</jberetVersion>
        <!-- they didn't publish the javadoc for the other 1.2.x -->
        <jberetJavadocVersion>1.2.0.Final</jberetJavadocVersion>

        <!-- character encoding -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <!-- Eclipse plugin options -->
        <m2e.apt.activation>jdt_apt</m2e.apt.activation>

        <!--
            Please don't change the name of this property, it may be used and
            overridden by a CI job of the Checkstyle project so that they can
            check for regressions. Which is obviously good for us, too.
         -->
        <puppycrawl.checkstyle.version>8.3</puppycrawl.checkstyle.version>

        <!-- Asciidoctor -->
        <hibernate-asciidoctor-theme.version>1.0.1.Final</hibernate-asciidoctor-theme.version>
        <asciidoctor-maven-plugin.version>1.5.3</asciidoctor-maven-plugin.version>
        <jruby.version>1.7.26</jruby.version>
        <asciidoctorj.version>1.5.4.1</asciidoctorj.version>
        <asciidoctorj-pdf.version>1.5.0-alpha.11</asciidoctorj-pdf.version>

        <!-- Version to be used as baseline for API/SPI change reports -->
        <previous.stable>5.8.2.Final</previous.stable>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${hibernateVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-infinispan</artifactId>
                <version>${hibernateVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.common</groupId>
                <artifactId>hibernate-commons-annotations</artifactId>
                <version>${hibernateCommonsAnnotationVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.1-api</artifactId>
                <version>1.0.2.Final</version>
            </dependency>
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy</artifactId>
                <version>${bytebuddyVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-core</artifactId>
                <version>${luceneVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-backward-codecs</artifactId>
                <version>${luceneVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-misc</artifactId>
                <version>${luceneVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-analyzers-common</artifactId>
                <version>${luceneVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-queryparser</artifactId>
                <version>${luceneVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.lucene</groupId>
                        <artifactId>lucene-sandbox</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-analyzers-phonetic</artifactId>
                <version>${luceneVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-spellchecker</artifactId>
                <version>${luceneVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-facet</artifactId>
                <version>${luceneVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-grouping</artifactId>
                <version>${luceneVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tika</groupId>
                <artifactId>tika-parsers</artifactId>
                <version>${tikaVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.gagravarr</groupId>
                        <artifactId>vorbis-java-tika</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>edu.ucar</groupId>
                        <artifactId>netcdf</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.james</groupId>
                        <artifactId>apache-mime4j-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.james</groupId>
                        <artifactId>apache-mime4j-dom</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-compress</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-codec</groupId>
                        <artifactId>commons-codec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.pdfbox</groupId>
                        <artifactId>pdfbox</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.poi</groupId>
                        <artifactId>poi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.poi</groupId>
                        <artifactId>poi-scratchpad</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.poi</groupId>
                        <artifactId>poi-ooxml</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.bouncycastle</groupId>
                        <artifactId>bcmail-jdk15</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.bouncycastle</groupId>
                        <artifactId>bcprov-jdk15</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>geronimo-stax-api_1.0_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.ccil.cowan.tagsoup</groupId>
                        <artifactId>tagsoup</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.ow2.asm</groupId>
                        <artifactId>asm-debug-all</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.googlecode.mp4parser</groupId>
                        <artifactId>isoparser</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.drewnoakes</groupId>
                        <artifactId>metadata-extractor</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>de.l3s.boilerpipe</groupId>
                        <artifactId>boilerpipe</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>rome</groupId>
                        <artifactId>rome</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.gagravarr</groupId>
                        <artifactId>vorbis-java-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.googlecode.juniversalchardet</groupId>
                        <artifactId>juniversalchardet</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.tika</groupId>
                <artifactId>tika-core</artifactId>
                <version>${tikaVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>pdfbox</artifactId>
                <version>1.8.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.avro</groupId>
                <artifactId>avro</artifactId>
                <version>${avroVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.xerial.snappy</groupId>
                        <artifactId>snappy-java</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.tukaani</groupId>
                        <artifactId>xz</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <!-- To force testing of Apache Avro integration with the version of Jackson used in WildFly -->
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>${jacksonAslVersion}</version>
            </dependency>
            <dependency>
                <!-- To force testing of Apache Avro integration with the version of Jackson used in WildFly -->
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${jacksonAslVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${commonsCompressVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commonsIoVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commonsLangVersion}</version>
            </dependency>
            <dependency>
                <!-- Dependency management is necessary for Wiremock in particular (it has internal dependency convergence) -->
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commonsLang3Version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpClientVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${httpCoreVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commonsCodecVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-serialization-avro</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-backend-jms</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-backend-jgroups</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-infinispan</artifactId>
                <version>${project.version}</version>
            </dependency>
             <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-orm</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-orm</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-engine</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-jbossmodules-engine</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-search-jbossmodules-orm</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-jbossmodules-elasticsearch</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-search-jbossmodules-elasticsearch-aws</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-search-jbossmodules-hibernate-orm</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hibernate-search-jbossmodules-testing</artifactId>
                <version>${project.version}</version>
                <type>zip</type>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-sharedtestresources</artifactId>
                <classifier>build-resources</classifier>
                <type>zip</type>
                <version>${project.version}</version>
                <scope>provided</scope>
            </dependency>
            
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-engine</artifactId>
                <type>test-jar</type>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-testing</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-documentation</artifactId>
                <type>pom</type>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-elasticsearch</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-elasticsearch-aws</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-jsr352-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-jsr352-core</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-jsr352-jberet</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jberet</groupId>
                <artifactId>jberet-core</artifactId>
                <version>${jberetVersion}</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${commonsLoggingVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-broker</artifactId>
                <version>${activeMQVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-envers</artifactId>
                <version>${hibernateVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-testing</artifactId>
                <version>${hibernateVersion}</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>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>geronimo-jta_1.1_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec.javax.jms</groupId>
                <artifactId>jboss-jms-api_2.0_spec</artifactId>
                <version>1.0.0.Final</version>
            </dependency>
            <dependency>
                <groupId>org.jgroups</groupId>
                <artifactId>jgroups</artifactId>
                <version>${jgroupsVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec.javax.annotation</groupId>
                <artifactId>jboss-annotations-api_1.2_spec</artifactId>
                <version>1.0.0.Final</version>
            </dependency>
            <dependency>
                <groupId>javax.batch</groupId>
                <artifactId>javax.batch-api</artifactId>
                <version>1.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.enterprise</groupId>
                <artifactId>cdi-api</artifactId>
                <version>1.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec.javax.ejb</groupId>
                <artifactId>jboss-ejb-api_3.2_spec</artifactId>
                <version>1.0.0.Final</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.ejb3</groupId>
                <artifactId>jboss-ejb3-ext-api</artifactId>
                <version>2.1.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>3.5.1</version>
            </dependency>
            <dependency>
                <groupId>org.unitils</groupId>
                <artifactId>unitils-easymock</artifactId>
                <version>3.4.6</version>
            </dependency>
            <dependency>
                <groupId>simple-jndi</groupId>
                <artifactId>simple-jndi</artifactId>
                <version>0.11.4.1</version>
            </dependency>
            <dependency>
                <groupId>org.easytesting</groupId>
                <artifactId>fest-assert</artifactId>
                <version>1.4</version>
            </dependency>
            <dependency>
                <groupId>org.skyscreamer</groupId>
                <artifactId>jsonassert</artifactId>
                <version>1.2.3</version>
            </dependency>
            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock</artifactId>
                <version>2.5.1</version>
            </dependency>
            <!--
                Fix dependency convergence within jackson-databind 2.6 (used by wiremock).
                Jackson databind 2.6.x has a packaging issue: it depends on jackson-annotations:2.6.0
                for every version of databind (2.6.1, 2.6.2, ...).
                We solve this by managing the version of jackson ourselves. 
             -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jacksonVersion}</version>
            </dependency>
            <!--
            We need to keep the slf4j dependencies listed here even though we are not using slf4j anymore.
            Listing them within dependencyManagement will ensure that ${slf4jVersion} is used as slf4j version
            for transitive dependencies
            -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4jVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4jVersion}</version>
            </dependency>
            
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.16</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${jbossLoggingVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-annotations</artifactId>
                <version>${jbossLoggingProcessorVersion}</version>
                <scope>provided</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.jboss.byteman</groupId>
                <artifactId>byteman</artifactId>
                <version>${bytemanVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.byteman</groupId>
                <artifactId>byteman-install</artifactId>
                <version>${bytemanVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun</groupId>
                        <artifactId>tools</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.byteman</groupId>
                <artifactId>byteman-bmunit</artifactId>
                <version>${bytemanVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.narayana.jta</groupId>
                <artifactId>narayana-jta</artifactId>
                <version>${narayanaVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec.javax.transaction</groupId>
                <artifactId>jboss-transaction-api_1.2_spec</artifactId>
                <version>${jbossTransactionApiVersion}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss</groupId>
                <artifactId>jboss-transaction-spi</artifactId>
                <version>${jbossTransactionSpiVersion}</version>
            </dependency>

            <!-- Manage version of xml-apis to have dom4j and Tika requirements converge -->
            <dependency>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis</artifactId>
                <version>1.3.03</version>
            </dependency>
            <dependency>
                <groupId>io.takari.junit</groupId>
                <artifactId>takari-cpsuite</artifactId>
                <version>1.2.7</version>
            </dependency>

            <!-- JDBC drivers -->
            <!-- Profile-specific driver, used in most database-sensitive integration tests -->
            <dependency>
                <groupId>${jdbc.driver.groupId}</groupId>
                <artifactId>${jdbc.driver.artifactId}</artifactId>
                <version>${jdbc.driver.version}</version>
            </dependency>
            <!-- H2 driver, used in some integration tests regardless of the database profile -->
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2Version}</version>
            </dependency>

            <!-- External WildFly feature packs (to build our own feature packs) -->
            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-feature-pack</artifactId>
                <type>zip</type>
                <version>${wildflyVersion}</version>
                <!-- We just need the ZIP, not the dependencies -->
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate.lucene-jbossmodules</groupId>
                <artifactId>lucene-jbossmodules</artifactId>
                <type>zip</type>
                <version>${lucene.feature-pack.version}</version>
                <!-- We just need the ZIP, not the dependencies -->
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate.elasticsearch-client-jbossmodules</groupId>
                <artifactId>elasticsearch-client-jbossmodules</artifactId>
                <type>zip</type>
                <version>${elasticsearch-client.feature-pack.version}</version>
                <!-- We just need the ZIP, not the dependencies -->
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate.gson-jbossmodules</groupId>
                <artifactId>gson-jbossmodules</artifactId>
                <type>zip</type>
                <version>${gson.feature-pack.version}</version>
                <!-- We just need the ZIP, not the dependencies -->
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate.aws-v4-signer-java-jbossmodules</groupId>
                <artifactId>aws-v4-signer-java-jbossmodules</artifactId>
                <type>zip</type>
                <version>${aws-v4-signer-java.feature-pack.version}</version>
                <!-- We just need the ZIP, not the dependencies -->
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <defaultGoal>install</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <showWarnings>true</showWarnings>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <!-- needed because of compiler bug: http://bugs.sun.com/view_bug.do?bug_id=6512707 -->
                    <proc>none</proc>
                </configuration>
            </plugin>
            <plugin>
               <groupId>com.github.marschall</groupId>
               <artifactId>jdeps-maven-plugin</artifactId>
               <!--
                   Not enabling automatic executions; run:
                    > mvn jdeps:jdeps
                    to get a report.
               -->
               <configuration>
                  <!-- Allows to see which JRE profiles will be needed -->
                  <profile>true</profile>
                  <failOnWarning>true</failOnWarning>
               </configuration>
            </plugin>
            <plugin>
                <!-- This defines the properties 'parsedVersion.majorVersion'
                    and 'parsedVersion.minorVersion' to be in synch with the current project version -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                    <id>parse-version</id>
                    <goals>
                        <goal>parse-version</goal>
                    </goals>
                  </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-maven-plugin</artifactId>
                <configuration>
                    <nexusUrl>https://repository.jboss.org/nexus</nexusUrl>
                    <automatic>true</automatic>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Implementation-Title>${project.name}</Implementation-Title>
                            <Implementation-Version>${project.version}</Implementation-Version>
                            <Implementation-Vendor>hibernate.org</Implementation-Vendor>
                            <Implementation-Vendor-Id>hibernate.org</Implementation-Vendor-Id>
                            <Implementation-URL>http://search.hibernate.org</Implementation-URL>
                        </manifestEntries>
                    </archive>
                    <skipIfEmpty>true</skipIfEmpty>
                </configuration>
                <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>
                                <exclude>**/hibernate.properties</exclude>
                                <exclude>**/log4j.properties</exclude>
                                <exclude>**/META-INF/persistence.xml</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-common-rules</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <!-- require JDK 1.8 to run the build -->
                                    <version>[${minJdkVersion},)</version>
                                </requireJavaVersion>
                                <requireMavenVersion>
                                    <version>${minMavenVersion}</version>
                                </requireMavenVersion>
                                <banDuplicatePomDependencyVersions />
                            </rules>
                        </configuration>
                    </execution>
                    <execution>
                        <id>enforce-dependency-convergence</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <skip>${enforcer.dependencyconvergence.skip}</skip>
                            <rules>
                                <DependencyConvergence />
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <goals>deploy</goals>
                    <arguments>-DskipTests</arguments>
                    <pushChanges>false</pushChanges>
                    <localCheckout>true</localCheckout>
                    <preparationGoals>clean install</preparationGoals>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                    <allowTimestampedSnapshots>true</allowTimestampedSnapshots>
                    <tagNameFormat>@{project.version}</tagNameFormat>
                </configuration>
            </plugin>
            <plugin>
                <groupId>de.thetaphi</groupId>
                <artifactId>forbiddenapis</artifactId>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.wildfly.build</groupId>
                    <artifactId>wildfly-feature-pack-build-maven-plugin</artifactId>
                    <version>1.2.6.Final</version>
                </plugin>
                <plugin>
                    <groupId>org.wildfly.build</groupId>
                    <artifactId>wildfly-server-provisioning-maven-plugin</artifactId>
                    <version>1.2.6.Final</version>
                </plugin>
                <plugin>
                    <groupId>com.github.marschall</groupId>
                    <artifactId>jdeps-maven-plugin</artifactId>
                    <version>0.4.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.6</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <!-- Needing 3.6.2 at least because of MCOMPILER-294 -->
                    <version>3.6.2</version>
                </plugin>
                <plugin>
                    <groupId>org.bsc.maven</groupId>
                    <artifactId>maven-processor-plugin</artifactId>
                    <version>3.2.0</version>
                    <executions>
                        <!-- Run annotation processors on src/main/java sources -->
                        <execution>
                            <id>process</id>
                            <goals>
                                <goal>process</goal>
                            </goals>
                            <phase>generate-sources</phase>
                            <configuration>
                                <processors>
                                    <processor>org.jboss.logging.processor.apt.LoggingToolsProcessor</processor>
                                </processors>
                                <!-- Disable usage of the @Generated annotation: too much trouble as requirements are different across JDK8 vs JDK9 -->
                                <!-- See also: https://github.com/jboss-logging/jboss-logging-tools/pull/60#issuecomment-293088198 -->
                                <compilerArguments>-source 1.8 -target 1.8 -Aorg.jboss.logging.tools.addGeneratedAnnotation=false</compilerArguments>
                            </configuration>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.jboss.logging</groupId>
                            <artifactId>jboss-logging-processor</artifactId>
                            <version>${jbossLoggingProcessorVersion}</version>
                            <scope>compile</scope>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.sonatype.plugins</groupId>
                    <artifactId>nexus-maven-plugin</artifactId>
                    <version>2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.20.1</version>
                    <configuration>
                        <forkCount>1</forkCount>
                        <reuseForks>true</reuseForks>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <runOrder>alphabetical</runOrder>
                        <systemPropertyVariables>
                            <!-- See HSEARCH-1444 -->
                            <hibernate.service.allow_crawling>false</hibernate.service.allow_crawling>
                            <com.sun.management.jmxremote>true</com.sun.management.jmxremote>
                            <org.hibernate.search.enable_performance_tests>${org.hibernate.search.enable_performance_tests}</org.hibernate.search.enable_performance_tests>
                            <org.hibernate.search.fail_on_unreleased_service>true</org.hibernate.search.fail_on_unreleased_service>
                            <!-- Javassist still not working when using stricter checks with Jigsaw: use ByteBuddy -->
                            <hibernate.bytecode.provider>bytebuddy</hibernate.bytecode.provider>
                        </systemPropertyVariables>
                        <argLine>${additionalRuntimeArgLine}</argLine>
                        <additionalClasspathElements>
                            <!-- Needed by Byteman to load the agent on demand -->
                            <additionalClasspathElement>${jdk-toolsjar}</additionalClasspathElement>
                        </additionalClasspathElements>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.asciidoctor</groupId>
                    <artifactId>asciidoctor-maven-plugin</artifactId>
                    <version>${asciidoctor-maven-plugin.version}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.jruby</groupId>
                            <artifactId>jruby-complete</artifactId>
                            <version>${jruby.version}</version>
                        </dependency>
                         <dependency>
                            <groupId>org.asciidoctor</groupId>
                            <artifactId>asciidoctorj</artifactId>
                            <version>${asciidoctorj.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.asciidoctor</groupId>
                            <artifactId>asciidoctorj-pdf</artifactId>
                            <version>${asciidoctorj-pdf.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>ch.mfrey.maven.plugin</groupId>
                    <artifactId>copy-maven-plugin</artifactId>
                    <version>0.0.5</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-release-plugin</artifactId>
                    <version>2.5.3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.0.0-M1</version>
                    <configuration>
                        <!-- Fail on error alternative -->
                        <!-- <additionalparam>-Xdoclint:none</additionalparam> -->
                        <quiet>true</quiet>
                        <verbose>false</verbose>
                        <failOnError>${failOnJavaDocError}</failOnError>
                        <!-- Exclude implementation classes from the javadoc -->
                        <excludePackageNames>*.impl,*.impl.*</excludePackageNames>
                        <links>
                            <link>http://download.oracle.com/javase/8/docs/api/</link>
                            <link>http://docs.jboss.org/hibernate/orm/5.2/javadocs/</link>
                            <link>http://lucene.apache.org/core/5_5_4/core/</link>
                            <link>http://lucene.apache.org/core/5_5_4/analyzers-common/</link>
                            <link>http://lucene.apache.org/core/5_5_4/queryparser/</link>
                            <link>http://jgroups.org/javadoc</link>
                            <!-- for javax.batch in the JSR 352 modules -->
                            <link>https://docs.oracle.com/javaee/7/api/</link>
                            <link>http://docs.jboss.org/jberet/${jberetJavadocVersion}/javadoc/jberet-core/</link>
                        </links>
                        <bottom>
                            <![CDATA[Copyright &copy; ${project.inceptionYear}-{currentYear} <a href="https://www.redhat.com/">Red Hat, Inc.</a> and others. Licensed under the GNU Lesser General Public License (LGPL), version 2.1 or later.]]>
                        </bottom>
                        <additionalDependencies>
                            <additionalDependency>
                                <groupId>org.jboss.logging</groupId>
                                <artifactId>jboss-logging-annotations</artifactId>
                                <version>${jbossLoggingProcessorVersion}</version>
                            </additionalDependency>
                        </additionalDependencies>
                        <tags>
                            <tag>
                                <name>hsearch.experimental</name>
                                <placement>a</placement>
                                <head>Experimental</head>
                            </tag>
                        </tags>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.0.1</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.20.1</version>
                    <configuration>
                        <forkCount>1</forkCount>
                        <reuseForks>true</reuseForks>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <runOrder>alphabetical</runOrder>
                        <systemPropertyVariables>
                            <!-- See HSEARCH-1444 -->
                            <hibernate.service.allow_crawling>false</hibernate.service.allow_crawling>
                            <com.sun.management.jmxremote>true</com.sun.management.jmxremote>
                            <org.hibernate.search.enable_performance_tests>${org.hibernate.search.enable_performance_tests}</org.hibernate.search.enable_performance_tests>
                            <org.hibernate.search.fail_on_unreleased_service>true</org.hibernate.search.fail_on_unreleased_service>
                            <!-- Javassist still not working when using stricter checks with Jigsaw: use ByteBuddy -->
                            <hibernate.bytecode.provider>bytebuddy</hibernate.bytecode.provider>
                        </systemPropertyVariables>
                        <argLine>${additionalRuntimeArgLine}</argLine>
                        <additionalClasspathElements>
                            <!-- Needed by Byteman to load the agent on demand -->
                            <additionalClasspathElement>${jdk-toolsjar}</additionalClasspathElement>
                        </additionalClasspathElements>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.0.0</version>
                    <executions>
                        <execution>
                            <!-- See http://blog.sonatype.com/2008/04/how-to-share-resources-across-projects-in-maven/ -->
                            <!-- This will only be effective if hibernate-search-sharedtestresources is actually a project dependency -->
                            <id>unpack-shared-test-build-resources</id>
                            <goals>
                                <goal>unpack-dependencies</goal>
                            </goals>
                            <phase>generate-test-resources</phase>
                            <configuration>
                                <outputDirectory>${project.build.directory}/</outputDirectory>
                                <includeGroupIds>${project.groupId}</includeGroupIds>
                                <includeArtifacIds>hibernate-search-sharedtestresources</includeArtifacIds>
                                <includeTypes>zip</includeTypes>
                                <excludeTransitive>true</excludeTransitive>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-help-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0-M1</version>
                </plugin>
                <plugin>
                    <groupId>de.thetaphi</groupId>
                    <artifactId>forbiddenapis</artifactId>
                    <version>2.2</version>
                    <executions>
                        <execution>
                            <id>verify-forbidden-apis</id>
                                <configuration>
                                     <targetVersion>1.8</targetVersion>
                                     <!-- if the used Java version is too new, don't fail, just do nothing: -->
                                     <failOnUnsupportedJava>false</failOnUnsupportedJava>
                                     <excludes>
                                         <!-- JBoss Logger formats messages according to default Locale (bug or feature?) -->
                                         <exclude>**/*_$logger.class</exclude>
                                         <!-- JBoss message bundles format messages -->
                                         <exclude>**/*_$bundle.class</exclude>
                                     </excludes>
                                     <bundledSignatures>
                                         <!-- This will automatically choose the right signatures based on 'targetVersion': -->
                                         <bundledSignature>jdk-unsafe</bundledSignature>
                                         <bundledSignature>jdk-deprecated</bundledSignature>
                                         <bundledSignature>jdk-system-out</bundledSignature>
                                         <bundledSignature>jdk-non-portable</bundledSignature>
                                         <bundledSignature>jdk-internal</bundledSignature>
                                     </bundledSignatures>
                                     <failOnMissingClasses>false</failOnMissingClasses>
                                     <failOnUnresolvableSignatures>false</failOnUnresolvableSignatures>
                                     <!--
                                     The method SharedSessionContract#getTransaction() should never be used
                                     as it is only reliable in certain configurations.
                                     The banned Logger methods are the ones which avoid autoboxing, to allow backwards
                                     compatibility with containers using an older JBoss Logger versions.
                                      -->
                                     <signatures>
org.jboss.logging.BasicLogger#tracef(java.lang.String, int)
org.jboss.logging.BasicLogger#tracef(java.lang.String, int ,int)
org.jboss.logging.BasicLogger#tracef(java.lang.String, int, java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.String, int, int, int)
org.jboss.logging.BasicLogger#tracef(java.lang.String, int, int, java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.String, int, java.lang.Object, java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, int)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, int, int)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, int, java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, int, int, int)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, int, int, java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, int, java.lang.Object, java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.String, long)
org.jboss.logging.BasicLogger#tracef(java.lang.String, long, long)
org.jboss.logging.BasicLogger#tracef(java.lang.String, long, java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.String, long, long, long)
org.jboss.logging.BasicLogger#tracef(java.lang.String, long, long, java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.String, long, java.lang.Object , java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, long)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, long, long)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, long, java.lang.Object)
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, long, long, long )
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, long, long, java.lang.Object )
org.jboss.logging.BasicLogger#tracef(java.lang.Throwable, java.lang.String, long, java.lang.Object, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.String, int)
org.jboss.logging.BasicLogger#debugf(java.lang.String, int, int)
org.jboss.logging.BasicLogger#debugf(java.lang.String, int, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.String, int, int, int)
org.jboss.logging.BasicLogger#debugf(java.lang.String, int, int, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.String, int, java.lang.Object, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, int)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, int, int)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, int, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, int, int, int)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, int, int, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, int, java.lang.Object, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.String, long)
org.jboss.logging.BasicLogger#debugf(java.lang.String, long, long)
org.jboss.logging.BasicLogger#debugf(java.lang.String, long, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.String, long, long, long)
org.jboss.logging.BasicLogger#debugf(java.lang.String, long, long, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.String, long, java.lang.Object, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, long)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, long, long)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, long, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, long, long, long)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, long, long, java.lang.Object)
org.jboss.logging.BasicLogger#debugf(java.lang.Throwable, java.lang.String, long, java.lang.Object, java.lang.Object)                                     </signatures>
                                 </configuration>
                             <phase>compile</phase>
                             <goals>
                                 <goal>check</goal>
                             </goals>
                         </execution>
                         <execution>
                             <id>verify-forbidden-test-apis</id>
                             <configuration>
                                 <targetVersion>1.8</targetVersion>
                                 <!-- if the used Java version is too new, don't fail, just do nothing: -->
                                 <failOnUnsupportedJava>false</failOnUnsupportedJava>
                                 <failOnUnresolvableSignatures>false</failOnUnresolvableSignatures>
                                 <excludes>
                                 <!--
                                     Only those two classes are allowed to build search integrators,
                                     because they do it right (with guaranteed calls to close at the end of the test).
                                 -->
                                    <exclude>**/org/hibernate/search/testsupport/junit/SearchFactoryHolder.class</exclude>
                                    <exclude>**/org/hibernate/search/testsupport/junit/SearchIntegratorResource.class</exclude>
                                 </excludes>
                                 <bundledSignatures>
                                     <!-- This will automatically choose the right signatures based on 'targetVersion': -->
                                     <bundledSignature>jdk-unsafe</bundledSignature>
                                     <bundledSignature>jdk-deprecated</bundledSignature>
                                     <bundledSignature>jdk-non-portable</bundledSignature>
                                     <bundledSignature>jdk-internal</bundledSignature>
                                 </bundledSignatures>
                                 <signatures>
org.hibernate.search.spi.SearchIntegratorBuilder#buildSearchIntegrator()
                                 </signatures>
                             </configuration>
                             <phase>test-compile</phase>
                             <goals>
                                 <goal>testCheck</goal>
                             </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.17</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.hibernate</groupId>
                            <artifactId>hibernate-search-build-config</artifactId>
                            <version>${project.version}</version>
                        </dependency>
                        <!--
                             force SLF4J dependency to align
                             Maven internals and CheckStyle's
                             see https://github.com/jcgay/maven-color/wiki/Problems
                             If that causes problem, that can be removed
                             but maven-color won't work -->
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>${puppycrawl.checkstyle.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>jcl-over-slf4j</artifactId>
                            <version>1.7.22</version>
                        </dependency>
                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-jdk14</artifactId>
                            <version>1.7.22</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <!-- Location is relative to the classpath -->
                        <configLocation>checkstyle.xml</configLocation>
                        <consoleOutput>true</consoleOutput>
                        <failsOnError>true</failsOnError>
                        <violationSeverity>error</violationSeverity>
                        <includeTestResources>true</includeTestResources>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        <resourceIncludes>**/*.xml,**/*.properties</resourceIncludes>
                        <!-- generated respectively copied code -->
                        <excludes>
                            **/Generated.java,**/TypeHelper*.java,**/MatchSuppressor.java,**/CommentSuppressor.java,**/NeverSuppress.java,
                            **/Log_$logger.java
                        </excludes>
                    </configuration>
                    <executions>
                        <execution>
                            <id>check-style</id>
                            <phase>verify</phase>
                            <!-- not using checkstyle:checkstyle here, as for
                                some reason checkstyle:check finds more errors -->
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <extensions>true</extensions>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <!-- This plugin's configuration is used in m2e only. -->
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.1,)</versionRange>
                                        <goals>
                                            <goal>unpack</goal>
                                            <goal>unpack-dependencies</goal>
                                            <goal>build-classpath</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.felix</groupId>
                                        <artifactId>maven-bundle-plugin</artifactId>
                                        <versionRange>[2.3.7,)</versionRange>
                                        <goals>
                                            <goal>manifest</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.servicemix.tooling</groupId>
                                        <artifactId>depends-maven-plugin</artifactId>
                                        <versionRange>[1.2,)</versionRange>
                                        <goals>
                                            <goal>generate-depends-file</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>build-helper-maven-plugin</artifactId>
                                        <versionRange>[1.9.1,)</versionRange>
                                        <goals>
                                            <goal>parse-version</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>de.thetaphi</groupId>
                                        <artifactId>forbiddenapis</artifactId>
                                        <versionRange>[1.8,)</versionRange>
                                        <goals>
                                            <goal>check</goal>
                                            <goal>testCheck</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.wildfly.build</groupId>
                                        <artifactId>wildfly-server-provisioning-maven-plugin</artifactId>
                                        <versionRange>[1.2.6.Final,)</versionRange>
                                        <goals>
                                            <goal>build</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.12</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.servicemix.tooling</groupId>
                    <artifactId>depends-maven-plugin</artifactId>
                    <version>1.3.1</version>
                </plugin>
                <plugin>
                    <groupId>com.github.alexcojocaru</groupId>
                    <artifactId>elasticsearch-maven-plugin</artifactId>
                    <version>${test.elasticsearch.mavenPlugin.version}</version>
                    <configuration>
                        <clusterName>hsearchEsTestCluster</clusterName>
                        <httpPort>9200</httpPort>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.bitstrings.maven.plugins</groupId>
                    <artifactId>dependencypath-maven-plugin</artifactId>
                    <version>1.1.1</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <repositories>
        <!--
        To build Hibernate Search you have to add the JBoss Maven repository to your settings.xml
        See also http://community.jboss.org/wiki/ContributingtoHibernateSearch
        -->
    </repositories>


    <distributionManagement>
        <repository>
            <id>jboss-releases-repository</id>
            <name>JBoss Releases Repository</name>
            <url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
        </repository>
        <snapshotRepository>
            <id>jboss-snapshots-repository</id>
            <name>JBoss Snapshots Repository</name>
            <url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.9</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>index</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>com.github.siom79.japicmp</groupId>
                <artifactId>japicmp-maven-plugin</artifactId>
                <version>0.9.3</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>cmp-report</report>
                        </reports>
                    </reportSet>
                </reportSets>
                <configuration>
                    <skip>true</skip>
                    <oldVersion>
                        <dependency>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>${project.artifactId}</artifactId>
                            <version>${previous.stable}</version>
                            <type>${project.packaging}</type>
                        </dependency>
                    </oldVersion>
                    <newVersion>
                        <file>
                            <path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path>
                        </file>
                    </newVersion>
                    <parameter>
                        <onlyModified>true</onlyModified>
                        <excludes>
                            <exclude>org.hibernate.search.*.impl</exclude>
                        </excludes>
                        <accessModifier>public</accessModifier>
                        <!--
                            The next two should make sure that this report is not run for this POM-packaged parent module itself
                            That's not working, though, resulting a build failure. I'm thus setting skip to "true" below, which
                            needs to be overridden within those modules for which this report should be created
                        -->
                        <skipPomModules>true</skipPomModules>
                        <packagingSupporteds>
                            <packagingSupported>jar</packagingSupported>
                        </packagingSupporteds>
                    </parameter>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

    <profiles>

        <!-- The profiles `skippingAllTests` and `skippingIntegrationTests` are currently duplicates,
            as one can't trigger the profile activation on either/or property -->
        <profile>
            <id>skippingAllTests</id>
            <activation>
                <property>
                    <name>skipTests</name>
                </property>
            </activation>
            <properties>
                <!-- This is to avoid starting an Elasticsearch node for each module needing integration test -->
                <test.elasticsearch.host.provided>true</test.elasticsearch.host.provided>
                <!-- And this to avoid unzipping any WildFly server, included modules, configurations and JDBC drivers -->
                <skipWildFlyPreparation>true</skipWildFlyPreparation>
            </properties>
        </profile>
        <profile>
            <id>skippingIntegrationTests</id>
            <activation>
                <property>
                    <name>skipITs</name>
                </property>
            </activation>
            <properties>
                <!-- This is to avoid starting an Elasticsearch node for each module needing integration test -->
                <test.elasticsearch.host.provided>true</test.elasticsearch.host.provided>
                <!-- And this to avoid unzipping any WildFly server, included modules, configurations and JDBC drivers -->
                <skipWildFlyPreparation>true</skipWildFlyPreparation>
            </properties>
        </profile>

        <profile>
            <id>dist</id>

            <properties>
                <failOnJavaDocError>true</failOnJavaDocError>
            </properties>

            <modules>
                <module>distribution</module>
            </modules>

            <build>
                <plugins>
                    <plugin>
                       <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                           <execution>
                                <id>generate-javadoc</id>
                                <goals>
                                    <goal>javadoc-no-fork</goal>
                                </goals>
                                <phase>prepare-package</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>non-jigsaw</id>
            <activation>
                <!-- Asciidoctor and Karaf won't work on JDK9 yet  -->
                <jdk>1.8</jdk>
            </activation>
            <modules>
                <module>documentation</module>
            </modules>
        </profile>

        <profile>
            <id>jigsaw</id>
            <activation>
                <!-- Java 9 doesn't identify itself as "1.9" but "9" -->
                <jdk>9</jdk>
            </activation>
            <properties>
                <additionalRuntimeArgLineForWildFyTests>-Djdk.attach.allowAttachSelf=true --add-modules java.xml.bind --add-opens=java.base/java.lang=ALL-UNNAMED</additionalRuntimeArgLineForWildFyTests>
                <additionalRuntimeArgLine>${additionalRuntimeArgLineForWildFyTests} --illegal-access=deny</additionalRuntimeArgLine>
            </properties>
            <modules>
                <module>integrationtest/jdk9-modules</module>
            </modules>
        </profile>

        <profile>
            <id>perf</id>
            <properties>
                <org.hibernate.search.enable_performance_tests>true</org.hibernate.search.enable_performance_tests>
            </properties>
        </profile>

        <profile>
            <id>IDEA</id>
            <!--
            Dependencies to allow easy project import in IntelliJ IDEA.
            These should not be listed as project dependencies to users
            but are necessary during compile time as they include the
            JBoss Logger annotation processor.
            -->
            <activation>
                <!-- This is a trick to have the profile automatically activated by IDEA -->
                <property>
                    <name>idea.maven.embedder.version</name>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.logging</groupId>
                    <artifactId>jboss-logging-processor</artifactId>
                    <version>${jbossLoggingProcessorVersion}</version>
                    <scope>compile</scope>
                </dependency>
            </dependencies>
        </profile>

        <!-- ====================================== -->
        <!-- Detection of tools classes for Byteman -->
        <!-- ====================================== -->
        <!-- See the configuration of the surefire and failsafe plugins -->
        <profile>
            <id>default-toolsjar-profile</id>
            <activation>
                <file>
                    <exists>${java.home}/../lib/tools.jar</exists>
                </file>
            </activation>
            <properties>
                <jdk-toolsjar>${java.home}/../lib/tools.jar</jdk-toolsjar>
            </properties>
        </profile>
        <profile>
            <id>mac-toolsjar-profile</id>
            <activation>
                <file>
                    <exists>${java.home}/../Classes/classes.jar</exists>
                </file>
            </activation>
            <properties>
                <jdk-toolsjar>${java.home}/../Classes/classes.jar</jdk-toolsjar>
            </properties>
        </profile>

        <!-- =============================== -->
        <!-- Elasticsearch IT profiles       -->
        <!-- =============================== -->
        <!--
             Different profiles are needed to handle the environment setup (which is handled in Maven,
             on contrary to the various database profiles).
             
             To run tests against a different version of Elasticsearch, use the appropriate profile
             and provide the Elasticsearch version:
             
                 mvn clean test -Pelasticsearch-2.0 -Dtest.elasticsearch.version=2.1.0
          -->
        
        <!-- Elasticsearch [2.0,2.2) test environment -->
        <profile>
            <id>elasticsearch-2.0</id>
            <properties>
                <test.elasticsearch.mavenPlugin.version>2.2</test.elasticsearch.mavenPlugin.version>
                <test.elasticsearch.host.version>2.0.0</test.elasticsearch.host.version>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-dependency-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>unpack-es-plugins</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>unpack</goal>
                                    </goals>
                                    <configuration>
                                        <skip>${test.elasticsearch.host.provided}</skip>
                                        <artifactItems>
                                            <!-- Delete-by-query is a plugin in Elasticsearch 2.x -->
                                            <artifactItem>
                                                <groupId>org.elasticsearch.plugin</groupId>
                                                <artifactId>delete-by-query</artifactId>
                                                <version>${test.elasticsearch.host.version}</version>
                                                <type>zip</type>
                                                <overWrite>true</overWrite>
                                                <outputDirectory>${project.build.directory}/_ES_PLUGINS_/delete-by-query</outputDirectory>
                                            </artifactItem>
                                        </artifactItems>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>com.github.alexcojocaru</groupId>
                            <artifactId>elasticsearch-maven-plugin</artifactId>
                            <version>${test.elasticsearch.mavenPlugin.version}</version>
                            <configuration>
                                <skip>${test.elasticsearch.host.provided}</skip>
                                <tcpPort>9300</tcpPort>
                                <pluginsPath>${project.build.directory}/_ES_PLUGINS_</pluginsPath>
                                <outputDirectory>${project.build.directory}/elastisearch0</outputDirectory>
                                <configPath>${project.build.directory}/elasticsearch-maven-plugin/2.0/configuration/</configPath>
                            </configuration>
                            <dependencies>
                                <dependency>
                                    <groupId>org.elasticsearch</groupId>
                                    <artifactId>elasticsearch</artifactId>
                                    <version>${test.elasticsearch.host.version}</version>
                                </dependency>

                                <!-- Groovy is in a core module named "org.elasticsearch:elasticsearch-groovy" in Elasticsearch 2.0.x and 2.1.x
                                     Also, in ES 2.0/2.1, core modules are not located in the plugin directory as with newer versions, but are
                                     simply expected to be in the classpath.
                                -->
                                <dependency>
                                    <groupId>org.elasticsearch</groupId>
                                    <artifactId>elasticsearch-groovy</artifactId>
                                    <version>${test.elasticsearch.host.version}</version>
                                    <type>jar</type>
                                </dependency>
                            </dependencies>
                            <executions>
                                <execution >
                                    <id>start-elasticsearch</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>start</goal>
                                    </goals>
                                </execution>
                                <execution>
                                    <id>stop-elasticsearch</id>
                                    <phase>post-integration-test</phase>
                                    <goals>
                                        <goal>stop</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <!-- Elasticsearch 2.2+ test environment -->
        <profile>
            <id>elasticsearch-2.2</id>
            <properties>
                <test.elasticsearch.mavenPlugin.version>2.2</test.elasticsearch.mavenPlugin.version>
                <test.elasticsearch.host.version>2.4.6</test.elasticsearch.host.version>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <artifactId>maven-dependency-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>unpack-es-plugins</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>unpack</goal>
                                    </goals>
                                    <configuration>
                                        <skip>${test.elasticsearch.host.provided}</skip>
                                        <artifactItems>
                                            <!-- Delete-by-query is a plugin in Elasticsearch 2.x -->
                                            <artifactItem>
                                                <groupId>org.elasticsearch.plugin</groupId>
                                                <artifactId>delete-by-query</artifactId>
                                                <version>${test.elasticsearch.host.version}</version>
                                                <type>zip</type>
                                                <overWrite>true</overWrite>
                                                <outputDirectory>${project.build.directory}/_ES_PLUGINS_/delete-by-query</outputDirectory>
                                            </artifactItem>
                                            <!-- Groovy is in a plugin named "org.elasticsearch.module:lang-groovy" in Elasticsearch 2.2+ -->
                                            <artifactItem>
                                                <groupId>org.elasticsearch.module</groupId>
                                                <artifactId>lang-groovy</artifactId>
                                                <version>${test.elasticsearch.host.version}</version>
                                                <type>zip</type>
                                                <overWrite>true</overWrite>
                                                <outputDirectory>${project.build.directory}/_ES_PLUGINS_/lang-groovy</outputDirectory>
                                            </artifactItem>
                                        </artifactItems>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>com.github.alexcojocaru</groupId>
                            <artifactId>elasticsearch-maven-plugin</artifactId>
                            <version>${test.elasticsearch.mavenPlugin.version}</version>
                            <configuration>
                                <skip>${test.elasticsearch.host.provided}</skip>
                                <tcpPort>9300</tcpPort>
                                <pluginsPath>${project.build.directory}/_ES_PLUGINS_</pluginsPath>
                                <outputDirectory>${project.build.directory}/elastisearch0</outputDirectory>
                                <configPath>${project.build.directory}/elasticsearch-maven-plugin/2.0/configuration/</configPath>
                            </configuration>
                            <dependencies>
                                <dependency>
                                    <groupId>org.elasticsearch</groupId>
                                    <artifactId>elasticsearch</artifactId>
                                    <version>${test.elasticsearch.host.version}</version>
                                </dependency>
                            </dependencies>
                            <executions>
                                <execution >
                                    <id>start-elasticsearch</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>start</goal>
                                    </goals>
                                </execution>
                                <execution>
                                    <id>stop-elasticsearch</id>
                                    <phase>post-integration-test</phase>
                                    <goals>
                                        <goal>stop</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>

        <!-- Elasticsearch 5.0/5.1 test environment -->
        <profile>
            <id>elasticsearch-5.0</id>
            <properties>
                <test.elasticsearch.mavenPlugin.version>5.7</test.elasticsearch.mavenPlugin.version>
                <test.elasticsearch.host.version>5.1.2</test.elasticsearch.host.version>
                <test.elasticsearch.host.url>http://localhost:9200</test.elasticsearch.host.url>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>com.github.alexcojocaru</groupId>
                            <artifactId>elasticsearch-maven-plugin</artifactId>
                            <version>${test.elasticsearch.mavenPlugin.version}</version>
                            <configuration>
                                <skip>${test.elasticsearch.host.provided}</skip>
                                <version>${test.elasticsearch.host.version}</version>
                                <timeout>90</timeout><!-- Make it work on our slow CI -->
                                <pathConf>${project.build.directory}/elasticsearch-maven-plugin/5.0/configuration/</pathConf>
                                <pathInitScript>${project.build.directory}/elasticsearch-maven-plugin/5.0/init/init.script</pathInitScript>
                                <autoCreateIndex>false</autoCreateIndex>
                            </configuration>
                            <!-- Different executions from 2.x: the "start" goal has been renamed in version 5  -->
                            <executions>
                                <execution >
                                    <id>start-elasticsearch</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>runforked</goal>
                                    </goals>
                                </execution>
                                <execution>
                                    <id>stop-elasticsearch</id>
                                    <phase>post-integration-test</phase>
                                    <goals>
                                        <goal>stop</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        
        <!-- Elasticsearch 5.2+ test environment (default) -->
        <profile>
            <id>elasticsearch-5.2</id>
            <activation>
                <!-- Activate by default, i.e. if test.elasticsearch.host.version has not been defined explicitly -->
                <property>
                    <name>!test.elasticsearch.host.version</name>
                </property>
            </activation>
            <properties>
                <test.elasticsearch.mavenPlugin.version>5.7</test.elasticsearch.mavenPlugin.version>
                <test.elasticsearch.host.version>5.6.7</test.elasticsearch.host.version>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>com.github.alexcojocaru</groupId>
                            <artifactId>elasticsearch-maven-plugin</artifactId>
                            <version>${test.elasticsearch.mavenPlugin.version}</version>
                            <configuration>
                                <skip>${test.elasticsearch.host.provided}</skip>
                                <version>${test.elasticsearch.host.version}</version>
                                <timeout>90</timeout><!-- Make it work on our slow CI -->
                                <pathConf>${project.build.directory}/elasticsearch-maven-plugin/5.0/configuration/</pathConf>
                                <pathInitScript>${project.build.directory}/elasticsearch-maven-plugin/5.0/init/init.script</pathInitScript>
                                <autoCreateIndex>false</autoCreateIndex>
                            </configuration>
                            <!-- Different executions from 2.x: the "start" goal has been renamed in version 5  -->
                            <executions>
                                <execution >
                                    <id>start-elasticsearch</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>runforked</goal>
                                    </goals>
                                </execution>
                                <execution>
                                    <id>stop-elasticsearch</id>
                                    <phase>post-integration-test</phase>
                                    <goals>
                                        <goal>stop</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>

        <!-- =============================== -->
        <!-- Database profiles               -->
        <!-- =============================== -->
        <!-- H2 is the default -->
        <profile>
            <id>h2</id>
            <activation>
                <property>
                    <name>inMemoryTests</name>
                    <value>!true</value>
                </property>
            </activation>
            <properties>
                <db.dialect>org.hibernate.dialect.H2Dialect</db.dialect>
                <jdbc.driver.groupId>com.h2database</jdbc.driver.groupId>
                <jdbc.driver.artifactId>h2</jdbc.driver.artifactId>
                <jdbc.driver.version>${h2Version}</jdbc.driver.version>
                <jdbc.driver>org.h2.Driver</jdbc.driver>
                <jdbc.url>jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1</jdbc.url>
                <jdbc.user>sa</jdbc.user>
                <jdbc.pass>sa</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!--
            ###################################################################
            Profiles naming db instances in the Red Hat QA/QE lab

            First, those with OSS drivers
            ###################################################################
        -->

        <!-- The MySQL 5.1 test environment -->
        <profile>
            <id>mysql51</id>
            <properties>
                <db.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</db.dialect>
                <jdbc.driver.groupId>mysql</jdbc.driver.groupId>
                <jdbc.driver.artifactId>mysql-connector-java</jdbc.driver.artifactId>
                <!-- Version 6.0.5 fails with a ArrayIndexOutOfBoundsException during connection, so we'll stick to 5.x for now -->
                <jdbc.driver.version>5.1.13</jdbc.driver.version>
                <jdbc.driver>com.mysql.jdbc.Driver</jdbc.driver>
                <jdbc.url>jdbc:mysql://vmg02.mw.lab.eng.bos.redhat.com/searctru</jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The PostgreSQL 8.4  test environment -->
        <profile>
            <id>postgresql84</id>
            <properties>
                <db.dialect>org.hibernate.dialect.PostgreSQL82Dialect</db.dialect>
                <jdbc.driver.groupId>org.postgresql</jdbc.driver.groupId>
                <jdbc.driver.artifactId>postgresql</jdbc.driver.artifactId>
                <jdbc.driver.version>42.1.1</jdbc.driver.version>
                <jdbc.driver>org.postgresql.Driver</jdbc.driver>
                <jdbc.url>jdbc:postgresql://notinstalled.lab.eng.bos.redhat.com:5432:searctru</jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The PostgreSQL test environment on ci.hibernate.org (v. 9.3.9)-->
        <profile>
            <id>ci-postgresql</id>
            <properties>
                <db.dialect>org.hibernate.dialect.PostgreSQL92Dialect</db.dialect>
                <jdbc.driver.groupId>org.postgresql</jdbc.driver.groupId>
                <jdbc.driver.artifactId>postgresql</jdbc.driver.artifactId>
                <jdbc.driver.version>42.1.1</jdbc.driver.version>
                <jdbc.driver>org.postgresql.Driver</jdbc.driver>
                <jdbc.url>jdbc:postgresql://localhost:5432/testingdb</jdbc.url>
                <jdbc.user>hibernate_user</jdbc.user>
                <jdbc.pass>hibernate_password</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The MySQL test environment test environment on ci.hibernate.org (v. 10.0.19-MariaDB)-->
        <profile>
            <id>ci-mariadb</id>
            <properties>
                <db.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</db.dialect>
                <jdbc.driver.groupId>org.mariadb.jdbc</jdbc.driver.groupId>
                <jdbc.driver.artifactId>mariadb-java-client</jdbc.driver.artifactId>
                <jdbc.driver.version>1.5.9</jdbc.driver.version>
                <jdbc.driver>org.mariadb.jdbc.Driver</jdbc.driver>
                <jdbc.url>jdbc:mariadb://localhost/testingdb</jdbc.url>
                <jdbc.user>hibernate_user</jdbc.user>
                <jdbc.pass>hibernate_password</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!--
            ###################################################################
            Then, those with commercial drivers
            ###################################################################
        -->
        <!--
             Those drivers are not available on public repos.
             In CI jobs, we use internal build tools to fetch the drivers
             and make the jars available to the build.
             Thus, the maven coordinates of the drivers below are fake.
             See https://svn.devel.redhat.com/repos/jboss-qa/hudson/config_repository/scripts/groovy.classes/hudson/util/JDBCLoader.groovy
        -->

        <!-- The DB2 9.7 test environment (using 9x drivers)-->
        <profile>
            <id>db2-97</id>
            <properties>
                <db.dialect>org.hibernate.dialect.DB2Dialect</db.dialect>
                <!-- These maven coordinates are fake (see above) -->
                <jdbc.driver.groupId>jdbcdrivers</jdbc.driver.groupId>
                <jdbc.driver.artifactId>db2-97</jdbc.driver.artifactId>
                <jdbc.driver.version>4.11.77</jdbc.driver.version>
                <jdbc.driver>com.ibm.db2.jcc.DB2Driver</jdbc.driver>
                <jdbc.url>jdbc:db2://vmg06.mw.lab.eng.bos.redhat.com:50000/jbossqa</jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The Oracle11g test environment -->
        <profile>
            <id>oracle11gR1</id>
            <properties>
                <db.dialect>org.hibernate.dialect.Oracle10gDialect</db.dialect>
                <!-- These maven coordinates are fake (see above) -->
                <jdbc.driver.groupId>jdbcdrivers</jdbc.driver.groupId>
                <jdbc.driver.artifactId>oracle</jdbc.driver.artifactId>
                <jdbc.driver.version>11.2.0.2.0</jdbc.driver.version>
                <jdbc.driver>oracle.jdbc.driver.OracleDriver</jdbc.driver>
                <jdbc.url>jdbc:oracle:thin:@dev04.qa.atl2.redhat.com:1521:qaora11</jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <profile>
            <id>oracle11gR2</id>
            <properties>
                <db.dialect>org.hibernate.dialect.Oracle10gDialect</db.dialect>
                <!-- These maven coordinates are fake (see above) -->
                <jdbc.driver.groupId>jdbcdrivers</jdbc.driver.groupId>
                <jdbc.driver.artifactId>oracle</jdbc.driver.artifactId>
                <jdbc.driver.version>11.2.0.2.0</jdbc.driver.version>
                <jdbc.driver>oracle.jdbc.driver.OracleDriver</jdbc.driver>
                <jdbc.url>jdbc:oracle:thin:@dev04.qa.atl2.redhat.com:1521:qaora11</jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The Oracle11gRAC test environment -->
        <profile>
            <id>oracle11gR1RAC</id>
            <properties>
                <db.dialect>org.hibernate.dialect.Oracle10gDialect</db.dialect>
                <!-- These maven coordinates are fake (see above) -->
                <jdbc.driver.groupId>jdbcdrivers</jdbc.driver.groupId>
                <jdbc.driver.artifactId>oracle</jdbc.driver.artifactId>
                <jdbc.driver.version>11.2.0.2.0</jdbc.driver.version>
                <jdbc.driver>oracle.jdbc.driver.OracleDriver</jdbc.driver>
                <jdbc.url>
                    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=vmg24-vip.mw.lab.eng.bos.redhat.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=vmg25-vip.mw.lab.eng.bos.redhat.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=qarac.jboss)))
                </jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>
        <profile>
            <id>oracle11gR2RAC</id>
            <properties>
                <db.dialect>org.hibernate.dialect.Oracle10gDialect</db.dialect>
                <!-- These maven coordinates are fake (see above) -->
                <jdbc.driver.groupId>jdbcdrivers</jdbc.driver.groupId>
                <jdbc.driver.artifactId>oracle</jdbc.driver.artifactId>
                <jdbc.driver.version>11.2.0.2.0</jdbc.driver.version>
                <jdbc.driver>oracle.jdbc.driver.OracleDriver</jdbc.driver>
                <jdbc.url>
                    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=vmg24-vip.mw.lab.eng.bos.redhat.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=vmg25-vip.mw.lab.eng.bos.redhat.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=qarac.jboss)))
                </jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The Sybase ASE 15.5 test environment -->
        <profile>
            <id>sybase155</id>
            <properties>
                <db.dialect>org.hibernate.dialect.SybaseASE15Dialect</db.dialect>
                <!-- These maven coordinates are fake (see above) -->
                <jdbc.driver.groupId>jdbcdrivers</jdbc.driver.groupId>
                <jdbc.driver.artifactId>sybase</jdbc.driver.artifactId>
                <jdbc.driver.version>26502</jdbc.driver.version>
                <jdbc.driver>com.sybase.jdbc4.jdbc.SybDriver</jdbc.driver>
                <jdbc.url>jdbc:sybase:Tds:vmg07.mw.lab.eng.bos.redhat.com:5000/searctru</jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>
        <profile>
            <id>sybase155-jtds</id>
            <properties>
                <db.dialect>org.hibernate.dialect.SybaseASE15Dialect</db.dialect>
                <!-- These maven coordinates are fake (see above) -->
                <jdbc.driver.groupId>net.sourceforge.jtds</jdbc.driver.groupId>
                <jdbc.driver.artifactId>jtds</jdbc.driver.artifactId>
                <jdbc.driver.version>1.2.4</jdbc.driver.version>
                <jdbc.driver>net.sourceforge.jtds.jdbc.Driver</jdbc.driver>
                <jdbc.url>jdbc:jtds:sybase://vmg07.mw.lab.eng.bos.redhat.com:5000/searctru</jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation />
            </properties>
        </profile>

        <!-- The SQLServer2008 R1 (MS JDBC) test environment -->
        <profile>
            <id>mssql2008R1</id>
            <properties>
                <db.dialect>org.hibernate.dialect.SQLServer2008Dialect</db.dialect>
                <!-- These maven coordinates are fake (see above) -->
                <jdbc.driver.groupId>jdbcdrivers</jdbc.driver.groupId>
                <jdbc.driver.artifactId>mssql</jdbc.driver.artifactId>
                <jdbc.driver.version>3.0.1301.101</jdbc.driver.version>
                <jdbc.driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</jdbc.driver>
                <jdbc.url>jdbc:sqlserver://vmg04.mw.lab.eng.bos.redhat.com:1433</jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation>4096</jdbc.isolation>
            </properties>
        </profile>

        <!-- The SQLServer2008 R2 (MS JDBC) test environment -->
        <profile>
            <id>mssql2008R2</id>
            <properties>
                <db.dialect>org.hibernate.dialect.SQLServer2008Dialect</db.dialect>
                <!-- These maven coordinates are fake (see above) -->
                <jdbc.driver.groupId>jdbcdrivers</jdbc.driver.groupId>
                <jdbc.driver.artifactId>mssql</jdbc.driver.artifactId>
                <jdbc.driver.version>3.0.1301.101</jdbc.driver.version>
                <jdbc.driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</jdbc.driver>
                <jdbc.url>jdbc:sqlserver://vmg04.mw.lab.eng.bos.redhat.com:1433</jdbc.url>
                <jdbc.user>searctru</jdbc.user>
                <jdbc.pass>searctru</jdbc.pass>
                <jdbc.isolation>4096</jdbc.isolation>
            </properties>
        </profile>
    </profiles>
</project>
