hibernate-validator-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-parent</artifactId>
<version>8.0.2.Final</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
~ Hibernate Validator, declare and validate application constraints
~
~ License: Apache License, Version 2.0
~ See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
-->
<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.validator</groupId>
<artifactId>hibernate-validator-parent</artifactId>
<version>8.0.2.Final</version>
<packaging>pom</packaging>
<name>Hibernate Validator Aggregator</name>
<url>http://hibernate.org/validator</url>
<description>Aggregator of the Hibernate Validator modules.</description>
<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>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>kevinpollet</id>
<name>Kevin Pollet</name>
<email>kevin.pollet@serli.com</email>
<organization>SERLI</organization>
<url>http://www.serli.com/</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.smet@hibernate.org</email>
<organization>Red Hat, Inc.</organization>
<url>http://in.relation.to/guillaume-smet/</url>
</developer>
<developer>
<id>marko.bekhta</id>
<name>Marko Bekhta</name>
<email>marko.prykladna@gmail.com</email>
<url>http://in.relation.to/marko-bekhta/</url>
</developer>
</developers>
<contributors>
<contributor>
<name>George Gastaldi</name>
<email>gegastaldi@gmail.com</email>
</contributor>
</contributors>
<mailingLists>
<mailingList>
<name>hibernate-dev</name>
<post>hibernate-dev@lists.jboss.org</post>
</mailingList>
</mailingLists>
<modules>
<module>test-utils</module>
<module>build-config</module>
<module>engine</module>
<module>tck-runner</module>
<module>annotation-processor</module>
<module>performance</module>
<module>cdi</module>
<module>modules</module>
<module>integration</module>
</modules>
<properties>
<!-- Version to be used as baseline for API/SPI change reports -->
<previous.stable>6.0.10.Final</previous.stable>
<!-- URLs used in javadoc and documentation generation -->
<bv.spec.url>https://jakarta.ee/specifications/bean-validation/3.0/jakarta-bean-validation-spec-3.0.html</bv.spec.url>
<java.api-docs.base-url>https://docs.oracle.com/en/java/javase/11/docs/api</java.api-docs.base-url>
<java.technotes.base-url>http://docs.oracle.com/javase/8/docs/technotes</java.technotes.base-url>
<javaee.api-docs.base-url>https://jakarta.ee/specifications/platform/9/apidocs</javaee.api-docs.base-url>
<javafx.docs.url>https://openjfx.io/openjfx-docs/</javafx.docs.url>
<bv.api-docs.base-url>https://jakarta.ee/specifications/bean-validation/3.0/apidocs</bv.api-docs.base-url>
<javamoney.api-docs.base-url>http://javamoney.github.io/apidocs</javamoney.api-docs.base-url>
<!-- Module names used for Java 9 modules and OSGi bundles -->
<hibernate-validator.module-name>org.hibernate.validator</hibernate-validator.module-name>
<hibernate-validator-cdi.module-name>org.hibernate.validator.cdi</hibernate-validator-cdi.module-name>
<!-- Dependencies versions -->
<version.jakarta.validation-api>3.0.2</version.jakarta.validation-api>
<version.jakarta.validation.beanvalidation-tck>3.0.1</version.jakarta.validation.beanvalidation-tck>
<version.com.thoughtworks.paranamer>2.8</version.com.thoughtworks.paranamer>
<version.jakarta.el-api>5.0.1</version.jakarta.el-api>
<version.org.glassfish.expressly>5.0.0</version.org.glassfish.expressly>
<version.org.jboss.logging.jboss-logging>3.4.3.Final</version.org.jboss.logging.jboss-logging>
<version.org.jboss.logging.jboss-logging-tools>2.2.1.Final</version.org.jboss.logging.jboss-logging-tools>
<!-- Currently supported version of WildFly -->
<version.wildfly>27.0.0.Alpha4</version.wildfly>
<!-- Used to create a patch file for the second version of WildFly we support -->
<!--<version.wildfly.secondary>18.0.1.Final</version.wildfly.secondary>-->
<!-- Version used to run the TCK in incontainer mode -->
<version.wildfly.tck>${version.wildfly}</version.wildfly.tck>
<!--
These dependencies should be aligned with the ones from the WildFly version we support
See http://search.maven.org/#search|gav|1|g%3A"org.wildfly"%20AND%20a%3A"wildfly-parent"
-->
<version.com.fasterxml.classmate>1.5.1</version.com.fasterxml.classmate>
<version.joda-time>2.9.7</version.joda-time>
<version.org.slf4j>1.7.22</version.org.slf4j>
<version.org.apache.logging.log4j>2.17.1</version.org.apache.logging.log4j>
<!--
These dependencies are used for integration tests with WildFly.
They should be aligned with the ones from the Wildfly version we support
See http://search.maven.org/#search|gav|1|g%3A"org.wildfly"%20AND%20a%3A"wildfly-parent"
-->
<version.jakarta.enterprise.cdi-api>4.0.1</version.jakarta.enterprise.cdi-api>
<version.org.jboss.weld.weld>5.1.1.Final</version.org.jboss.weld.weld>
<version.org.wildfly.arquillian>5.0.0.Alpha3</version.org.wildfly.arquillian>
<version.jakarta.ejb-api>4.0.1</version.jakarta.ejb-api>
<version.jakarta.interceptor-api>2.1.0</version.jakarta.interceptor-api>
<version.jakarta.annotation-api>2.1.1</version.jakarta.annotation-api>
<version.jakarta.inject-api>2.0.1</version.jakarta.inject-api>
<version.jakarta.persistence-api>3.1.0</version.jakarta.persistence-api>
<version.jakarta.ws.rs-api>3.1.0</version.jakarta.ws.rs-api>
<!-- JavaMoney dependencies -->
<version.javax.money>1.0.1</version.javax.money>
<version.org.javamoney.moneta>1.1</version.org.javamoney.moneta>
<version.javax.annotation-api>1.3.2</version.javax.annotation-api>
<!-- Used in the Karaf features file: it is a dependency of Moneta, and for the documentation -->
<version.javax.annotation>1.2</version.javax.annotation>
<!-- JavaFX dependencies (from JDK 11) -->
<version.org.openjfx>11.0.2</version.org.openjfx>
<!-- Test dependencies -->
<version.org.jboss.arquillian>1.7.0.Alpha10</version.org.jboss.arquillian>
<version.org.testng>6.14.3</version.org.testng>
<!-- it must be the exact same version than the one used in the Bean Validation TCK -->
<version.org.assertj.assertj-core>3.8.0</version.org.assertj.assertj-core>
<version.junit>4.13.1</version.junit>
<version.org.easymock>3.4</version.org.easymock>
<version.io.rest-assured>4.1.2</version.io.rest-assured>
<version.org.codehaus.groovy>2.4.12</version.org.codehaus.groovy>
<version.com.google.guava>31.1-jre</version.com.google.guava>
<version.org.springframework.spring-expression>5.3.22</version.org.springframework.spring-expression>
<version.org.jboss.arquillian.container.arquillian-weld-embedded>3.0.2.Final</version.org.jboss.arquillian.container.arquillian-weld-embedded>
<version.com.fasterxml.jackson.core.jackson-databind>2.13.2.2</version.com.fasterxml.jackson.core.jackson-databind>
<version.com.fasterxml.jackson.core.jackson-annotations>2.13.2</version.com.fasterxml.jackson.core.jackson-annotations>
<version.net.bytebuddy.byte-buddy>1.13.0</version.net.bytebuddy.byte-buddy>
<!-- OSGi dependencies -->
<version.org.apache.karaf>4.2.0</version.org.apache.karaf>
<version.org.ops4j.pax.exam>4.12.0</version.org.ops4j.pax.exam>
<version.org.ops4j.pax.url>2.5.4</version.org.ops4j.pax.url>
<version.org.osgi.core>6.0.0</version.org.osgi.core>
<version.fish.payara>5.2020.2</version.fish.payara>
<version.fish.payara.arquillian>2.3.1</version.fish.payara.arquillian>
<!-- Used in the Karaf tests -->
<version.javax.inject>1</version.javax.inject>
<!--
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.38</puppycrawl.checkstyle.version>
<!-- Asciidoctor -->
<version.asciidoctor.plugin>2.2.4</version.asciidoctor.plugin>
<version.org.hibernate.infra.hibernate-asciidoctor-theme>2.0.0.Final</version.org.hibernate.infra.hibernate-asciidoctor-theme>
<version.org.hibernate.infra.hibernate-asciidoctor-extensions>2.0.0.Final</version.org.hibernate.infra.hibernate-asciidoctor-extensions>
<version.org.jruby>9.3.2.0</version.org.jruby>
<version.org.asciidoctor.asciidoctorj>2.5.10</version.org.asciidoctor.asciidoctorj>
<version.org.asciidoctor.asciidoctorj-pdf>2.3.9</version.org.asciidoctor.asciidoctorj-pdf>
<!-- Maven plugins versions -->
<version.antrun.plugin>1.8</version.antrun.plugin>
<version.assembly.plugin>3.4.2</version.assembly.plugin>
<version.buildhelper.plugin>3.0.0</version.buildhelper.plugin>
<version.bundle.plugin>5.1.4</version.bundle.plugin>
<version.checkstyle.plugin>3.1.1</version.checkstyle.plugin>
<version.clean.plugin>3.0.0</version.clean.plugin>
<version.compiler.plugin>3.8.1</version.compiler.plugin>
<version.copy.plugin>0.0.6</version.copy.plugin>
<version.dependency.plugin>3.0.2</version.dependency.plugin>
<version.depends.plugin>1.4.0</version.depends.plugin>
<version.deploy.plugin>2.8.2</version.deploy.plugin>
<version.enforcer.plugin>3.0.0</version.enforcer.plugin>
<version.forbiddenapis.plugin>3.2</version.forbiddenapis.plugin>
<version.gmavenplus.plugin>1.6</version.gmavenplus.plugin>
<version.gpg.plugin>3.2.4</version.gpg.plugin>
<version.install.plugin>2.5.2</version.install.plugin>
<version.japicmp.plugin>0.11.0</version.japicmp.plugin>
<version.jar.plugin>3.0.2</version.jar.plugin>
<version.jqassistant.plugin>1.11.1</version.jqassistant.plugin>
<version.javadoc.plugin>3.0.1</version.javadoc.plugin>
<version.license.plugin>3.0</version.license.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.sigtest.plugin>1.6</version.sigtest.plugin>
<version.source.plugin>3.0.1</version.source.plugin>
<version.surefire.plugin>2.21.0</version.surefire.plugin>
<version.surefire.plugin.java-version.asm>9.2</version.surefire.plugin.java-version.asm>
<version.failsafe.plugin>${version.surefire.plugin}</version.failsafe.plugin>
<version.wildfly.plugin>1.2.1.Final</version.wildfly.plugin>
<version.org.wildfly.core>14.0.0.Final</version.org.wildfly.core>
<version.wildfly-patch-gen.plugin>2.1.0.Final</version.wildfly-patch-gen.plugin>
<version.wildfly-patch-gen.plugin.woodstox>5.0.3</version.wildfly-patch-gen.plugin.woodstox>
<version.nexus-staging-maven-plugin>1.6.8</version.nexus-staging-maven-plugin>
<version.maven-wrapper-plugin>3.3.2</version.maven-wrapper-plugin>
<!-- Forbidden API related properties -->
<forbiddenapis-junit.path>forbidden-junit.txt</forbiddenapis-junit.path>
<!-- Repository Deployment URLs -->
<ossrh.releases.repo.id>ossrh</ossrh.releases.repo.id>
<ossrh.releases.repo.url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</ossrh.releases.repo.url>
<ossrh.releases.repo.baseUrl>https://oss.sonatype.org/</ossrh.releases.repo.baseUrl>
<ossrh.snapshots.repo.id>ossrh</ossrh.snapshots.repo.id>
<ossrh.snapshots.repo.url>https://oss.sonatype.org/content/repositories/snapshots</ossrh.snapshots.repo.url>
<!-- Maven Central repository -->
<mavencentral.repo.url>https://repo.maven.apache.org/maven2/</mavencentral.repo.url>
<!-- Build settings -->
<hibernate-validator-parent.path>.</hibernate-validator-parent.path>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- The lowest supported version of Java for applications using Hibernate Validator -->
<!-- Set statically, independently of the current JDK: we want our code to comply with this version -->
<java-version.main.release>11</java-version.main.release>
<java-version.main.compiler.java_home>${java.home}</java-version.main.compiler.java_home>
<java-version.main.compiler>${java-version.main.compiler.java_home}/bin/javac</java-version.main.compiler>
<!-- The version of test bytecode, useful for testing compatibility with newer JDKs -->
<!-- Set to the version of the JDK running Maven by default, but overridden on CI -->
<!-- 'java.specification.version' is only correct from Java 9 onwards, but we require Java 17 to run the build anyway -->
<java-version.test.release>${java.specification.version}</java-version.test.release>
<java-version.test.compiler.java_home>${java.home}</java-version.test.compiler.java_home>
<java-version.test.compiler>${java-version.test.compiler.java_home}/bin/javac</java-version.test.compiler>
<!-- IMPORTANT: For Java 8, this must be the path to the JDK, not to the JRE -->
<java-version.test.launcher.java_home>${java-version.test.compiler.java_home}</java-version.test.launcher.java_home>
<java-version.test.launcher>${java-version.test.launcher.java_home}/bin/java</java-version.test.launcher>
<java-version.test.java17.add-test-source-phase>generate-test-sources</java-version.test.java17.add-test-source-phase>
<!-- No need to build the javadocs per module. Aggregated javadocs are build in the distribution module. See also HV-894 -->
<maven.javadoc.skip>true</maven.javadoc.skip>
<!-- Also set source/target, because several other plugins rely on this and don't understand release -->
<maven.compiler.source>${java-version.main.release}</maven.compiler.source>
<maven.compiler.target>${java-version.main.release}</maven.compiler.target>
<maven.compiler.testSource>${java-version.test.release}</maven.compiler.testSource>
<maven.compiler.testTarget>${java-version.test.release}</maven.compiler.testTarget>
<maven.compiler.release>${java-version.main.release}</maven.compiler.release>
<maven.compiler.testRelease>${java-version.test.release}</maven.compiler.testRelease>
<!-- Set empty default values to avoid Maven leaving property references (${...}) when it doesn't find a value -->
<!-- Argument passed from the command line -->
<surefire.jvm.args.commandline></surefire.jvm.args.commandline>
<surefire.jvm.args.additional></surefire.jvm.args.additional>
<surefire.jvm.args.illegal-access></surefire.jvm.args.illegal-access>
<surefire.jvm.args.add-opens></surefire.jvm.args.add-opens>
<surefire.jvm.args.java-version></surefire.jvm.args.java-version>
<!--
The arguments below are Shrinkwrap settings taken from
https://github.com/shrinkwrap/resolver/blob/788a3c1148af3a7ebdfdaf817393273f5f5ee17b/impl-maven/src/main/java/org/jboss/shrinkwrap/resolver/impl/maven/bootstrap/MavenSettingsBuilder.java#L80
- maven.repo.local: necessary for the Shrinkwrap artifact retrieval to work when using a non-default local repository
-->
<surefire.jvm.args.shrinkwrap>
-Dmaven.repo.local=${settings.localRepository}
</surefire.jvm.args.shrinkwrap>
<surefire.jvm.args>${surefire.jvm.args.additional} ${surefire.jvm.args.add-opens} ${surefire.jvm.args.illegal-access} ${surefire.jvm.args.shrinkwrap} ${surefire.jvm.args.java-version} ${surefire.jvm.args.commandline}</surefire.jvm.args>
<failsafe.jvm.args>${surefire.jvm.args.additional} ${surefire.jvm.args.add-opens} ${surefire.jvm.args.illegal-access} ${surefire.jvm.args.shrinkwrap} ${surefire.jvm.args.java-version} ${surefire.jvm.args.commandline}</failsafe.jvm.args>
<!--
Should be set from the command line.
Used by CI jobs that execute tests in multiple environments.
Allows distinguishing between multiple executions of the same test in test reports.
-->
<surefire.environment>default</surefire.environment>
<arquillian.wildfly.jvm.args.add-opens></arquillian.wildfly.jvm.args.add-opens>
<arquillian.wildfly.jvm.args.add-modules></arquillian.wildfly.jvm.args.add-modules>
<arquillian.wildfly.jvm.args>-Duser.language=en -Duser.country=US ${arquillian.wildfly.jvm.args.add-opens} ${arquillian.wildfly.jvm.args.add-modules}</arquillian.wildfly.jvm.args>
<!-- JDK version required for the build -->
<jdk.min.version>17</jdk.min.version>
<!-- Maven version required for the build -->
<maven.min.version>3.9.6</maven.min.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>hibernate-validator-test-utils</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>hibernate-validator-cdi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>hibernate-validator-modules</artifactId>
<version>${project.version}</version>
<classifier>wildfly-${version.wildfly}-patch</classifier>
<type>zip</type>
</dependency>
<!--
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>hibernate-validator-modules</artifactId>
<version>${project.version}</version>
<classifier>wildfly-${version.wildfly.secondary}-patch</classifier>
<type>zip</type>
</dependency>
-->
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<version>${version.jakarta.validation-api}</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-processor</artifactId>
<version>${version.org.jboss.logging.jboss-logging-tools}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-annotations</artifactId>
<version>${version.org.jboss.logging.jboss-logging-tools}</version>
</dependency>
<dependency>
<groupId>org.glassfish.expressly</groupId>
<artifactId>expressly</artifactId>
<version>${version.org.glassfish.expressly}</version>
</dependency>
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>classmate</artifactId>
<version>${version.com.fasterxml.classmate}</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${version.joda-time}</version>
</dependency>
<dependency>
<groupId>javax.money</groupId>
<artifactId>money-api</artifactId>
<version>${version.javax.money}</version>
</dependency>
<dependency>
<groupId>org.javamoney</groupId>
<artifactId>moneta</artifactId>
<version>${version.org.javamoney.moneta}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>${version.org.openjfx}</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>${version.net.bytebuddy.byte-buddy}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>${version.org.osgi.core}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${version.org.apache.logging.log4j}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<type>test-jar</type>
<version>${version.org.apache.logging.log4j}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${version.org.slf4j}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${version.org.apache.logging.log4j}</version>
</dependency>
<dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
<version>${version.jakarta.persistence-api}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${version.junit}</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${version.org.testng}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-jsr223</artifactId>
<version>${version.org.codehaus.groovy}</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>${version.org.easymock}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${version.org.assertj.assertj-core}</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>${version.io.rest-assured}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>${version.org.jboss.arquillian}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>${version.jakarta.annotation-api}</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${version.javax.annotation-api}</version>
</dependency>
<dependency>
<groupId>jakarta.inject</groupId>
<artifactId>jakarta.inject-api</artifactId>
<version>${version.jakarta.inject-api}</version>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>${version.jakarta.ws.rs-api}</version>
</dependency>
<dependency>
<groupId>jakarta.interceptor</groupId>
<artifactId>jakarta.interceptor-api</artifactId>
<version>${version.jakarta.interceptor-api}</version>
</dependency>
<dependency>
<groupId>jakarta.ejb</groupId>
<artifactId>jakarta.ejb-api</artifactId>
<version>${version.jakarta.ejb-api}</version>
</dependency>
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
<version>${version.jakarta.enterprise.cdi-api}</version>
<exclusions>
<exclusion>
<groupId>jakarta.interceptor</groupId>
<artifactId>jakarta.interceptor-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-core-impl</artifactId>
<version>${version.org.jboss.weld.weld}</version>
</dependency>
<dependency>
<groupId>org.wildfly.arquillian</groupId>
<artifactId>wildfly-arquillian-container-managed</artifactId>
<version>${version.org.wildfly.arquillian}</version>
<exclusions>
<exclusion>
<groupId>sun.jdk</groupId>
<artifactId>jconsole</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-weld-embedded</artifactId>
<version>${version.org.jboss.arquillian.container.arquillian-weld-embedded}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
<version>${version.com.thoughtworks.paranamer}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${version.com.google.guava}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${version.org.springframework.spring-expression}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${version.com.fasterxml.jackson.core.jackson-databind}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${version.com.fasterxml.jackson.core.jackson-annotations}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>${version.javax.inject}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${version.enforcer.plugin}</version>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[${jdk.min.version},)</version>
</requireJavaVersion>
<requireMavenVersion>
<version>${maven.min.version}</version>
</requireMavenVersion>
<bannedDependencies>
<excludes>
<exclude>javax.validation:validation-api</exclude>
<exclude>org.glassfish:javax.el</exclude>
<exclude>javax.annotation:javax.annotation-api</exclude>
<exclude>org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.2_spec</exclude>
<exclude>javax.enterprise:cdi-api</exclude>
<exclude>javax.persistence:javax.persistence-api</exclude>
</excludes>
<includes>
<include>javax.annotation:javax.annotation-api:*:*:test</include>
</includes>
</bannedDependencies>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>${version.antrun.plugin}</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${version.clean.plugin}</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>${version.jar.plugin}</version>
<configuration>
<archive>
<manifestEntries>
<Implementation-Title>${project.artifactId}</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Vendor>${project.parent.groupId}</Implementation-Vendor>
<Implementation-Vendor-Id>${project.parent.groupId}</Implementation-Vendor-Id>
<Implementation-URL>http://hibernate.org/validator/</Implementation-URL>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${version.compiler.plugin}</version>
<configuration>
<compilerArgs>
<compilerArg>-Aorg.jboss.logging.tools.addGeneratedAnnotation=false</compilerArg>
</compilerArgs>
<testCompilerArgument>-parameters</testCompilerArgument>
</configuration>
<executions>
<execution>
<id>default-compile</id>
<configuration>
<fork>true</fork>
<executable>${java-version.main.compiler}</executable>
</configuration>
</execution>
<execution>
<id>default-testCompile</id>
<configuration>
<fork>true</fork>
<executable>${java-version.test.compiler}</executable>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${version.checkstyle.plugin}</version>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>hibernate-validator-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>
<configLocation>checkstyle.xml</configLocation>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<violationSeverity>error</violationSeverity>
<includeResources>true</includeResources>
<includeTestResources>false</includeTestResources>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<resourceIncludes>**/*.xml,**/*.properties</resourceIncludes>
<!-- These classes are either imported from other sources and re-formatted
or generated or present significant reasons to not follow the rules. -->
<excludes>
**/org/hibernate/validator/internal/xml/binding/*.java,
**/Log_$logger.java,
**/Messages_$bundle.java,
**/ConcurrentReferenceHashMap.java,
**/TypeHelper*.java,
**/TckRunner.java
</excludes>
</configuration>
<executions>
<execution>
<id>check-style</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
<version>${version.forbiddenapis.plugin}</version>
<configuration>
<!-- if the Java version used is too new, don't fail, just do nothing -->
<failOnUnsupportedJava>false</failOnUnsupportedJava>
<ignoreSignaturesOfMissingClasses>true</ignoreSignaturesOfMissingClasses>
<suppressAnnotations>
<annotation>**.IgnoreForbiddenApisErrors</annotation>
</suppressAnnotations>
<signaturesArtifacts>
<signaturesArtifact>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-build-config</artifactId>
<version>${project.version}</version>
<type>jar</type>
<path>forbidden-common.txt</path>
</signaturesArtifact>
<signaturesArtifact>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-build-config</artifactId>
<version>${project.version}</version>
<type>jar</type>
<path>${forbiddenapis-junit.path}</path>
</signaturesArtifact>
</signaturesArtifacts>
</configuration>
<executions>
<execution>
<id>check-main</id>
<goals>
<goal>check</goal>
</goals>
<phase>verify</phase>
<configuration>
<bundledSignatures>
<!-- These signatures on the top are not specific to any JDK version -->
<bundledSignature>jdk-system-out</bundledSignature>
<bundledSignature>jdk-non-portable</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-unsafe-12</bundledSignature>
<bundledSignature>jdk-unsafe-13</bundledSignature>
<bundledSignature>jdk-unsafe-14</bundledSignature>
<bundledSignature>jdk-unsafe-15</bundledSignature>
<bundledSignature>jdk-unsafe-16</bundledSignature>
<bundledSignature>jdk-unsafe-17</bundledSignature>
<bundledSignature>jdk-deprecated-1.8</bundledSignature>
<bundledSignature>jdk-deprecated-9</bundledSignature>
<bundledSignature>jdk-deprecated-10</bundledSignature>
<bundledSignature>jdk-deprecated-11</bundledSignature>
<bundledSignature>jdk-deprecated-12</bundledSignature>
<bundledSignature>jdk-deprecated-13</bundledSignature>
<bundledSignature>jdk-deprecated-14</bundledSignature>
<bundledSignature>jdk-deprecated-15</bundledSignature>
<bundledSignature>jdk-deprecated-16</bundledSignature>
<bundledSignature>jdk-deprecated-17</bundledSignature>
<bundledSignature>jdk-internal-1.8</bundledSignature>
<bundledSignature>jdk-internal-9</bundledSignature>
<bundledSignature>jdk-internal-10</bundledSignature>
<bundledSignature>jdk-internal-11</bundledSignature>
<bundledSignature>jdk-internal-12</bundledSignature>
<bundledSignature>jdk-internal-13</bundledSignature>
<bundledSignature>jdk-internal-14</bundledSignature>
<bundledSignature>jdk-internal-15</bundledSignature>
<bundledSignature>jdk-internal-16</bundledSignature>
<bundledSignature>jdk-internal-17</bundledSignature>
</bundledSignatures>
</configuration>
</execution>
<execution>
<id>check-test</id>
<goals>
<goal>testCheck</goal>
</goals>
<phase>verify</phase>
<configuration>
<bundledSignatures>
<bundledSignature>jdk-deprecated</bundledSignature>
</bundledSignatures>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${version.license.plugin}</version>
<configuration>
<header>${hibernate-validator-parent.path}/build-config/src/main/resources/license.header</header>
<strictCheck>true</strictCheck>
<headerDefinitions>
<headerDefinition>${hibernate-validator-parent.path}/build-config/src/main/resources/java-header-style.xml</headerDefinition>
<headerDefinition>${hibernate-validator-parent.path}/build-config/src/main/resources/xml-header-style.xml</headerDefinition>
</headerDefinitions>
<mapping>
<java>JAVA_CLASS_STYLE</java>
<xml>XML_FILE_STYLE</xml>
</mapping>
<excludes>
<!-- Next two classes are copied from other project and have different headers -->
<exclude>**/org/hibernate/validator/internal/util/TypeHelper.java</exclude>
<exclude>**/org/hibernate/validator/test/internal/util/TypeHelperTest.java</exclude>
<exclude>**/settings-example.xml</exclude>
<exclude>**/src/test/resources/org/hibernate/validator/referenceguide/**/*.*</exclude>
<exclude>**/org/hibernate/validator/referenceguide/**/*.*</exclude>
<exclude>**/src/test/resources/org/hibernate/validator/test/internal/xml/**/*.xml</exclude>
<exclude>.mvn/**</exclude>
</excludes>
<includes>
<include>**/*.java</include>
<include>**/*.xml</include>
</includes>
</configuration>
<executions>
<execution>
<id>license-headers</id>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.surefire.plugin}</version>
<configuration>
<forkMode>once</forkMode>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<includes>
<include>**/*Test.java</include>
</includes>
<jvm>${java-version.test.launcher}</jvm>
<argLine>${surefire.jvm.args}</argLine>
<reportNameSuffix>${surefire.environment}</reportNameSuffix>
<environmentVariables>
<!-- Ensure Java programs launched in tests (Payara, WildFly)
use the test Java home, not the Maven Java home -->
<JAVA_HOME>${java-version.test.launcher.java_home}</JAVA_HOME>
</environmentVariables>
</configuration>
<dependencies>
<!--
maven-surefire-plugin and maven-failsafe-plugin use an older version of ASM
that cannot handle Java 15+ bytecode.
Let's upgrade that dependency and hope for the best;
if it doesn't work, the build is very likely to fail and we'll know about it.
-->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${version.surefire.plugin.java-version.asm}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${version.surefire.plugin}</version>
<executions>
<execution>
<id>generate-test-report</id>
<phase>test</phase>
<goals>
<goal>report-only</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
<outputName>test-report</outputName>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${version.failsafe.plugin}</version>
<configuration>
<jvm>${java-version.test.launcher}</jvm>
<argLine>${failsafe.jvm.args}</argLine>
<reportNameSuffix>${surefire.environment}</reportNameSuffix>
<environmentVariables>
<!-- Ensure Java programs launched in tests (Payara, WildFly)
use the test Java home, not the Maven Java home -->
<JAVA_HOME>${java-version.test.launcher.java_home}</JAVA_HOME>
</environmentVariables>
</configuration>
<dependencies>
<!--
maven-surefire-plugin and maven-failsafe-plugin use an older version of ASM
that cannot handle Java 15+ bytecode.
Let's upgrade that dependency and hope for the best;
if it doesn't work, the build is very likely to fail and we'll know about it.
-->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${version.surefire.plugin.java-version.asm}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>${version.dependency.plugin}</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>${version.install.plugin}</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${version.assembly.plugin}</version>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>${version.release.plugin}</version>
<configuration>
<preparationGoals>clean install</preparationGoals>
<autoVersionSubmodules>true</autoVersionSubmodules>
<allowTimestampedSnapshots>true</allowTimestampedSnapshots>
<pushChanges>false</pushChanges>
<localCheckout>true</localCheckout>
<tagNameFormat>@{project.version}</tagNameFormat>
<releaseProfiles>documentation-pdf</releaseProfiles>
</configuration>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>${version.asciidoctor.plugin}</version>
<dependencies>
<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>
<dependency>
<groupId>org.hibernate.infra</groupId>
<artifactId>hibernate-asciidoctor-extensions</artifactId>
<version>${version.org.hibernate.infra.hibernate-asciidoctor-extensions}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>ch.mfrey.maven.plugin</groupId>
<artifactId>copy-maven-plugin</artifactId>
<version>${version.copy.plugin}</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${version.bundle.plugin}</version>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>${version.source.plugin}</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${version.javadoc.plugin}</version>
<configuration>
<quiet>true</quiet>
<docfilessubdirs>true</docfilessubdirs>
<bottom>
<![CDATA[Copyright © ${project.inceptionYear}-{currentYear} <a href="http://redhat.com">Red Hat, Inc.</a> All Rights Reserved]]></bottom>
</configuration>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>${version.deploy.plugin}</version>
<configuration>
<!-- we use the nexus-staging plugin -->
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>${version.gpg.plugin}</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>${version.resources.plugin}</version>
<configuration>
<!-- By default the "@" character is a delimiter, causing files containing
that character to not be filtered properly -->
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>${*}</delimiter>
</delimiters>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>${version.gmavenplus.plugin}</version>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${version.org.codehaus.groovy}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.servicemix.tooling</groupId>
<artifactId>depends-maven-plugin</artifactId>
<version>${version.depends.plugin}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${version.buildhelper.plugin}</version>
</plugin>
<plugin>
<!--
Creates a report by running "mvn japicmp:cmp"
Note: you need to install the jars before running the japicmp command.
-->
<groupId>com.github.siom79.japicmp</groupId>
<artifactId>japicmp-maven-plugin</artifactId>
<version>${version.japicmp.plugin}</version>
<configuration>
<oldVersion>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${previous.stable}</version>
<type>${project.packaging}</type>
</dependency>
</oldVersion>
<skip>true</skip>
<newVersion>
<file>
<path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path>
</file>
</newVersion>
<parameter>
<onlyModified>true</onlyModified>
<excludes>
<exclude>org.hibernate.validator.internal.*</exclude>
</excludes>
</parameter>
</configuration>
</plugin>
<!-- Used to build the JMH jars -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${version.shade.plugin}</version>
</plugin>
<!-- WildFly patching infrastructure plugins -->
<plugin>
<groupId>org.jboss.as</groupId>
<artifactId>patch-gen-maven-plugin</artifactId>
<version>${version.wildfly-patch-gen.plugin}</version>
<dependencies>
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
<version>${version.wildfly-patch-gen.plugin.woodstox}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>${version.wildfly.plugin}</version>
<dependencies>
<!-- Contains the patch command -->
<dependency>
<groupId>org.wildfly.core</groupId>
<artifactId>wildfly-patching</artifactId>
<version>${version.org.wildfly.core}</version>
</dependency>
<dependency>
<groupId>org.wildfly.core</groupId>
<artifactId>wildfly-cli</artifactId>
<version>${version.org.wildfly.core}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.netbeans.tools</groupId>
<artifactId>sigtest-maven-plugin</artifactId>
<version>${version.sigtest.plugin}</version>
</plugin>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.asciidoctor
</groupId>
<artifactId>
asciidoctor-maven-plugin
</artifactId>
<versionRange>
[2.2.2,)
</versionRange>
<goals>
<goal>
process-asciidoc
</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.jboss.maven.plugins
</groupId>
<artifactId>
maven-injection-plugin
</artifactId>
<versionRange>
[1.0.2,)
</versionRange>
<goals>
<goal>bytecode</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.codehaus.gmavenplus
</groupId>
<artifactId>
gmavenplus-plugin
</artifactId>
<versionRange>
[1.5,)
</versionRange>
<goals>
<goal>execute</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.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
<goal>copy</goal>
<goal>unpack</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-wrapper-plugin</artifactId>
<version>${version.maven-wrapper-plugin}</version>
<configuration>
<mavenVersion>${maven.min.version}</mavenVersion>
<distributionType>bin</distributionType>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<ciManagement>
<system>Jenkins</system>
<url>http://ci.hibernate.org/view/Validator/</url>
</ciManagement>
<issueManagement>
<system>JIRA</system>
<url>https://hibernate.atlassian.net/projects/HV/summary</url>
</issueManagement>
<inceptionYear>2007</inceptionYear>
<licenses>
<license>
<name>Apache License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<scm>
<connection>scm:git:git://github.com/hibernate/hibernate-validator.git</connection>
<developerConnection>scm:git:git@github.com:hibernate/hibernate-validator.git</developerConnection>
<url>http://github.com/hibernate/hibernate-validator</url>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<repository>
<id>${ossrh.releases.repo.id}</id>
<name>OSSRH Releases Repository</name>
<url>${ossrh.releases.repo.url}</url>
</repository>
<snapshotRepository>
<id>${ossrh.snapshots.repo.id}</id>
<name>OSSRH Snapshots Repository</name>
<url>${ossrh.snapshots.repo.url}</url>
</snapshotRepository>
</distributionManagement>
<profiles>
<profile>
<id>docs</id>
<activation>
<property>
<name>disableDocumentationBuild</name>
<value>!true</value>
</property>
</activation>
<modules>
<module>documentation</module>
</modules>
</profile>
<profile>
<id>dist</id>
<activation>
<property>
<name>disableDistributionBuild</name>
<value>!true</value>
</property>
</activation>
<modules>
<module>distribution</module>
</modules>
</profile>
<profile>
<id>relocation</id>
<modules>
<module>relocation</module>
</modules>
</profile>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-release-rules</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireReleaseDeps />
<requireJavaVersion>
<version>[17,18)</version>
</requireJavaVersion>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>${version.nexus-staging-maven-plugin}</version>
<extensions>true</extensions>
<configuration>
<nexusUrl>${ossrh.releases.repo.baseUrl}</nexusUrl>
<serverId>${ossrh.releases.repo.id}</serverId>
<stagingProgressTimeoutMinutes>60</stagingProgressTimeoutMinutes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<homedir>${env.RELEASE_GPG_HOMEDIR}</homedir>
<bestPractices>true</bestPractices>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>testWithJdk11</id>
<activation>
<property>
<name>java-version.test.release</name>
<value>11</value>
</property>
</activation>
<properties>
<!-- Tests specific to Java 17+ won't work with JDK 11, so we disable them. -->
<java-version.test.java17.add-test-source-phase>none</java-version.test.java17.add-test-source-phase>
</properties>
</profile>
<profile>
<id>testWithJdk11+</id>
<activation>
<property>
<name>java-version.test.release</name>
<value>!8</value>
</property>
</activation>
<properties>
<arquillian.wildfly.jvm.args.add-modules>
--add-modules=java.se
</arquillian.wildfly.jvm.args.add-modules>
<!--
All these add-opens are probably not necessary for our WildFly usage but add the ones defined in
https://github.com/ctomc/wildfly/commit/d8c4f55a1f900d931c224049c8a118ba4a5bcb45 to be on the safe side.
-->
<arquillian.wildfly.jvm.args.add-opens>
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.security=ALL-UNNAMED
--add-opens=java.base/java.math=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
--add-opens=java.base/jdk.internal.reflect=ALL-UNNAMED
--add-opens=java.management/javax.management=ALL-UNNAMED
--add-opens=java.management/javax.management.openmbean=ALL-UNNAMED
--add-opens=java.naming/javax.naming=ALL-UNNAMED
</arquillian.wildfly.jvm.args.add-opens>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<javaOpts>
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.security=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-modules=java.se
</javaOpts>
</configuration>
</plugin>
<plugin>
<groupId>org.jboss.as</groupId>
<artifactId>patch-gen-maven-plugin</artifactId>
<configuration>
<argLine>
--add-modules=java.se
</argLine>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>testWithJdk21</id>
<activation>
<property>
<name>java-version.test.release</name>
<value>21</value>
</property>
</activation>
<properties>
<!-- ForbiddenAPIs doesn't work with JDK20+ yet -->
<forbiddenapis.skip>true</forbiddenapis.skip>
<!-- We need net.bytebuddy.experimental=true to make Bytebuddy work with JDK21+ -->
<surefire.jvm.args.java-version>-Dnet.bytebuddy.experimental=true</surefire.jvm.args.java-version>
</properties>
</profile>
<profile>
<id>testWithJdk22</id>
<activation>
<property>
<name>java-version.test.release</name>
<value>22</value>
</property>
</activation>
<properties>
<!-- ForbiddenAPIs doesn't work with JDK20+ yet -->
<forbiddenapis.skip>true</forbiddenapis.skip>
<!-- We need net.bytebuddy.experimental=true to make Bytebuddy work with JDK21+ -->
<surefire.jvm.args.java-version>-Dnet.bytebuddy.experimental=true</surefire.jvm.args.java-version>
</properties>
</profile>
<profile>
<id>testWithJdk23</id>
<activation>
<property>
<name>java-version.test.release</name>
<value>23</value>
</property>
</activation>
<properties>
<!-- ForbiddenAPIs doesn't work with JDK23+ yet -->
<forbiddenapis.skip>true</forbiddenapis.skip>
<!-- We need net.bytebuddy.experimental=true to make Bytebuddy work with JDK23+ -->
<surefire.jvm.args.java-version>-Dnet.bytebuddy.experimental=true</surefire.jvm.args.java-version>
</properties>
</profile>
<profile>
<id>testWithJdk24</id>
<activation>
<property>
<name>java-version.test.release</name>
<value>24</value>
</property>
</activation>
<properties>
<!-- ForbiddenAPIs doesn't work with JDK24+ yet -->
<forbiddenapis.skip>true</forbiddenapis.skip>
<!-- We need net.bytebuddy.experimental=true to make Bytebuddy work with JDK24+ -->
<surefire.jvm.args.java-version>-Dnet.bytebuddy.experimental=true</surefire.jvm.args.java-version>
</properties>
</profile>
<profile>
<id>jqassistant</id>
<!--
To run the analysis on the engine module and launch a Neo4j server accessible at http://localhost:7474/, run:
mvn -pl engine jqassistant:scan jqassistant:server -Pjqassistant
To run the analysis on the engine module:
mvn clean install -pl engine -Pjqassistant -DskipTests=true
Our rules are in jqassistant/rules.xml.
-->
<build>
<plugins>
<plugin>
<groupId>com.buschmais.jqassistant</groupId>
<artifactId>jqassistant-maven-plugin</artifactId>
<version>${version.jqassistant.plugin}</version>
<executions>
<execution>
<goals>
<goal>scan</goal>
<goal>analyze</goal>
</goals>
<configuration>
<failOnViolations>true</failOnViolations>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>IDEA</id>
<activation>
<!-- This is a trick to have the profile automatically activated by IDEA -->
<property>
<name>idea.maven.embedder.version</name>
</property>
</activation>
<properties>
<!-- Intellij IDEA only understands the main -release argument,
so we need to do this in order for tests to compile.
Here's the issue in the IDEA bug tracker: https://youtrack.jetbrains.com/issue/IDEA-85478
It's supposedly fixed in 2022.1 EAP 6, but I couldn't get that to work. -->
<java-version.main.release>${java-version.test.release}</java-version.main.release>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${version.compiler.plugin}</version>
<configuration>
<compilerArgs>
<compilerArg>-Aorg.jboss.logging.tools.addGeneratedAnnotation=false</compilerArg>
<!-- Make sure IDEA uses the -parameters for all code;
IDEA ignores the "testCompilerArguments" option... -->
<compilerArg>-parameters</compilerArg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
</project>