<?xml version="1.0" encoding="UTF-8"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
-->
<!--
    Maven release plugin requires the project tag to be on a single line.
-->
<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.apache</groupId>
        <artifactId>apache</artifactId>
        <version>27</version>
        <relativePath />
    </parent>

    <groupId>org.apache.bval</groupId>
    <artifactId>bval-parent</artifactId>
    <name>Apache BVal</name>
    <packaging>pom</packaging>
    <version>3.0.0</version>

    <description>Apache BVal parent pom</description>

    <properties>
        <commons.weaver.version>2.0</commons.weaver.version>
        <site.checkout>${user.home}/apache-bval-site</site.checkout>
        <site.url>scm:svn:https://svn.apache.org/repos/infra/websites/production/bval/content/mvnsite</site.url>
        <site.server>bval.site</site.server>
        <built.by>${user.name}</built.by>
        <plugin.javadoc.version>3.4.1</plugin.javadoc.version>
    </properties>

    <inceptionYear>2010</inceptionYear>

    <url>http://bval.apache.org/</url>

    <scm>
        <connection>scm:git:http://gitbox.apache.org/repos/asf/bval</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/bval</developerConnection>
        <url>http://gitbox.apache.org/repos/asf/bval</url>
        <tag>3.0.0</tag>
    </scm>

    <mailingLists>
        <mailingList>
            <name>BVal User List</name>
            <subscribe>user-subscribe@bval.apache.org</subscribe>
            <unsubscribe>user-unsubscribe@bval.apache.org</unsubscribe>
            <post>mailto:user@bval.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/bval-user/</archive>
        </mailingList>

        <mailingList>
            <name>BVal Developer List</name>
            <subscribe>dev-subscribe@bval.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@bval.apache.org</unsubscribe>
            <post>mailto:dev@bval.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/bval-dev/</archive>
        </mailingList>

        <mailingList>
            <name>BVal Commits List</name>
            <subscribe>commits-subscribe@bval.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@bval.apache.org</unsubscribe>
            <post>mailto:commits@bval.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/bval-commits/</archive>
        </mailingList>
    </mailingLists>

    <issueManagement>
        <url>https://issues.apache.org/jira/browse/BVAL</url>
    </issueManagement>

    <developers>
        <developer>
            <id>allee8285</id>
            <name>Albert Lee</name>
            <email>allee8285@apache.org</email>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>carlosvara</id>
            <name>Carlos Vara Callau</name>
            <email>carlosvara@apache.org</email>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>djencks</id>
            <name>David Jencks</name>
            <email>djencks@apache.org</email>
            <organization>IBM</organization>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>dwoods</id>
            <name>Donald Woods</name>
            <email>dwoods@apache.org</email>
            <organization>IBM</organization>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>gpetracek</id>
            <name>Gerhard Petracek</name>
            <email>gpetracek@apache.org</email>
            <organization>IRIAN Solutions GmbH</organization>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>jrbauer</id>
            <name>Jeremy Bauer</name>
            <email>jrbauer@apache.org</email>
            <organization>IBM</organization>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>kevan</id>
            <name>Kevan Miller</name>
            <email>kevan@apache.org</email>
            <organization>IBM</organization>
            <roles>
                <role>PMC Member (Emeritus)</role>
            </roles>
        </developer>
        <developer>
            <id>lresende</id>
            <name>Luciano Resende</name>
            <email>lresende@apache.org</email>
            <organization>IBM</organization>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>struberg</id>
            <name>Mark Struberg</name>
            <email>struberg@apache.org</email>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>mbenson</id>
            <name>Matt Benson</name>
            <email>mbenson@apache.org</email>
            <roles>
                <role>PMC Chair</role>
            </roles>
        </developer>
        <developer>
            <id>matzew</id>
            <name>Matthias Wessendorf</name>
            <email>matzew@apache.org</email>
            <organization>Kaazing</organization>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>mnour</id>
            <name>Mohammad Nour El-Din</name>
            <email>mnour@apache.org</email>
            <organization>Thebe Technology</organization>
            <roles>
                <role>PMC Member (Emeritus)</role>
            </roles>
        </developer>
        <developer>
            <id>rmannibucau</id>
            <name>Romain Manni-Bucau</name>
            <email>rmannibucau@apache.org</email>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>romanstumm</id>
            <name>Roman Stumm</name>
            <email>romanstumm@apache.org</email>
            <organization>Viaboxx GmbH</organization>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>simonetripodi</id>
            <name>Simone Tripodi</name>
            <email>simonetripodi@apache.org</email>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
        <developer>
            <id>tandraschko</id>
            <name>Thomas Andraschko</name>
            <email>tandraschko@apache.org</email>
            <roles>
                <role>PMC Member</role>
            </roles>
        </developer>
    </developers>

    <contributors>
      <contributor>
        <name>Chris Ey</name>
      </contributor>
      <contributor>
        <name>David J. M. Karlsen</name>
      </contributor>
      <contributor>
        <name>Frank Schwarz</name>
      </contributor>
      <contributor>
        <name>Jarek Gawor</name>
      </contributor>
      <contributor>
        <name>Jörg Waßmer</name>
      </contributor>
      <contributor>
        <name>Sebastian Bazley</name>
      </contributor>
    </contributors>

    <distributionManagement>
        <site>
            <id>bval.site</id>
            <name>Apache BVal Site SVN</name>
            <url>scm:svn:${site.url}</url>
        </site>
    </distributionManagement>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${plugin.javadoc.version}</version>
                <configuration>
                    <doclint>none</doclint>
                    <show>package</show>
                    <quiet>true</quiet>
                    <release>11</release>
                    <links>
                        <link>http://docs.oracle.com/javase/11/docs/api</link>
                    </links>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>javadoc</report>
                            <report>test-javadoc</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${plugin.javadoc.version}</version>
                <inherited>false</inherited>
                <configuration>
                    <doclint>none</doclint>
                    <show>package</show>
                    <quiet>true</quiet>
                    <release>11</release>
                    <links>
                        <link>http://docs.oracle.com/javase/11/docs/api</link>
                    </links>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>aggregate</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jdepend-maven-plugin</artifactId>
                <version>2.0</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>2.3.2</version>
            </plugin>
        </plugins>
    </reporting>

    <!--
        default versions for dependencies that child modules may include
    -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>3.0.2</version>
            </dependency>
            <!-- Optional profile to use Spec RI API -->
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>2.0.1.Final</version>
            </dependency>
            <!-- JPA2 spec required for JPA TraversableResolver support -->
            <dependency>
                <groupId>jakarta.persistence</groupId>
                <artifactId>jakarta.persistence-api</artifactId>
                <version>3.1.0</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>5.6.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.12.0</version>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-weaver-privilizer-api</artifactId>
                <version>${commons.weaver.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>1.4.20</version>
            </dependency>
            <!-- Optional - only used by bval-json -->
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>2.3.32</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-el-api</artifactId>
                <version>10.1.5</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <defaultGoal>install</defaultGoal>

        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <release>11</release>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <Built-By>${built.by}</Built-By>
                                <Implementation-Build>${buildNumber}</Implementation-Build>
                                <Specification-Title>Bean Validation</Specification-Title>
                                <Specification-Version>2.0</Specification-Version>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${plugin.javadoc.version}</version>
                    <configuration>
                        <encoding>${project.build.sourceEncoding}</encoding>
                        <additionalparam>${javadoc.additionalparam}</additionalparam>
                        <aggregate>true</aggregate>
                        <doclint>none</doclint>
                        <verbose>false</verbose>
                        <release>11</release>
                        <maxmemory>512m</maxmemory>
                        <links>
                            <link>http://docs.oracle.com/javase/11/docs/api</link>
                        </links>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>process-remote-resources</id>
                            <goals>
                                <goal>process</goal>
                            </goals>
                            <configuration>
                                <resourceBundles>
                                    <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                                </resourceBundles>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.4.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>jdepend-maven-plugin</artifactId>
                    <version>2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>3.3.0</version>
                    <extensions>true</extensions>
                    <configuration>
                        <instructions>
                            <Implementation-Title>${project.name}</Implementation-Title>
                            <Implementation-Version>${project.version}</Implementation-Version>
                            <Bundle-DocURL>${project.url}</Bundle-DocURL>
                        </instructions>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>ianal-maven-plugin</artifactId>
                    <version>1.0-alpha-1</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>verify-legal-files</goal>
                            </goals>
                            <configuration>
                                <!-- Fail the build if any artifacts are missing legal files -->
                                <strict>true</strict>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <version>0.15</version>
                    <executions>
                        <execution>
                            <phase>verify</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <excludeSubProjects>false</excludeSubProjects>
                        <numUnapprovedLicenses>0</numUnapprovedLicenses>
                        <excludes>
                            <exclude>**/*/MANIFEST.MF</exclude>
                            <exclude>.git</exclude>
                            <exclude>.gitignore</exclude>
                            <!-- General informational files -->
                            <exclude>README.txt</exclude>
                            <exclude>CHANGES.txt</exclude>
                            <!-- generated content -->
                            <exclude>.idea</exclude>
                            <exclude>release.properties</exclude>
                            <exclude>DEPENDENCIES</exclude>
                            <exclude>**/.*/**</exclude>
                            <exclude>**/*.log</exclude>
                            <exclude>**/maven-eclipse.xml</exclude>
                            <exclude>**/rat.txt</exclude>
                            <exclude>**/target/**/*</exclude>
                            <exclude>**/*.iml</exclude>
                            <exclude>**/*.ipr</exclude>
                            <exclude>**/*.iws</exclude>
                            <exclude>**/META-INF/services/*</exclude> <!-- depending service loader it can fail if a comment is added -->
                            <exclude>**/dependency-reduced-pom.xml</exclude>
                        </excludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>3.1.1</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.plexus</groupId>
                            <artifactId>plexus-velocity</artifactId>
                            <version>2.0</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <!-- inherited from apache-10.pom, but need config updates -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <useReleaseProfile>false</useReleaseProfile>
                        <arguments>-Papache-release</arguments>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <preparationGoals>clean install</preparationGoals>
                        <tagNameFormat>@{project.version}</tagNameFormat>
                        <tagBase>https://svn.apache.org/repos/asf/bval/tags/</tagBase>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0</version>
                    <configuration>
                        <trimStackTrace>false</trimStackTrace>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>2.22.2</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>2.3.2</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>1.4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.netbeans.tools</groupId>
                    <artifactId>sigtest-maven-plugin</artifactId>
                    <version>1.0</version>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>[2.2.1,)</version>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>[1.8,)</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>ianal-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <configuration>
                    <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
                    <revisionOnScmFailure>offline</revisionOnScmFailure>
                    <shortRevisionLength>10</shortRevisionLength>
                </configuration>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-source-plugin</artifactId>
              <executions>
                <execution>
                  <id>attach-source</id>
                  <goals>
                    <goal>jar</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <configuration>
                    <skipDeploy>true</skipDeploy>
                </configuration>
                <executions>
                    <execution>
                        <id>site-stage</id>
                        <phase>post-site</phase>
                        <goals>
                            <goal>stage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-scm-publish-plugin</artifactId>
                <inherited>false</inherited>
                <configuration>
                    <pubScmUrl>${site.url}</pubScmUrl>
                    <checkoutDirectory>${site.checkout}</checkoutDirectory>
                    <serverId>${site.server}</serverId>
                    <tryUpdate>true</tryUpdate>
                </configuration>
                <executions>
                    <execution>
                        <id>scm-publish</id>
                        <phase>site-deploy</phase><!-- deploy site with maven-scm-publish-plugin -->
                        <goals>
                            <goal>publish-scm</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- Don't include in all builds for now
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
            </plugin>
            -->
        </plugins>
    </build>

    <modules>
        <module>bval-jsr</module>
        <module>bval-extras</module>
        <module>bval-tck</module>
        <module>bval-bundle</module>
        <module>bval-perf</module>
    </modules>

</project>
