<?xml version="1.0" encoding="UTF-8"?>
<!--

    Jakarta Validation TCK

    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>
    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.9</version>
    </parent>

    <groupId>jakarta.validation</groupId>
    <artifactId>validation-tck-parent</artifactId>
    <packaging>pom</packaging>
    <version>3.1.1</version>
    <name>Jakarta Validation TCK Aggregator</name>
    <url>http://beanvalidation.org/</url>

    <description>Jakarta Validation TCK</description>

    <modules>
        <module>tests</module>
        <module>documentation</module>
        <module>standalone-container-adapter</module>
        <module>distribution</module>
    </modules>

    <issueManagement>
        <system>JIRA</system>
        <url>https://hibernate.atlassian.net/projects/BVTCK/</url>
    </issueManagement>

    <inceptionYear>2008</inceptionYear>

    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
        </license>
    </licenses>

    <scm>
        <connection>scm:git:https://github.com/jakartaee/validation-tck.git</connection>
        <developerConnection>scm:git:git@github.com:jakartaee/validation-tck.git</developerConnection>
        <url>https://github.com/jakartaee/validation-tck</url>
      <tag>HEAD</tag>
    </scm>

    <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>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>
    </developers>

    <mailingLists>
        <mailingList>
            <name>validation-dev</name>
            <post>bean-validation-dev@eclipse.org</post>
        </mailingList>
        <mailingList>
            <name>hibernate-dev</name>
            <post>hibernate-dev@lists.jboss.org</post>
        </mailingList>
    </mailingLists>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>

        <!-- see http://maven.apache.org/general.html -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <validation.api.version>3.1.0</validation.api.version>

        <!-- What license to include in the dist binary. For Jakarta releases that are used to certify implementations, this
        must be the EFTL.txt file. Default is the Apache license. Override with -Dlicense.file=EFTL.txt in CI build of
        final release version.
        -->
        <license.file>license.txt</license.file>

        <!-- This is only needed for an example in the documentation; there is
             no dependency from the TCK to Hibernate Validator -->
        <hibernate.validator.version>8.0.1.Final</hibernate.validator.version>

        <testng.version>7.9.0</testng.version>
        <assertj-core.version>3.7.0</assertj-core.version>

        <jakarta.cdi.version>4.1.0</jakarta.cdi.version>
        <jakarta.el.version>6.0.0</jakarta.el.version>
        <jakarta.interceptor.version>2.2.0</jakarta.interceptor.version>
        <jakarta.ejb.version>4.0.1</jakarta.ejb.version>
        <jakarta.annotation.version>3.0.0</jakarta.annotation.version>

        <jboss.test.audit.version>2.0.0.Final</jboss.test.audit.version>
        <arquillian.version>1.8.0.Final</arquillian.version>
        <shrinkwrap.descriptors.version>2.0.0</shrinkwrap.descriptors.version>

        <!-- Asciidoctor -->
        <hibernate-asciidoctor-theme.version>1.0.1.Final</hibernate-asciidoctor-theme.version>
        <asciidoctor-maven-plugin.version>2.2.5</asciidoctor-maven-plugin.version>
        <asciidoctorj-pdf.version>2.3.10</asciidoctorj-pdf.version>

        <beanvalidation-tck-parent.basedir>${project.basedir}</beanvalidation-tck-parent.basedir>

        <!-- Checkstyle -->
        <com.puppycrawl.tools.version>10.12.7</com.puppycrawl.tools.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertj-core.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${validation.api.version}</version>
            </dependency>
            <!-- Used only in the documentation but added here to check that the version is correct -->
            <dependency>
                <groupId>org.hibernate.validator</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${hibernate.validator.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.test-audit</groupId>
                <artifactId>jboss-test-audit-api</artifactId>
                <version>${jboss.test.audit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.test-audit</groupId>
                <artifactId>jboss-test-audit-impl</artifactId>
                <version>${jboss.test.audit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.testng</groupId>
                <artifactId>arquillian-testng-container</artifactId>
                <version>${arquillian.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.descriptors</groupId>
                <artifactId>shrinkwrap-descriptors-impl-javaee</artifactId>
                <version>${shrinkwrap.descriptors.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${jakarta.cdi.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>jakarta.el</groupId>
                        <artifactId>jakarta.el-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.interceptor</groupId>
                        <artifactId>jakarta.interceptor-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.interceptor</groupId>
                <artifactId>jakarta.interceptor-api</artifactId>
                <version>${jakarta.interceptor.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ejb</groupId>
                <artifactId>jakarta.ejb-api</artifactId>
                <version>${jakarta.ejb.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${jakarta.annotation.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${jakarta.el.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <defaultGoal>install</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.4.1</version>
                <executions>
                    <execution>
                        <id>enforce</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>3.0.3</version>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>[8,22)</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <preparationGoals>clean install</preparationGoals>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                    <allowTimestampedSnapshots>true</allowTimestampedSnapshots>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptors>
                        <descriptor>src/main/assembly/assembly.xml</descriptor>
                    </descriptors>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <header>${beanvalidation-tck-parent.basedir}/src/main/build-config/license.txt</header>
                    <strictCheck>true</strictCheck>
                    <excludes>
                        <exclude>**/*.txt</exclude>
                        <exclude>**/*.properties</exclude>
                        <exclude>**/*.sig</exclude>
                        <exclude>**/*.asciidoc</exclude>
                        <exclude>**/*.md</exclude>
                        <exclude>**/*.html</exclude>
                        <exclude>**/*.sh</exclude>
                        <exclude>beanvalidation-release-scripts/**</exclude>
                        <exclude>validation-release-scripts/**</exclude>
                        <exclude>.mvn/**</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.12.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.6.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.3.0</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>3.1.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>3.1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.3.1</version>
                </plugin>
                <plugin>
                    <groupId>org.asciidoctor</groupId>
                    <artifactId>asciidoctor-maven-plugin</artifactId>
                    <version>${asciidoctor-maven-plugin.version}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.asciidoctor</groupId>
                            <artifactId>asciidoctorj-pdf</artifactId>
                            <version>${asciidoctorj-pdf.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.5.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.3.0</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.5.0</version>
                </plugin>
                <plugin>
                    <groupId>org.bsc.maven</groupId>
                    <artifactId>maven-processor-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>3.3.0</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>${com.puppycrawl.tools.version}</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>
                    </configuration>
                    <executions>
                        <execution>
                            <id>check-style</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>jakarta.tck</groupId>
                    <artifactId>sigtest-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>jboss-public-repository</id>
            <repositories>
                <repository>
                    <id>jboss-public-repository-group</id>
                    <name>JBoss Public Maven Repository Group</name>
                    <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
                    <layout>default</layout>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <!-- Use Central first -->
                <pluginRepository>
                    <id>central</id>
                    <name>Maven Central</name>
                    <url>https://repo.maven.apache.org/maven2/</url>
                    <snapshots>
                        <enabled>false</enabled>
                        <updatePolicy>never</updatePolicy>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>jboss-public-repository-group</id>
                    <name>JBoss Public Maven Repository Group</name>
                    <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
                    <layout>default</layout>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>release</id>
            <properties>
                <createChecksum>true</createChecksum>
            </properties>
        </profile>
    </profiles>
</project>
