<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>com.mulesoft.anypoint</groupId>
        <artifactId>api-gateway-tests</artifactId>
        <version>4.7.4</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>api-gateway-tests-infrastructure</artifactId>
    <name>API Gateway Tests Infrastructure</name>

    <properties>
        <formatterConfigPath>../../formatter.xml</formatterConfigPath>
        <snakeYamlVersion>1.18</snakeYamlVersion>
        <h2.version>2.2.224</h2.version>
        <hibernate.version>5.2.4.Final</hibernate.version>
        <runtime-discovery-core.version>3.1.1</runtime-discovery-core.version>

        <javaModuleName>com.mulesoft.anypoint.gw.tests.infrastructure</javaModuleName>
    </properties>

    <dependencies>
        <!-- Next two dependencies are defined to override what TITA is providing since TITA is now using 4.1.4 -->
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-module-deployment-model-impl</artifactId>
            <version>${muleVersion}</version>
            <exclusions>
                <!-- Excluding reboot module as it is not present in EE distribution and some classes clash with classes
                 from boot-ee module  -->
                <exclusion>
                    <groupId>org.mule.runtime</groupId>
                    <artifactId>mule-module-reboot</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- Gateway dependencies -->
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>api-gateway-api</artifactId>
            <version>${apiGatewayApiVersion}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>mule-module-autodiscovery</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>api-gateway-contract-service-api</artifactId>
            <version>${contractsServiceApiVersion}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>mule-module-api-deployment</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>api-gateway-core</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>mule-module-metrics-collector</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>mule-module-analytics-gw</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>mule-module-policies</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>mule-module-hdp</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>api-gateway-client</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>tita-core-api</artifactId>
            <version>${apiGatewayTitaVersion}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>runtime-discovery-core</artifactId>
            <version>${runtime-discovery-core.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>tita-core</artifactId>
            <version>${apiGatewayTitaVersion}</version>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>tita-reflection-unit</artifactId>
            <version>${tita.unit.api.version}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>api-gateway-core</artifactId>
            <version>${project.version}</version>
            <type>test-jar</type>
        </dependency>

        <!-- Service dependencies -->
        <dependency>
            <groupId>org.mule.services</groupId>
            <artifactId>mule-service-scheduler</artifactId>
            <classifier>mule-service</classifier>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.services</groupId>
            <artifactId>mule-service-weave-ee</artifactId>
            <version>${weaveVersion}</version>
            <classifier>mule-service</classifier>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.mule.services</groupId>
            <artifactId>mule-service-http-ee</artifactId>
            <version>${muleHttpEeServiceVersion}</version>
            <classifier>mule-service</classifier>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>api-gateway-contract-service</artifactId>
            <version>${contractsServiceVersion}</version>
            <classifier>mule-service</classifier>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>api-gateway-events-collector-service-api</artifactId>
            <version>${apiGatewayEventsCollectorsApi}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>api-gateway-events-collector-service</artifactId>
            <version>${apiGatewayEventsCollectors}</version>
            <classifier>mule-service</classifier>
        </dependency>

        <!-- MULE dependencies -->
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-dwb-api</artifactId>
            <version>${weaveVersion}</version>
        </dependency>
        <dependency>
            <groupId>org.mule.tests</groupId>
            <artifactId>mule-tests-functional</artifactId>
            <version>${muleVersion}</version>
            <exclusions>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mockito</groupId>
                    <artifactId>mockito-all</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-slf4j2-impl</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.mule.tests</groupId>
            <artifactId>mule-tests-infrastructure</artifactId>
            <version>${muleVersion}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.mockito</groupId>
                    <artifactId>mockito-all</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-module-deployment-model-impl</artifactId>
            <version>${muleVersion}</version>
            <type>test-jar</type>
            <exclusions>
                <!-- Excluding reboot module as it is not present in EE distribution and some classes clash with classes
                 from boot-ee module  -->
                <exclusion>
                    <groupId>org.mule.runtime</groupId>
                    <artifactId>mule-module-reboot</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.mule.tests</groupId>
            <artifactId>mule-tests-runner</artifactId>
            <version>${muleVersion}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.mule.runtime.modules</groupId>
            <artifactId>mule-module-spring-config-ee</artifactId>
            <version>${muleVersion}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.mule.runtime.modules</groupId>
            <artifactId>mule-module-cluster-ee</artifactId>
            <version>${muleVersion}</version>
            <exclusions>
                <!-- Excluding reboot module as it is not present in EE distribution and some classes clash with classes
                 from boot-ee module  -->
                <exclusion>
                    <groupId>org.mule.runtime</groupId>
                    <artifactId>mule-module-reboot</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.mule.runtime.modules</groupId>
            <artifactId>mule-module-http-policy</artifactId>
            <version>${muleVersion}</version>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.mule.runtime</groupId>
            <artifactId>mule-core-ee</artifactId>
            <version>${muleVersion}</version>
        </dependency>

        <!-- Other libs -->
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>${snakeYamlVersion}</version>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>${h2.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-module-tooling-support</artifactId>
            <version>${muleVersion}</version>
        </dependency>
        <dependency>
            <groupId>org.mule.runtime</groupId>
            <artifactId>mule-module-launcher</artifactId>
            <version>${muleVersion}</version>
        </dependency>
    </dependencies>


</project>
