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

    This file is part of maven-build-process. It is subject to the license terms in the LICENSE file found in the top-level
    directory of this distribution and at http://creativecommons.org/publicdomain/zero/1.0/. No part of maven-build-process,
    including this file, may be copied, modified, propagated, or distributed except according to the terms contained
    in the LICENSE file.

-->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- ordering follows https://maven.apache.org/developers/conventions/code.html#POM_Code_Convention -->

    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!--                                 PARENT                                  -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!-- https://maven.apache.org/pom.html#Inheritance -->
    <parent>
        <groupId>wtf.metio.maven.boms</groupId>
        <artifactId>maven-boms</artifactId>
        <version>2022.2.4</version>
    </parent>

    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!--                               COORDINATES                               -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!-- https://maven.apache.org/pom.html#Maven_Coordinates -->
    <artifactId>maven-boms-testing</artifactId>
    <packaging>pom</packaging>

    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!--                               INFORMATIONS                              -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!-- https://maven.apache.org/pom.html#More_Project_Information -->
    <name>Maven BOMs :: Testing</name>
    <description>Testing related dependencies</description>

    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!--                                PROPERTIES                               -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!-- https://maven.apache.org/pom.html#Properties -->
    <properties>
        <version.apiguardian>1.1.2</version.apiguardian>
        <version.junit>4.13.2</version.junit>
        <version.hamcrest-all>1.3</version.hamcrest-all>
        <version.hamcrest-core>2.2</version.hamcrest-core>
        <version.mockito-core>4.3.1</version.mockito-core>
        <version.dbunit>2.7.2</version.dbunit>
        <version.fest-assert-core>2.0M10</version.fest-assert-core>
        <version.assertj-core>3.22.0</version.assertj-core>
        <version.equalsverifier>3.9</version.equalsverifier>
        <version.mockserver>5.11.2</version.mockserver>
        <version.wiremock>2.27.2</version.wiremock>
        <version.archunit>0.22.0</version.archunit>
        <version.system-lambda>1.2.1</version.system-lambda>
        <version.jmh>1.34</version.jmh>
        <version.cucumber>7.2.3</version.cucumber>
    </properties>

    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!--                            DEPENDENCY MANAGEMENT                        -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!-- https://maven.apache.org/pom.html#Dependency_Management -->
    <dependencyManagement>
        <dependencies>
            <!-- API Guardian -->
            <!-- https://github.com/apiguardian-team/apiguardian -->
            <dependency>
                <groupId>org.apiguardian</groupId>
                <artifactId>apiguardian-api</artifactId>
                <version>${version.apiguardian}</version>
            </dependency>

            <!-- JUnit -->
            <!-- http://junit.org/ -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${version.junit}</version>
            </dependency>

            <!-- Hamcrest -->
            <!-- http://hamcrest.org/JavaHamcrest/ -->
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
                <version>${version.hamcrest-all}</version>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
                <version>${version.hamcrest-core}</version>
            </dependency>

            <!-- Mockito -->
            <!-- http://mockito.org/ -->
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${version.mockito-core}</version>
            </dependency>

            <!-- DbUnit -->
            <!-- http://dbunit.sourceforge.net/ -->
            <dependency>
                <groupId>org.dbunit</groupId>
                <artifactId>dbunit</artifactId>
                <version>${version.dbunit}</version>
            </dependency>

            <!-- AssertJ -->
            <!-- http://joel-costigliola.github.io/assertj/ -->
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${version.assertj-core}</version>
            </dependency>

            <!-- EqualsVerifier -->
            <!-- http://www.jqno.nl/equalsverifier/ -->
            <dependency>
                <groupId>nl.jqno.equalsverifier</groupId>
                <artifactId>equalsverifier</artifactId>
                <version>${version.equalsverifier}</version>
            </dependency>

            <!-- MockServer -->
            <!-- http://www.mock-server.com/ -->
            <dependency>
                <groupId>org.mock-server</groupId>
                <artifactId>mockserver</artifactId>
                <version>${version.mockserver}</version>
            </dependency>
            <dependency>
                <groupId>org.mock-server</groupId>
                <artifactId>mockserver-core</artifactId>
                <version>${version.mockserver}</version>
            </dependency>
            <dependency>
                <groupId>org.mock-server</groupId>
                <artifactId>mockserver-netty</artifactId>
                <version>${version.mockserver}</version>
            </dependency>
            <dependency>
                <groupId>org.mock-server</groupId>
                <artifactId>mockserver-client-java</artifactId>
                <version>${version.mockserver}</version>
            </dependency>
            <dependency>
                <groupId>org.mock-server</groupId>
                <artifactId>mockserver-junit-jupiter</artifactId>
                <version>${version.mockserver}</version>
            </dependency>

            <!-- WireMock -->
            <!-- http://wiremock.org/ -->
            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock-jre8</artifactId>
                <version>${version.wiremock}</version>
            </dependency>
            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock-jre8-standalone</artifactId>
                <version>${version.wiremock}</version>
            </dependency>
            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock</artifactId>
                <version>${version.wiremock}</version>
            </dependency>
            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock-standalone</artifactId>
                <version>${version.wiremock}</version>
            </dependency>
            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>crash-lab</artifactId>
                <version>${version.wiremock}</version>
            </dependency>

            <!-- ArchUnit -->
            <!-- https://www.archunit.org/ -->
            <dependency>
                <groupId>com.tngtech.archunit</groupId>
                <artifactId>archunit</artifactId>
                <version>${version.archunit}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.tngtech.archunit</groupId>
                <artifactId>archunit-junit5</artifactId>
                <version>${version.archunit}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.tngtech.archunit</groupId>
                <artifactId>archunit-junit5-api</artifactId>
                <version>${version.archunit}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.tngtech.archunit</groupId>
                <artifactId>archunit-junit5-engine</artifactId>
                <version>${version.archunit}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.tngtech.archunit</groupId>
                <artifactId>archunit-junit5-engine-api</artifactId>
                <version>${version.archunit}</version>
                <scope>test</scope>
            </dependency>

            <!-- system-lambda -->
            <!-- https://github.com/stefanbirkner/system-lambda -->
            <dependency>
                <groupId>com.github.stefanbirkner</groupId>
                <artifactId>system-lambda</artifactId>
                <version>${version.system-lambda}</version>
                <scope>test</scope>
            </dependency>

            <!-- JMH -->
            <!-- https://openjdk.java.net/projects/code-tools/jmh/ -->
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-core</artifactId>
                <version>${version.jmh}</version>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-generator-annprocess</artifactId>
                <version>${version.jmh}</version>
            </dependency>

            <!-- Cucumber -->
            <!-- http://cucumber.io/ -->
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-core</artifactId>
                <version>${version.cucumber}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-gherkin</artifactId>
                <version>${version.cucumber}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-gherkin-messages</artifactId>
                <version>${version.cucumber}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>${version.cucumber}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>${version.cucumber}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-junit-platform-engine</artifactId>
                <version>${version.cucumber}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-picocontainer</artifactId>
                <version>${version.cucumber}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>
