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.Alpha8</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.Alpha8</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>https://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>fabio.ercoli</id> <name>Fabio Massimo Ercoli</name> <email>fabio@hibernate.org</email> <organization>Red Hat, Inc.</organization> <url>http://in.relation.to/fabio-massimo-ercoli/</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/common</module> <module>util/internal/test</module> <module>engine</module> <module>backend/elasticsearch</module> <module>backend/elasticsearch-aws</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> </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> <javadoc.org.hibernate.search.url>https://docs.jboss.org/hibernate/search/${parsed-version.org.hibernate.search.majorVersion}.${parsed-version.org.hibernate.search.minorVersion}/api/</javadoc.org.hibernate.search.url> <!-- >>> Engine --> <!-- Nothing beyond common dependencies --> <!-- >>> Lucene --> <version.org.apache.lucene>8.1.1</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 --> <!-- The main version of Elasticsearch targeted by Hibernate Search, tested in the default profile --> <version.org.elasticsearch.main>7.2.0</version.org.elasticsearch.main> <!-- The version of the Elasticsearch client used by Hibernate Search, independently from the version of the remote cluster --> <version.org.elasticsearch.client>${version.org.elasticsearch.main}</version.org.elasticsearch.client> <documentation.org.elasticsearch.url>https://www.elastic.co/guide/en/elasticsearch/reference/${parsed-version.org.elasticsearch.main.majorVersion}.${parsed-version.org.elasticsearch.main.minorVersion}</documentation.org.elasticsearch.url> <version.com.google.code.gson>2.8.5</version.com.google.code.gson> <version.uk.co.lucasweb.aws-v4-signer-java>1.3</version.uk.co.lucasweb.aws-v4-signer-java> <!-- Jackson: used by the Elasticsearch REST client and in tests (wiremock, ...) --> <version.com.fasterxml.jackson>2.8.11</version.com.fasterxml.jackson> <!-- >>> ORM --> <version.org.hibernate>5.4.3.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> <documentation.org.hibernate.url>http://docs.jboss.org/hibernate/orm/${parsed-version.org.hibernate.majorVersion}.${parsed-version.org.hibernate.minorVersion}/userguide/html_single/Hibernate_User_Guide.html</documentation.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.12.2</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> <version.com.github.tomakehurst.wiremock>2.22.0</version.com.github.tomakehurst.wiremock> <version.org.apache.commons.lang3>3.8.1</version.org.apache.commons.lang3> <!-- Maven plugins versions --> <version.assembly.plugin>3.1.0</version.assembly.plugin> <version.buildhelper.plugin>3.0.0</version.buildhelper.plugin> <version.checkstyle.plugin>3.0.0</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.1.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.3</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> <version.com.github.alexcojocaru.elasticsearch.plugin>6.12</version.com.github.alexcojocaru.elasticsearch.plugin> <version.moditect.plugin>1.0.0.Beta2</version.moditect.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.18</puppycrawl.checkstyle.version> <!-- Asciidoctor --> <version.asciidoctor.plugin>1.5.8</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.17.0</version.org.jruby> <version.org.asciidoctor.asciidoctorj>1.5.8</version.org.asciidoctor.asciidoctorj> <version.org.asciidoctor.asciidoctorj-pdf>1.5.0-alpha.18</version.org.asciidoctor.asciidoctorj-pdf> <!-- JBoss public repository --> <jboss.public.repo.id>jboss-public-repository-group</jboss.public.repo.id> <jboss.public.repo.url>https://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> <!-- Options to compile with the Eclipse compiler when building with maven (not with the IDE). See profile "compiler-eclipse". Note the version of ECJ is overridden because the one bundled with the latest plexus-compiler version is outdated and leads to compilation errors. --> <version.org.codehaus.plexus.plexus-compiler-eclipse>2.8.5</version.org.codehaus.plexus.plexus-compiler-eclipse> <version.org.eclipse.jdt.ecj>3.17.0</version.org.eclipse.jdt.ecj> <!-- 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> <!-- Whether javadoc problems (errors, warnings) should fail the build) --> <failOnJavadocError>true</failOnJavadocError> <!-- 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 dependency of the integration tests modules) --> <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> <!-- Elasticsearch tests properties --> <test.elasticsearch.java_home>${java.home}</test.elasticsearch.java_home> <test.elasticsearch.host.url>http://localhost:9200</test.elasticsearch.host.url> <!-- These properties are transparently passed as system properties to integration tests, and retrieved by a test utility: org.hibernate.search.util.impl.integrationtest.elasticsearch.ElasticsearchTestHostConnectionConfiguration This is better than configuration files filtered by Maven, because we will be able to change the configuration without re-compiling the configuration file (which is located in a dependency of the integration tests modules). --> <test.elasticsearch.host.username></test.elasticsearch.host.username> <test.elasticsearch.host.password></test.elasticsearch.host.password> <test.elasticsearch.host.aws.signing.enabled>false</test.elasticsearch.host.aws.signing.enabled> <test.elasticsearch.host.aws.signing.access_key></test.elasticsearch.host.aws.signing.access_key> <test.elasticsearch.host.aws.signing.secret_key></test.elasticsearch.host.aws.signing.secret_key> <test.elasticsearch.host.aws.signing.region></test.elasticsearch.host.aws.signing.region> <!-- Control how integration tests format the requests sent to Elasticsearch --> <test.elasticsearch.testdialect></test.elasticsearch.testdialect> <!-- 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 reports 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 reports (no wildcards). Thus we cannot easily configure the Sonar plugin to inspect JaCoCo coverage reports from other modules, unless we somehow aggregate all of the coverage data into a single, shared JaCoCo coverage report. The chosen solution was to make the "reports" module invoke jacoco's "report-aggregate" goal to create a single aggregate report, 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/report-aggregate-mojo.html - Not relevant anymore, but we used to merge *.exec files: https://www.eclemma.org/jacoco/trunk/doc/merge-mojo.html --> <sonar.coverage.jacoco.xmlReportPaths>${rootProject.directory}/reports/target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths> <!-- 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-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-elasticsearch-aws</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>uk.co.lucasweb</groupId> <artifactId>aws-v4-signer-java</artifactId> <version>${version.uk.co.lucasweb.aws-v4-signer-java}</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-queryparser</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> <!-- Jackson: used by the Elasticsearch REST client and in tests (wiremock, ...) --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${version.com.fasterxml.jackson}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${version.com.fasterxml.jackson}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${version.com.fasterxml.jackson}</version> </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> <dependency> <groupId>com.github.tomakehurst</groupId> <artifactId>wiremock</artifactId> <version>${version.com.github.tomakehurst.wiremock}</version> <exclusions> <!-- These dependencies point to multiple different versions, and are not really necessary in our case: either they are not used, or they are provided by other dependencies such as the Elasticsearch Rest client. --> <exclusion> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> </exclusion> <exclusion> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </exclusion> </exclusions> </dependency> <dependency> <!-- Dependency management is necessary for Wiremock in particular (it has internal dependency divergence) --> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${version.org.apache.commons.lang3}</version> </dependency> <dependency> <!-- Dependency management is necessary for Wiremock in particular (it has internal dependency divergence) --> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${version.org.slf4j}</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> <!-- Hibernate ORM testing tools --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-testing</artifactId> <version>${version.org.hibernate}</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-main-version</id> <goals> <goal>parse-version</goal> </goals> <configuration> <propertyPrefix>parsed-version.org.elasticsearch.main</propertyPrefix> <versionString>${version.org.elasticsearch.main}</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> <failOnWarnings>true</failOnWarnings> <failOnError>true</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> <additionalOptions>${javadoc.additionalOptions.java-version}</additionalOptions> </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> <!-- The following class requires AbstractProducedQuery to implement a org.hibernate.query.Query --> <exclude>**/HibernateOrmSearchQueryAdapter.class</exclude> <!-- The following class uses a legal SPI that strangely has an internal as method parameter --> <exclude>**/SimpleSessionFactoryBuilder.class</exclude> <!-- Classes allowed to use MethodHandles because we expose options to integrators so that they can opt out --> <exclude>**/MethodHandleValueReadHandleFactory.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> <plugin> <groupId>org.moditect</groupId> <artifactId>moditect-maven-plugin</artifactId> <version>${version.moditect.plugin}</version> </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> <org.hibernate.search.integrationtest.backend.elasticsearch.testdialect>${test.elasticsearch.testdialect}</org.hibernate.search.integrationtest.backend.elasticsearch.testdialect> <org.hibernate.search.integrationtest.backend.elasticsearch.version>${test.elasticsearch.host.version}</org.hibernate.search.integrationtest.backend.elasticsearch.version> </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.com.github.alexcojocaru.elasticsearch.plugin}</version> <configuration> <skip>${test.elasticsearch.host.provided}</skip> <clusterName>hsearchEsTestCluster</clusterName> <httpPort>9200</httpPort> <version>${test.elasticsearch.host.version}</version> <timeout>90</timeout><!-- Make it work on our slow CI --> <autoCreateIndex>false</autoCreateIndex> <environmentVariables> <JAVA_HOME>${test.elasticsearch.java_home}</JAVA_HOME> </environmentVariables> </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> <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> <configuration> <!-- Enabled to validate internal links --> <enableVerbose>true</enableVerbose> <!-- Abort the build if something seems wrong --> <logHandler> <failIf> <severity>WARN</severity> </failIf> </logHandler> </configuration> <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> <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>jdk12+</id> <activation> <jdk>[12,)</jdk> </activation> <properties> <!-- https://bugs.openjdk.java.net/browse/JDK-8212233?focusedCommentId=14245762 --> <javadoc.additionalOptions.java-version>-html5 -source 8</javadoc.additionalOptions.java-version> </properties> </profile> <profile> <id>compiler-eclipse</id> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <compilerId>eclipse</compilerId> </configuration> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-eclipse</artifactId> <version>${version.org.codehaus.plexus.plexus-compiler-eclipse}</version> </dependency> <dependency> <groupId>org.eclipse.jdt</groupId> <artifactId>ecj</artifactId> <version>${version.org.eclipse.jdt.ecj}</version> </dependency> </dependencies> </plugin> </plugins> </pluginManagement> </build> </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. See README.md for usage. --> <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-server). --> <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, see README.md. --> <!-- Elasticsearch 5.6+ test environment --> <profile> <id>elasticsearch-5.6</id> <properties> <test.elasticsearch.host.version>5.6.8</test.elasticsearch.host.version> <test.elasticsearch.testdialect>org.hibernate.search.util.impl.integrationtest.elasticsearch.dialect.Elasticsearch5TestDialect</test.elasticsearch.testdialect> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>com.github.alexcojocaru</groupId> <artifactId>elasticsearch-maven-plugin</artifactId> <version>${version.com.github.alexcojocaru.elasticsearch.plugin}</version> <configuration> <pathConf>${project.build.directory}/elasticsearch-maven-plugin/5.0/configuration/</pathConf> <pathInitScript>${project.build.directory}/elasticsearch-maven-plugin/5.0/init/init.script</pathInitScript> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <!-- Elasticsearch 6.0 to 6.6 test environment --> <profile> <id>elasticsearch-6.0</id> <properties> <test.elasticsearch.host.version>6.6.2</test.elasticsearch.host.version> <test.elasticsearch.testdialect>org.hibernate.search.util.impl.integrationtest.elasticsearch.dialect.Elasticsearch60TestDialect</test.elasticsearch.testdialect> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>com.github.alexcojocaru</groupId> <artifactId>elasticsearch-maven-plugin</artifactId> <version>${version.com.github.alexcojocaru.elasticsearch.plugin}</version> <configuration> <pathConf>${project.build.directory}/elasticsearch-maven-plugin/6.0/configuration/</pathConf> <pathInitScript>${project.build.directory}/elasticsearch-maven-plugin/6.0/init/init.script</pathInitScript> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <!-- Elasticsearch 6.7 to 6.8 test environment --> <profile> <id>elasticsearch-6.7</id> <properties> <test.elasticsearch.host.version>6.8.1</test.elasticsearch.host.version> <test.elasticsearch.testdialect>org.hibernate.search.util.impl.integrationtest.elasticsearch.dialect.Elasticsearch67TestDialect</test.elasticsearch.testdialect> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>com.github.alexcojocaru</groupId> <artifactId>elasticsearch-maven-plugin</artifactId> <version>${version.com.github.alexcojocaru.elasticsearch.plugin}</version> <configuration> <pathConf>${project.build.directory}/elasticsearch-maven-plugin/6.0/configuration/</pathConf> <pathInitScript>${project.build.directory}/elasticsearch-maven-plugin/6.0/init/init.script</pathInitScript> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <!-- Elasticsearch 7.0+ test environment (default) --> <profile> <id>elasticsearch-7.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.host.version>${version.org.elasticsearch.main}</test.elasticsearch.host.version> <test.elasticsearch.testdialect>org.hibernate.search.util.impl.integrationtest.elasticsearch.dialect.Elasticsearch7TestDialect</test.elasticsearch.testdialect> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>com.github.alexcojocaru</groupId> <artifactId>elasticsearch-maven-plugin</artifactId> <version>${version.com.github.alexcojocaru.elasticsearch.plugin}</version> <configuration> <pathConf>${project.build.directory}/elasticsearch-maven-plugin/7.0/configuration/</pathConf> <pathInitScript>${project.build.directory}/elasticsearch-maven-plugin/7.0/init/init.script</pathInitScript> </configuration> </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> <profile> <id>legacy</id> <activation> <property> <name>legacy.skip</name> <value>false</value> </property> </activation> <modules> <module>legacy</module> </modules> </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>