hibernate-search-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-parent</artifactId> <version>6.0.0.Alpha2</version> </dependency>
<?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.search</groupId> <artifactId>hibernate-search-parent</artifactId> <version>6.0.0.Alpha2</version> <packaging>pom</packaging> <name>Hibernate Search Parent POM</name> <description>Hibernate Search Parent POM</description> <url>http://hibernate.org/search/</url> <inceptionYear>2006</inceptionYear> <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 v2.1 or later</name> <url>http://www.opensource.org/licenses/LGPL-2.1</url> <comments>See also: http://hibernate.org/license</comments> </license> </licenses> <ciManagement> <system>Jenkins</system> <url>http://ci.hibernate.org/job/hibernate-search/</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> <modules> <module>build-config</module> <module>util/internal/common</module> <module>util/internal/test</module> <module>engine</module> <module>backend/elasticsearch</module> <module>backend/lucene</module> <module>mapper/pojo</module> <module>mapper/javabean</module> <module>mapper/orm</module> <module>util/internal/integrationtest</module> <module>integrationtest</module> <module>documentation</module> <module>legacy</module> </modules> <properties> <!-- Dependencies versions --> <!-- >>> Common --> <version.org.jboss.logging.jboss-logging>3.3.2.Final</version.org.jboss.logging.jboss-logging> <version.org.jboss.logging.jboss-logging-tools>2.1.0.Final</version.org.jboss.logging.jboss-logging-tools> <!-- >>> Engine --> <!-- Nothing beyond common dependencies --> <!-- >>> Lucene --> <version.org.apache.lucene>7.6.0</version.org.apache.lucene> <javadoc.org.apache.lucene.tag>${parsed-version.org.apache.lucene.majorVersion}_${parsed-version.org.apache.lucene.minorVersion}_${parsed-version.org.apache.lucene.incrementalVersion}</javadoc.org.apache.lucene.tag> <javadoc.org.apache.lucene.core.url>http://lucene.apache.org/core/${javadoc.org.apache.lucene.tag}/core/</javadoc.org.apache.lucene.core.url> <javadoc.org.apache.lucene.analyzers-common.url>http://lucene.apache.org/core/${javadoc.org.apache.lucene.tag}/analyzers-common/</javadoc.org.apache.lucene.analyzers-common.url> <javadoc.org.apache.lucene.queryparser.url>http://lucene.apache.org/core/${javadoc.org.apache.lucene.tag}/queryparser/</javadoc.org.apache.lucene.queryparser.url> <!-- >>> 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 --> <version.org.elasticsearch.client>6.6.0</version.org.elasticsearch.client> <version.com.google.code.gson>2.8.5</version.com.google.code.gson> <!-- >>> ORM --> <version.org.hibernate>5.4.1.Final</version.org.hibernate> <javadoc.org.hibernate.url>http://docs.jboss.org/hibernate/orm/${parsed-version.org.hibernate.majorVersion}.${parsed-version.org.hibernate.minorVersion}/javadocs/</javadoc.org.hibernate.url> <version.org.hibernate.commons.annotations>5.1.0.Final</version.org.hibernate.commons.annotations> <version.javax.persistence>2.2</version.javax.persistence> <!-- >>> JSR 352 --> <version.javax.batch>1.0</version.javax.batch> <!-- in line with the version used in WildFly 13 --> <version.org.jberet>1.2.4.Final</version.org.jberet> <!-- they didn't publish the javadoc for the other 1.2.x --> <javadoc.org.jberet.url>http://docs.jboss.org/jberet/1.2.0.Final/javadoc/jberet-core/</javadoc.org.jberet.url> <!-- >>> Java EE/Jakarta EE dependencies --> <!-- Used in the JSR352 integration in particular, but also in the ORM integration (?) and various tests --> <version.javax.inject>1</version.javax.inject> <version.javax.enterprise>2.0</version.javax.enterprise> <version.org.jboss.spec.javax.annotation.jboss-annotations-api_1.2_spec>1.0.2.Final</version.org.jboss.spec.javax.annotation.jboss-annotations-api_1.2_spec> <version.org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec>1.1.1.Final</version.org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec> <!-- This is used to generate a link to the Java EE javadoc --> <javadoc.javaee.url>https://docs.oracle.com/javaee/7/api/</javadoc.javaee.url> <!-- Test dependencies --> <version.org.slf4j>1.7.25</version.org.slf4j> <version.log4j>1.2.16</version.log4j> <version.junit>4.12</version.junit> <version.org.easymock>4.0.1</version.org.easymock> <version.org.unitils>3.4.6</version.org.unitils> <version.org.assertj.assertj-core>3.9.1</version.org.assertj.assertj-core> <version.org.skyscreamer.jsonassert>1.2.3</version.org.skyscreamer.jsonassert> <version.io.takari.junit>1.2.7</version.io.takari.junit> <version.com.h2database>1.4.178</version.com.h2database> <!-- Maven plugins versions --> <version.assembly.plugin>3.1.0</version.assembly.plugin> <version.buildhelper.plugin>3.0.0</version.buildhelper.plugin> <version.checkstyle.plugin>2.17</version.checkstyle.plugin> <version.bundle.plugin>3.3.0</version.bundle.plugin> <version.clean.plugin>3.0.0</version.clean.plugin> <version.copy.plugin>0.0.5</version.copy.plugin> <!-- Needing 3.6.2 at least because of MCOMPILER-294 --> <version.compiler.plugin>3.7.0</version.compiler.plugin> <version.dependency.plugin>3.0.2</version.dependency.plugin> <!-- Check dependencies for security vulnerabilities --> <version.dependency-check.plugin>3.1.1</version.dependency-check.plugin> <version.dependencypath.plugin>1.1.1</version.dependencypath.plugin> <version.depends.plugin>1.3.1</version.depends.plugin> <version.deploy.plugin>2.8.2</version.deploy.plugin> <version.org.eclipse.m2e.lifecycle-mapping>1.0.0</version.org.eclipse.m2e.lifecycle-mapping> <version.enforcer.plugin>3.0.0-M1</version.enforcer.plugin> <version.forbiddenapis.plugin>2.6</version.forbiddenapis.plugin> <version.help.plugin>2.2</version.help.plugin> <version.install.plugin>2.5.2</version.install.plugin> <version.japicmp.plugin>0.9.3</version.japicmp.plugin> <version.jar.plugin>3.0.2</version.jar.plugin> <version.javadoc.plugin>3.0.0</version.javadoc.plugin> <version.jdeps.plugin>0.4.0</version.jdeps.plugin> <version.nexus-staging.plugin>1.6.8</version.nexus-staging.plugin> <version.processor.plugin>3.2.0</version.processor.plugin> <version.project-info.plugin>2.9</version.project-info.plugin> <version.release.plugin>2.5.3</version.release.plugin> <version.resources.plugin>3.0.2</version.resources.plugin> <version.shade.plugin>3.1.0</version.shade.plugin> <version.site.plugin>3.6</version.site.plugin> <version.source.plugin>3.0.1</version.source.plugin> <!-- Surefire versions are a minefield of bugs: be careful with upgrades --> <version.surefire.plugin>2.21.0</version.surefire.plugin> <version.failsafe.plugin>${version.surefire.plugin}</version.failsafe.plugin> <version.org.wildfly.build-tools>1.2.9.Final</version.org.wildfly.build-tools> <version.jacoco.plugin>0.8.0</version.jacoco.plugin> <version.coveralls.plugin>4.3.0</version.coveralls.plugin> <version.org.jboss.bridger.plugin>1.5.Final</version.org.jboss.bridger.plugin> <version.com.buschmais.jqassistant.plugin>1.5.0</version.com.buschmais.jqassistant.plugin> <!-- 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.8</puppycrawl.checkstyle.version> <!-- Asciidoctor --> <version.asciidoctor.plugin>1.5.6</version.asciidoctor.plugin> <version.org.hibernate.infra.hibernate-asciidoctor-theme>1.0.2.Final</version.org.hibernate.infra.hibernate-asciidoctor-theme> <version.org.jruby>9.1.15.0</version.org.jruby> <version.org.asciidoctor.asciidoctorj>1.5.6</version.org.asciidoctor.asciidoctorj> <version.org.asciidoctor.asciidoctorj-pdf>1.5.0-alpha.16</version.org.asciidoctor.asciidoctorj-pdf> <!-- JBoss public repository --> <jboss.public.repo.id>jboss-public-repository-group</jboss.public.repo.id> <jboss.public.repo.url>http://repository.jboss.org/nexus/content/groups/public-jboss/</jboss.public.repo.url> <!-- Repository Deployment URLs --> <jboss.releases.repo.id>jboss-releases-repository</jboss.releases.repo.id> <jboss.releases.repo.url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</jboss.releases.repo.url> <jboss.releases.repo.baseUrl>https://repository.jboss.org/nexus/</jboss.releases.repo.baseUrl> <jboss.snapshots.repo.id>jboss-snapshots-repository</jboss.snapshots.repo.id> <jboss.snapshots.repo.url>https://repository.jboss.org/nexus/content/repositories/snapshots/</jboss.snapshots.repo.url> <!-- Build settings --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.source>1.8</maven.compiler.source> <!-- This is used to generate a link to the standard Java library javadoc --> <javadoc.javase.url>http://download.oracle.com/javase/8/docs/api/</javadoc.javase.url> <maven.compiler.testTarget>${maven.compiler.target}</maven.compiler.testTarget> <maven.compiler.testSource>${maven.compiler.source}</maven.compiler.testSource> <!-- Options to override the compiler arguments directly on the compiler argument line to separate between what the IDE understands as the source level and what the Maven compiler actually use. --> <maven.compiler.argument.target>${maven.compiler.target}</maven.compiler.argument.target> <maven.compiler.argument.source>${maven.compiler.source}</maven.compiler.argument.source> <maven.compiler.argument.testTarget>${maven.compiler.testTarget}</maven.compiler.argument.testTarget> <maven.compiler.argument.testSource>${maven.compiler.testSource}</maven.compiler.argument.testSource> <!-- The absolute path to the root project directory. This property is set by the build-helper plugin. We initialize it to some crude, potentially wrong value, because the Sonar Maven plugin uses this property indirectly, but ignores any change made by other plugins. This default value is the best we can do without the help of a Maven plugin. Useful resources: - https://www.mojohaus.org/build-helper-maven-plugin/rootlocation-mojo.html --> <rootProject.directory>${user.dir}</rootProject.directory> <!-- The absolute path to an empty subdirectory of the root project. This is used in places where we need a path to an existing, empty directory, such as when fooling Sonar into thinking there is no "main" source in a project. --> <rootProject.emptySubdirectory>${rootProject.directory}/.empty</rootProject.emptySubdirectory> <!-- Version to be used as baseline for API/SPI change reports --> <previous.stable>5.10.3.Final</previous.stable> <!-- JDK version required for the build; we target 1.8 since Hibernate ORM 5.3 requires Java 8 --> <jdk.min.version>${maven.compiler.argument.source}</jdk.min.version> <maven.min.version>3.2.3</maven.min.version> <!-- Can be overridden by subprojects if dependency convergence cannot be achieved --> <enforcer.dependencyconvergence.skip>false</enforcer.dependencyconvergence.skip> <!-- Test settings --> <!-- Set empty default values to avoid Maven leaving property references (${...}) when it doesn't find a value --> <surefire.jvm.args.memory>-Xmx512m -Xms128m</surefire.jvm.args.memory> <!-- Provide two sets of settings for settings specific to a java version. This is mainly useful when running tests in Arquillian, where illegal-access=deny won't work and is not useful, so we disable it. --> <surefire.jvm.args.java-version.strict></surefire.jvm.args.java-version.strict> <surefire.jvm.args.java-version.lenient></surefire.jvm.args.java-version.lenient> <surefire.jvm.args.java-version>${surefire.jvm.args.java-version.strict}</surefire.jvm.args.java-version> <surefire.jvm.args.jacoco></surefire.jvm.args.jacoco> <failsafe.jvm.args.jacoco></failsafe.jvm.args.jacoco> <!-- Pass these properties as system properties to be able to switch to a different database without re-compiling the hibernate.properties file (which is located in a different file) --> <failsafe.jvm.args.hibernate-orm> -Dhibernate.dialect=${db.dialect} -Dhibernate.connection.driver_class=${jdbc.driver} -Dhibernate.connection.url=${jdbc.url} -Dhibernate.connection.username=${jdbc.user} -Dhibernate.connection.password=${jdbc.pass} -Dhibernate.connection.isolation=${jdbc.isolation} </failsafe.jvm.args.hibernate-orm> <surefire.jvm.args>${surefire.jvm.args.memory} ${surefire.jvm.args.java-version} ${surefire.jvm.args.jacoco}</surefire.jvm.args> <failsafe.jvm.args>${surefire.jvm.args.memory} ${surefire.jvm.args.java-version} ${failsafe.jvm.args.jacoco} ${failsafe.jvm.args.hibernate-orm}</failsafe.jvm.args> <!-- Should be set by submodules. Used by integration tests modules that execute tests from another module. Allows to distinguish between multiple executions of the same test in test reports. --> <surefire.executing-module>default</surefire.executing-module> <!-- Should be set from the command line. Used by CI jobs that execute tests in multiple environments. Allows to distinguish between multiple executions of the same test in test reports. --> <surefire.environment>default</surefire.environment> <arquillian.wildfly.jvm.args.java-version></arquillian.wildfly.jvm.args.java-version> <arquillian.wildfly.jvm.args.jacoco></arquillian.wildfly.jvm.args.jacoco> <!-- The arguments below are JBoss modules settings taken from https://github.com/jboss-modules/jboss-modules/blob/5b4744e74f35cbab23536e3e52c0724fdbbedcb7/src/main/java/org/jboss/modules/maven/MavenSettings.java#L264 - remote.maven.repo: necessary for the WF provisioning to work when the JBoss Nexus is not in the user's settings - maven.repo.local: necessary for the WF provisioning to work when using a non-default local repository --> <arquillian.wildfly.jvm.args.jbossmodules> -Dremote.maven.repo=${jboss.public.repo.url} -Dmaven.repo.local=${settings.localRepository} </arquillian.wildfly.jvm.args.jbossmodules> <arquillian.wildfly.jvm.args>${arquillian.wildfly.jvm.args.java-version} ${arquillian.wildfly.jvm.args.jacoco} ${arquillian.wildfly.jvm.args.jbossmodules}</arquillian.wildfly.jvm.args> <pax-exam.jvm.args.java-version></pax-exam.jvm.args.java-version> <pax-exam.jvm.args.jacoco></pax-exam.jvm.args.jacoco> <pax-exam.jvm.args>${pax-exam.jvm.args.java-version} ${pax-exam.jvm.args.jacoco}</pax-exam.jvm.args> <!-- The path to a single merged JaCoCo coverage file including all of the coverage data for all modules. This file is mainly necessary for Sonar, see Sonar configuration below for an explanation. --> <jacoco.mergedExecFilePath>${rootProject.directory}/target/jacoco-merged.exec</jacoco.mergedExecFilePath> <!-- Elasticsearch tests properties --> <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> <!-- Eclipse plugin options --> <m2e.apt.activation>jdt_apt</m2e.apt.activation> <!-- Sonar options --> <!-- We want to take into account coverage data from integration tests from other projects as well. This requires to use a single destination file for ITs, because: - Integration tests cover code from other modules. - The Sonar plugin computes coverage when inspecting each module, and by default only takes into account JaCoCo coverage files from the inspected module. Thus it ignores some relevant ITs by default. - Even when configured, the Sonar plugin only accept an *explicit* list of JaCoCo coverage files (no wildcards). Thus we cannot easily configure the Sonar plugin to inspect JaCoCo coverage files from other modules, unless we somehow aggregate all of the coverage data into a single, shared JaCoCo coverage file. The chosen solution was to make the "reports" module invoke jacoco's "merge" goal to merge the coverage files into a single file, and configure sonar to only inspect that file. Useful resources to understand what is going on (caution, not everything is up-to-date): - https://docs.sonarqube.org/display/SONAR/Analysis+Parameters - https://docs.sonarqube.org/display/PLUG/Usage+of+JaCoCo+with+Java+Plugin - https://www.devcon5.ch/en/blog/2015/05/29/multi-module-integration-test-coverage-sonar-jacoco/ - http://javamemento.blogspot.fr/2016/02/sonar-jacoco-maven-multi-module.html - https://github.com/SonarSource/sonar-scanning-examples/blob/master/sonarqube-scanner-maven/pom.xml - https://stackoverflow.com/a/49528226/6692043 - https://www.eclemma.org/jacoco/trunk/doc/merge-mojo.html --> <sonar.jacoco.reportPaths>${jacoco.mergedExecFilePath}</sonar.jacoco.reportPaths> <!-- Exclude build code and integration tests defined in the main source (utils, Showcases, Backend TCK) from coverage computation. --> <sonar.coverage.exclusions> **/org/hibernate/checkstyle/**, **/org/hibernate/search/util/impl/test/**, **/org/hibernate/search/util/impl/integrationtest/**, **/org/hibernate/search/integrationtest/** </sonar.coverage.exclusions> <!-- Exclude build code, unit tests and integration tests from duplication analysis. --> <sonar.cpd.exclusions> **/org/hibernate/checkstyle/**, **/src/test/java/**, **/org/hibernate/search/integrationtest/** </sonar.cpd.exclusions> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-util-internal-common</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-util-internal-test</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-engine</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-backend-elasticsearch</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-backend-lucene</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-mapper-pojo</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-mapper-javabean</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-mapper-orm</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-integrationtest-backend-elasticsearch</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-integrationtest-backend-lucene</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-integrationtest-mapper-pojo</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-documentation</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-integrationtest-orm</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-integrationtest-showcase-library</artifactId> <version>${project.version}</version> </dependency> <!-- Legacy modules --> <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>org.hibernate</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>org.hibernate</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>org.hibernate</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-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.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${version.org.hibernate}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-orm-jbossmodules</artifactId> <version>${version.org.hibernate}</version> <type>zip</type> <exclusions> <exclusion> <groupId>*</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate.common</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>${version.org.hibernate.commons.annotations}</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>${version.org.elasticsearch.client}</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client-sniffer</artifactId> <version>${version.org.elasticsearch.client}</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>${version.com.google.code.gson}</version> </dependency> <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>${version.org.jboss.logging.jboss-logging}</version> </dependency> <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging-annotations</artifactId> <version>${version.org.jboss.logging.jboss-logging-tools}</version> <scope>provided</scope> <optional>true</optional> </dependency> <!-- Lucene backend --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>${version.org.apache.lucene}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers-common</artifactId> <version>${version.org.apache.lucene}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-join</artifactId> <version>${version.org.apache.lucene}</version> </dependency> <!-- JavaEE/JakartaEE dependencies --> <dependency> <groupId>javax.persistence</groupId> <artifactId>javax.persistence-api</artifactId> <version>${version.javax.persistence}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.enterprise</groupId> <artifactId>cdi-api</artifactId> <version>${version.javax.enterprise}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>${version.javax.inject}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.spec.javax.annotation</groupId> <artifactId>jboss-annotations-api_1.2_spec</artifactId> <version>${version.org.jboss.spec.javax.annotation.jboss-annotations-api_1.2_spec}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.spec.javax.transaction</groupId> <artifactId>jboss-transaction-api_1.2_spec</artifactId> <version>${version.org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.batch</groupId> <artifactId>javax.batch-api</artifactId> <version>${version.javax.batch}</version> <scope>provided</scope> </dependency> <!-- Test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${version.junit}</version> </dependency> <dependency> <groupId>io.takari.junit</groupId> <artifactId>takari-cpsuite</artifactId> <version>${version.io.takari.junit}</version> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>${version.org.easymock}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${version.log4j}</version> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>${version.org.assertj.assertj-core}</version> </dependency> <dependency> <groupId>org.skyscreamer</groupId> <artifactId>jsonassert</artifactId> <version>${version.org.skyscreamer.jsonassert}</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> </dependencies> </dependencyManagement> <build> <defaultGoal>install</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <showWarnings>true</showWarnings> <source>${maven.compiler.argument.source}</source> <target>${maven.compiler.argument.target}</target> <testSource>${maven.compiler.argument.testSource}</testSource> <testTarget>${maven.compiler.argument.testTarget}</testTarget> <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> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>set-root-location-property</id> <goals> <goal>rootlocation</goal> </goals> <configuration> <rootLocationProperty>rootProject.directory</rootLocationProperty> </configuration> </execution> <!-- The following defines the properties 'parsedVersion.majorVersion' and 'parsedVersion.minorVersion' to be in synch with the current project version --> <execution> <id>parse-project-version</id> <goals> <goal>parse-version</goal> </goals> <configuration> <propertyPrefix>parsed-version.org.hibernate.search</propertyPrefix> <versionString>${project.version}</versionString> </configuration> </execution> <execution> <id>parse-orm-version</id> <goals> <goal>parse-version</goal> </goals> <configuration> <propertyPrefix>parsed-version.org.hibernate</propertyPrefix> <versionString>${version.org.hibernate}</versionString> </configuration> </execution> <execution> <id>parse-lucene-version</id> <goals> <goal>parse-version</goal> </goals> <configuration> <propertyPrefix>parsed-version.org.apache.lucene</propertyPrefix> <versionString>${version.org.apache.lucene}</versionString> </configuration> </execution> <execution> <id>parse-elasticsearch-client-version</id> <goals> <goal>parse-version</goal> </goals> <configuration> <propertyPrefix>parsed-version.org.elasticsearch.client</propertyPrefix> <versionString>${version.org.elasticsearch.client}</versionString> </configuration> </execution> <execution> <id>parse-gson-version</id> <goals> <goal>parse-version</goal> </goals> <configuration> <propertyPrefix>parsed-version.com.google.code.gson</propertyPrefix> <versionString>${version.com.google.code.gson}</versionString> </configuration> </execution> <execution> <id>parse-aws-v4-signer-java-version</id> <goals> <goal>parse-version</goal> </goals> <configuration> <propertyPrefix>parsed-version.uk.co.lucasweb.aws-v4-signer-java</propertyPrefix> <versionString>${version.uk.co.lucasweb.aws-v4-signer-java}</versionString> </configuration> </execution> <execution> <id>parse-jpa-version</id> <goals> <goal>parse-version</goal> </goals> <configuration> <propertyPrefix>parsed-version.javax.persistence</propertyPrefix> <versionString>${version.javax.persistence}</versionString> </configuration> </execution> </executions> </plugin> <!-- Skip the deploy plugin explicitly: we use nexus-staging-maven-plugin instead --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <!-- Configure the nexus-staging-maven-plugin explicitly (without <extension>true</extension>) in order to work around a problem in the "reports" module (see that module's POM for more info). --> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <extensions>false</extensions><!-- This is essential: do not put true here --> <configuration> <serverId>${jboss.releases.repo.id}</serverId> <!-- The following, by default, is only used for actual releases, not for snapshot deployments --> <nexusUrl>${jboss.releases.repo.baseUrl}</nexusUrl> </configuration> <executions> <execution> <id>default-deploy</id> <phase>deploy</phase> <goals> <!-- Use the default "deploy" goal in every module, except in the "reports" module where this is overridden --> <goal>deploy</goal> </goals> </execution> </executions> </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://hibernate.org/search/</Implementation-URL> </manifestEntries> </archive> </configuration> </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> <version>[${jdk.min.version},)</version> </requireJavaVersion> <requireMavenVersion> <version>${maven.min.version}</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> <!-- Build configuration --> <plugin> <groupId>org.wildfly.build</groupId> <artifactId>wildfly-feature-pack-build-maven-plugin</artifactId> <version>${version.org.wildfly.build-tools}</version> </plugin> <plugin> <groupId>com.github.marschall</groupId> <artifactId>jdeps-maven-plugin</artifactId> <version>${version.jdeps.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>${version.clean.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>${version.install.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${version.resources.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>${version.site.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${version.jar.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${version.compiler.plugin}</version> </plugin> <plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId> <version>${version.processor.plugin}</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 ${maven.compiler.argument.source} -target ${maven.compiler.argument.target} -Aorg.jboss.logging.tools.addGeneratedAnnotation=false</compilerArguments> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging-processor</artifactId> <version>${version.org.jboss.logging.jboss-logging-tools}</version> <scope>compile</scope> </dependency> </dependencies> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>${version.nexus-staging.plugin}</version> </plugin> <plugin> <groupId>ch.mfrey.maven.plugin</groupId> <artifactId>copy-maven-plugin</artifactId> <version>${version.copy.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${version.assembly.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>${version.release.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${version.javadoc.plugin}</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>${javadoc.javase.url}</link> <link>${javadoc.org.hibernate.url}</link> <link>${javadoc.org.apache.lucene.core.url}</link> <link>${javadoc.org.apache.lucene.analyzers-common.url}</link> <link>${javadoc.org.apache.lucene.queryparser.url}</link> <!-- For Java EE APIs, in particular javax.batch in the JSR 352 modules --> <link>${javadoc.javaee.url}</link> <!-- For the JSR 352 modules --> <link>${javadoc.org.jberet.url}</link> </links> <bottom> <![CDATA[Copyright © ${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>${version.org.jboss.logging.jboss-logging-tools}</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>${version.source.plugin}</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>${version.deploy.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${version.dependency.plugin}</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-util-internal-integrationtest-sharedresources 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-util-internal-integrationtest-sharedresources</includeArtifacIds> <includeTypes>zip</includeTypes> <excludeTransitive>true</excludeTransitive> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-help-plugin</artifactId> <version>${version.help.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>${version.enforcer.plugin}</version> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <version>${version.bundle.plugin}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${version.shade.plugin}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${version.buildhelper.plugin}</version> </plugin> <plugin> <groupId>org.apache.servicemix.tooling</groupId> <artifactId>depends-maven-plugin</artifactId> <version>${version.depends.plugin}</version> </plugin> <plugin> <groupId>org.bitstrings.maven.plugins</groupId> <artifactId>dependencypath-maven-plugin</artifactId> <version>${version.dependencypath.plugin}</version> </plugin> <plugin> <groupId>org.jboss.bridger</groupId> <artifactId>bridger</artifactId> <version>${version.org.jboss.bridger.plugin}</version> </plugin> <plugin> <groupId>de.thetaphi</groupId> <artifactId>forbiddenapis</artifactId> <version>${version.forbiddenapis.plugin}</version> <executions> <execution> <id>verify-forbidden-apis</id> <configuration> <targetVersion>10</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?) --> <!-- Also, we allow JBoss Loggers to use SearchException constructors --> <exclude>**/*_$logger.class</exclude> <!-- JBoss message bundles format messages --> <exclude>**/*_$bundle.class</exclude> <!-- Easymock uses StringBuffer, we can't do anything about that --> <exclude>**/EasyMockUtils*.class</exclude> <!-- SearchException and subclasses are allowed to use SearchException constructors, on contrary to the rest of the code --> <exclude>**/SearchException.class</exclude> <exclude>**/ClassLoadingException.class</exclude> <exclude>**/ElasticsearchSchemaValidationException.class</exclude> </excludes> <bundledSignatures> <!-- These signatures on the top are not specific to any JDK version --> <bundledSignature>jdk-system-out</bundledSignature> <bundledSignature>jdk-non-portable</bundledSignature> <!-- The jdk-reflection is not yet something we can avoid --> <!--<bundledSignature>jdk-reflection</bundledSignature>--> <!-- All following signatures should be replicated for each target JDK version we intend to support --> <bundledSignature>jdk-unsafe-1.8</bundledSignature> <bundledSignature>jdk-unsafe-9</bundledSignature> <bundledSignature>jdk-unsafe-10</bundledSignature> <bundledSignature>jdk-unsafe-11</bundledSignature> <bundledSignature>jdk-deprecated-1.8</bundledSignature> <bundledSignature>jdk-deprecated-9</bundledSignature> <bundledSignature>jdk-deprecated-10</bundledSignature> <bundledSignature>jdk-deprecated-11</bundledSignature> <bundledSignature>jdk-internal-1.8</bundledSignature> <bundledSignature>jdk-internal-9</bundledSignature> <bundledSignature>jdk-internal-10</bundledSignature> <bundledSignature>jdk-internal-11</bundledSignature> </bundledSignatures> <failOnMissingClasses>false</failOnMissingClasses> <failOnUnresolvableSignatures>false</failOnUnresolvableSignatures> <signaturesArtifacts> <signaturesArtifact> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-build-config</artifactId> <version>${project.version}</version> <type>jar</type> <path>forbidden-runtime.txt</path> </signaturesArtifact> </signaturesArtifacts> </configuration> <phase>compile</phase> <goals> <goal>check</goal> </goals> </execution> <execution> <id>verify-forbidden-test-apis</id> <configuration> <targetVersion>${maven.compiler.argument.testTarget}</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> <signaturesArtifacts> <signaturesArtifact> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-build-config</artifactId> <version>${project.version}</version> <type>jar</type> <path>forbidden-tests.txt</path> </signaturesArtifact> </signaturesArtifacts> </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>${version.checkstyle.plugin}</version> <dependencies> <dependency> <groupId>org.hibernate.search</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>${version.org.slf4j}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>${version.org.slf4j}</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, **/*_$logger.java,**/*_$bundle.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> <!-- Test configuration --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${version.surefire.plugin}</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> </systemPropertyVariables> <argLine>${surefire.jvm.args}</argLine> <reportNameSuffix>${surefire.environment}-${surefire.executing-module}</reportNameSuffix> <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-failsafe-plugin</artifactId> <version>${version.failsafe.plugin}</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> </systemPropertyVariables> <argLine>${failsafe.jvm.args}</argLine> <reportNameSuffix>${surefire.environment}-${surefire.executing-module}</reportNameSuffix> <additionalClasspathElements> <!-- Needed by Byteman to load the agent on demand --> <additionalClasspathElement>${jdk-toolsjar}</additionalClasspathElement> </additionalClasspathElements> </configuration> </plugin> <plugin> <groupId>com.github.alexcojocaru</groupId> <artifactId>elasticsearch-maven-plugin</artifactId> <version>${version.elasticsearch.plugin}</version> <configuration> <clusterName>hsearchEsTestCluster</clusterName> <httpPort>9200</httpPort> </configuration> </plugin> <plugin> <groupId>org.wildfly.build</groupId> <artifactId>wildfly-server-provisioning-maven-plugin</artifactId> <version>${version.org.wildfly.build-tools}</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${version.jacoco.plugin}</version> </plugin> <plugin> <groupId>org.eluder.coveralls</groupId> <artifactId>coveralls-maven-plugin</artifactId> <version>${version.coveralls.plugin}</version> <configuration> <relativeReportDirs> <relativeReportDir>jacoco-aggregate</relativeReportDir> </relativeReportDirs> </configuration> </plugin> <plugin> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-maven-plugin</artifactId> <version>${version.asciidoctor.plugin}</version> <dependencies> <dependency> <groupId>org.jruby</groupId> <artifactId>jruby-complete</artifactId> <version>${version.org.jruby}</version> </dependency> <dependency> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctorj</artifactId> <version>${version.org.asciidoctor.asciidoctorj}</version> </dependency> <dependency> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctorj-pdf</artifactId> <version>${version.org.asciidoctor.asciidoctorj-pdf}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.4.0.905</version> </plugin> </plugins> </pluginManagement> </build> <distributionManagement> <repository> <id>${jboss.releases.repo.id}</id> <name>JBoss Releases Repository</name> <url>${jboss.releases.repo.url}</url> </repository> <snapshotRepository> <id>${jboss.snapshots.repo.id}</id> <name>JBoss Snapshots Repository</name> <url>${jboss.snapshots.repo.url}</url> </snapshotRepository> </distributionManagement> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>${version.project-info.plugin}</version> <reportSets> <reportSet> <reports> <report>index</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>com.github.siom79.japicmp</groupId> <artifactId>japicmp-maven-plugin</artifactId> <version>${version.japicmp.plugin}</version> <reportSets> <reportSet> <reports> <report>cmp-report</report> </reports> </reportSet> </reportSets> <configuration> <skip>true</skip> <oldVersion> <dependency> <groupId>org.hibernate.search</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> <!-- This is 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> <!-- This is 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>jdk8</id> <activation> <jdk>1.8</jdk> </activation> <modules> <!-- Nothing at the moment --> </modules> </profile> <profile> <id>jdk9</id> <activation> <!-- Java 9 doesn't identify itself as "1.9" but "9" --> <jdk>9</jdk> </activation> <properties> <surefire.jvm.args.java-version.lenient> -Djdk.attach.allowAttachSelf=true </surefire.jvm.args.java-version.lenient> <surefire.jvm.args.java-version.strict> ${surefire.jvm.args.java-version.lenient} --illegal-access=deny </surefire.jvm.args.java-version.strict> <arquillian.wildfly.jvm.args.java-version> -Djdk.attach.allowAttachSelf=true </arquillian.wildfly.jvm.args.java-version> <pax-exam.jvm.args.java-version> --add-modules=java.xml.bind </pax-exam.jvm.args.java-version> </properties> <modules> <!-- Nothing at the moment --> </modules> </profile> <profile> <id>jdk10</id> <activation> <jdk>10</jdk> </activation> <properties> <surefire.jvm.args.java-version.lenient> -Djdk.attach.allowAttachSelf=true </surefire.jvm.args.java-version.lenient> <surefire.jvm.args.java-version.strict> ${surefire.jvm.args.java-version.lenient} --illegal-access=deny </surefire.jvm.args.java-version.strict> <arquillian.wildfly.jvm.args.java-version> -Djdk.attach.allowAttachSelf=true </arquillian.wildfly.jvm.args.java-version> <pax-exam.jvm.args.java-version> --add-modules=java.xml.bind </pax-exam.jvm.args.java-version> </properties> <modules> <!-- Nothing at the moment --> </modules> </profile> <profile> <id>jdk11</id> <activation> <jdk>11</jdk> </activation> <properties> <surefire.jvm.args.java-version.lenient> -Djdk.attach.allowAttachSelf=true -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true </surefire.jvm.args.java-version.lenient> <!-- When we use illegal-access=deny, we have to open the java.lang package to EasyMock, because cglib (used by EasyMock) requires to execute setAccessible(true) on ClassLoader.defineClass(...). See https://github.com/easymock/easymock/issues/235 See https://hibernate.atlassian.net/browse/HSEARCH-3419 --> <surefire.jvm.args.java-version.strict> ${surefire.jvm.args.java-version.lenient} --illegal-access=deny --add-opens java.base/java.lang=ALL-UNNAMED </surefire.jvm.args.java-version.strict> <arquillian.wildfly.jvm.args.java-version> -Djdk.attach.allowAttachSelf=true </arquillian.wildfly.jvm.args.java-version> </properties> <modules> <!-- Nothing at the moment --> </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>${version.org.jboss.logging.jboss-logging-tools}</version> <scope>compile</scope> </dependency> </dependencies> </profile> <profile> <id>eclipse</id> <activation> <property> <!-- This is a trick to have the profile automatically activated by Eclipse --> <name>m2e.version</name> </property> </activation> <build> <pluginManagement> <plugins> <plugin> <!-- This plugin's configuration is used in m2e only. We want to configure this in a separate profile because the plugin doesn't really exist and Maven will complain because it doesn't find it if executed outside of Eclipse. --> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>${version.org.eclipse.m2e.lifecycle-mapping}</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> <pluginExecution> <pluginExecutionFilter> <groupId>org.jboss.bridger</groupId> <artifactId>bridger</artifactId> <versionRange>[1.5.Final,)</versionRange> <goals> <goal>transform</goal> </goals> </pluginExecutionFilter> <action> <ignore></ignore> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId> org.asciidoctor </groupId> <artifactId> asciidoctor-maven-plugin </artifactId> <versionRange> [1.5.6,) </versionRange> <goals> <goal> process-asciidoc </goal> </goals> </pluginExecutionFilter> <action> <ignore></ignore> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build> </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> <profile> <id>coverage</id> <properties> <!-- Caution, we use @{...} for late property evaluation here: http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation This is necessary for Jacoco to work as expected. However, we wrap the @{...} references into two early-evaluated properties because in certain environments (IntelliJ IDEA), the use of late property evaluation is not supported and breaks test execution. This is because IntelliJ tries to parse the POM to retrieve the surefire/failsafe argLine and pass them to the test execution directly, but then fails to evaluate "@{...}" references, resulting in errors. As a result, this profile will not work in IntelliJ, but we don't need JaCoCo in IntelliJ anyway. --> <surefire.jvm.args.jacoco>@{surefire.jvm.args.jacoco.lateEval}</surefire.jvm.args.jacoco> <failsafe.jvm.args.jacoco>@{failsafe.jvm.args.jacoco.lateEval}</failsafe.jvm.args.jacoco> <!-- We don't use @{...} for late property evaluation here, because these properties are evaluated by the maven-resource-plugin, which doesn't understand the @{...} syntax but somehow manages to always use late evaluation. --> <arquillian.wildfly.jvm.args.jacoco>${failsafe.jvm.args.jacoco.lateEval}</arquillian.wildfly.jvm.args.jacoco> <pax-exam.jvm.args.jacoco>${failsafe.jvm.args.jacoco.lateEval}</pax-exam.jvm.args.jacoco> </properties> <build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <configuration> <excludes> <exclude>**/*_$logger.class</exclude> <exclude>**/*_$bundle.class</exclude> </excludes> </configuration> <executions> <execution> <id>jacoco-prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> <configuration> <propertyName>surefire.jvm.args.jacoco.lateEval</propertyName> </configuration> </execution> <execution> <id>jacoco-prepare-prepare-agent-integration</id> <!-- This is necessary in order for the property to be set before we process resources, such as arquillian.xml in WildFly tests or maven.properties in OSGi tests. --> <phase>initialize</phase> <goals> <goal>prepare-agent-integration</goal> </goals> <configuration> <propertyName>failsafe.jvm.args.jacoco.lateEval</propertyName> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- A profile executing jqassistant scanning and analysis for all relevant modules. Our rules are in jqassistant/rules.xml. To run the analysis on the engine module: mvn clean install -pl engine -Pjqassistant -DskipTests=true To launch a Neo4j server accessible at http://localhost:7474/ based on the previous analysis, use the jqassistant-debug profile (see below): mvn jqassistant:server -pl reports -Pjqassistant-debug --> <profile> <id>jqassistant</id> <build> <plugins> <plugin> <groupId>com.buschmais.jqassistant</groupId> <artifactId>jqassistant-maven-plugin</artifactId> <version>${version.com.buschmais.jqassistant.plugin}</version> <!-- HSEARCH-3437: ALWAYS use extensions, otherwise the build of each module uses a different classloader to load classes, and we end up with some executions using a different definition of internal classes, and it wreaks havoc in the context shared between the executions. In particular it messes up the "executedModules" map, because keys that should be equal no longer are due to their class not being equal. In short: don't change this without extensive testing. An unfortunate side-effect is that commands such as mvn jqassistant:server -Pjqassistant -pl reports will not work anymore, so we need to use a different profile for that (see jqassistant-debug). --> <extensions>true</extensions> <executions> <execution> <goals> <goal>scan</goal> <goal>analyze</goal> </goals> <configuration> <!-- Necessary when using extensions (see above) --> <storeLifecycle>MODULE</storeLifecycle> <warnOnSeverity>INFO</warnOnSeverity> <failOnSeverity>MAJOR</failOnSeverity> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- A profile for debugging the jqassistant rules. This is only necessary because we have to use extensions in the jqassistant profile (above), and extensions seem to mess with explicit use of the jqassistant:server goal, which doesn't work anymore. So this profile just enables jqassistant, but without extensions. --> <profile> <id>jqassistant-server</id> <build> <plugins> <plugin> <groupId>com.buschmais.jqassistant</groupId> <artifactId>jqassistant-maven-plugin</artifactId> <version>${version.com.buschmais.jqassistant.plugin}</version> <!-- Do NOT enable extensions. --> <extensions>false</extensions> </plugin> </plugins> </build> </profile> <profile> <id>owasp</id> <build> <plugins> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>${version.dependency-check.plugin}</version> <executions> <execution> <goals> <goal>aggregate</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </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-5.6 -Dtest.elasticsearch.version=5.6.0 --> <!-- Elasticsearch 5.6+ test environment --> <profile> <id>elasticsearch-5.6</id> <properties> <test.elasticsearch.mavenPlugin.version>5.7</test.elasticsearch.mavenPlugin.version> <test.elasticsearch.host.version>5.6.8</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> <clusterName>hsearchEsTestCluster</clusterName> <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 6.0+ test environment (default) --> <profile> <id>elasticsearch-6.0</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>6.9</test.elasticsearch.mavenPlugin.version> <test.elasticsearch.host.version>6.6.0</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/6.0/configuration/</pathConf> <pathInitScript>${project.build.directory}/elasticsearch-maven-plugin/6.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>${version.com.h2database}</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>2.2.4</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> <!-- WARNING: this MUST be the very last profile, so that the "report" module is the very last module, in particular when deploying artifacts to a Nexus repository. See the "reports" module POM for more information. --> <profile> <id>report-as-last-module</id> <activation> <property> <name>!some.property.that.will.never.exist</name> </property> </activation> <modules> <module>reports</module> </modules> </profile> <!-- DO NOT ADD ANY PROFILE AFTER THIS: see above --> </profiles> </project>