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

    Copyright (C) 2000 - 2024 Silverpeas

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.

    As a special exception to the terms and conditions of version 3.0 of
    the GPL, you may redistribute this Program in connection with Free/Libre
    Open Source Software ("FLOSS") applications as described in Silverpeas's
    FLOSS exception.  You should have received a copy of the text describing
    the FLOSS exception, and it is also available here:
    "https://www.silverpeas.com/legal/licensing"

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

-->

<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 https://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.silverpeas</groupId>
  <artifactId>silverpeas-test-dependencies-bom</artifactId>
  <version>2.0-build260507</version>
  <packaging>pom</packaging>
  <name>Silverpeas Test Dependencies BOM</name>
  <description>A BOM with all the dependencies required to build and run the unit and the integration tests of Silverpeas</description>
  <url>https://www.silverpeas.org</url>

  <scm>
    <connection>scm:git:git@github.com:Silverpeas/silverpeas-test-dependencies-bom.git</connection>
    <developerConnection>scm:git:git@github.com:Silverpeas/silverpeas-test-dependencies-bom.git
    </developerConnection>
    <url>https://gitub.com/Silverpeas/silverpeas-test-dependencies-bom.git</url>
    <tag>HEAD</tag>
  </scm>

  <distributionManagement>
    <repository>
      <id>silverpeas</id>
      <name>Repository Silverpeas</name>
      <layout>default</layout>
      <url>https://nexus3.silverpeas.org/repository/releases/</url>
    </repository>
    <snapshotRepository>
      <id>silverpeas-snapshots</id>
      <name>Snapshots Repository Silverpeas</name>
      <layout>default</layout>
      <url>https://nexus3.silverpeas.org/repository/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-params</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-runner</artifactId>
        <version>1.9.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mokito.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>${mokito.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>net.bytebuddy</groupId>
        <artifactId>byte-buddy</artifactId>
        <version>${byte-buddy.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>net.bytebuddy</groupId>
        <artifactId>byte-buddy-agent</artifactId>
        <version>${byte-buddy.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>2.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.exparity</groupId>
        <artifactId>hamcrest-date</artifactId>
        <version>2.0.8</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.weld</groupId>
        <artifactId>weld-junit5</artifactId>
        <version>${weld-junit.version}</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>jupiter-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.junit.jupter</groupId>
            <artifactId>jupiter-engine</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.ninja-squad</groupId>
        <artifactId>DbSetup</artifactId>
        <version>${dbsetup.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.awaitility</groupId>
        <artifactId>awaitility</artifactId>
        <version>4.2.0</version>
      </dependency>
      <!-- TODO to be removed later in profit of DbSetup -->
      <dependency>
        <groupId>org.dbunit</groupId>
        <artifactId>dbunit</artifactId>
        <version>2.7.3</version>
        <exclusions>
          <exclusion>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
          </exclusion>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
          </exclusion>
          <exclusion>
            <groupId>hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- end TODO -->

      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
        <version>3.1.3</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>org.junit.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-core</artifactId>
        <version>${arquillian.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.wildfly.arquillian</groupId>
        <artifactId>wildfly-arquillian-container-remote</artifactId>
        <version>${arquillian.wildfly.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.arquillian.core</groupId>
        <artifactId>arquillian-core-api</artifactId>
        <version>${arquillian.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>${arquillian.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
        <version>3.3.4</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.carrotsearch</groupId>
        <artifactId>junit-benchmarks</artifactId>
        <version>0.7.2</version>
        <scope>test</scope>
      </dependency>
      <!-- LDAP test dependencies BEGIN -->
      <dependency>
        <groupId>org.forgerock.ce.opendj</groupId>
        <artifactId>opendj-server</artifactId>
        <version>2.6.4</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.forgerock.ce.commons</groupId>
        <artifactId>json-resource-servlet</artifactId>
        <version>2.0.4</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-core-asl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.sleepycat</groupId>
        <artifactId>je</artifactId>
        <version>18.3.12</version>
        <scope>test</scope>
      </dependency>
      <!-- LDAP test dependencies END -->

      <!-- Mail -->
      <dependency>
        <groupId>com.icegreen</groupId>
        <artifactId>greenmail</artifactId>
        <version>2.1.7</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>jakarta.mail</artifactId>
        <version>2.0.2</version>
        <scope>test</scope>
      </dependency>

      <!-- resteasy-jaxrs API -->
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>${resteasy.version}</version>
        <scope>test</scope>
      </dependency>

      <!-- READ BEANS BY AN EASY WAY -->
      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.11.0</version>
        <scope>test</scope>
      </dependency>

      <!-- for testing with MongDB -->
      <dependency>
        <groupId>de.flapdoodle.embed</groupId>
        <artifactId>de.flapdoodle.embed.mongo</artifactId>
        <version>4.23.0</version>
        <scope>test</scope>
      </dependency>
    </dependencies>

  </dependencyManagement>

  <properties>
    <!-- property used by the CI to both deploy a build version and release the next stable version -->
    <next.release>2.0</next.release>
    <maven.compiler.release>11</maven.compiler.release>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <junit.version>5.11.4</junit.version>
    <mokito.version>5.20.0</mokito.version>
    <byte-buddy.version>1.18.1</byte-buddy.version>
    <weld-junit.version>4.0.5.Final</weld-junit.version>
    <dbsetup.version>2.1.0</dbsetup.version>
    <resteasy.version>6.2.14.Final</resteasy.version>
    <arquillian.version>1.10.0.Final</arquillian.version>
    <arquillian.wildfly.version>5.0.1.Final</arquillian.wildfly.version>
  </properties>

</project>
