<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (C) Sportradar AG. See LICENSE for full license governing this code
  -->

<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/com.sportradar.mts.sdk.api.xsd/maven-4.0.0.com.sportradar.mts.sdk.api.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>mts-sdk</artifactId>
    <groupId>com.sportradar.mts.sdk</groupId>
    <version>2.4.1.1</version>
    <name>MTS SDK</name>
    <packaging>pom</packaging>
    <inceptionYear>2017</inceptionYear>
    <description>MTS SDK is a client library that enables easier integration with the Sportradar MTS. SDK exposes well defined API and hides ticket response parsing, proper connection handling, error recovery, event queuing and dispatching. It also makes a client solution easier to maintain with regular version updates.</description>
    <url>http://sdk.sportradar.com/mts/java</url>
    <licenses>
        <license>
            <name>SDK licence</name>
            <url>http://sdk.sportradar.com/mts/java</url>
            <comments>See end-user agreement on sdk website</comments>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>sportradar</id>
            <name>Sportradar AG</name>
            <email>sdk@sportradar.com</email>
            <url>http://sdk.sportradar.com</url>
            <organization>Sportradar AG</organization>
            <organizationUrl>http://www.sportradar.com</organizationUrl>
            <roles>
                <role>architect</role>
                <role>developer</role>
            </roles>
        </developer>
    </developers>
    <scm>
        <url>https://github.com/sportradar/MtsSdkJava</url>
    </scm>

    <modules>
        <module>api</module>
        <module>app</module>
        <module>impl</module>
        <!--<module>mts-sdk-external-example</module>
        <module>distribution</module>-->
    </modules>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.plugin.version>3.1</maven.compiler.plugin.version>
        <maven.assembly.plugin.version>2.2-beta-5</maven.assembly.plugin.version>
        <jenkins.integration-test.reportsDirectory>target/failsafe-reports</jenkins.integration-test.reportsDirectory>

        <!-- ALL DEPENDENCY VERSIONS MUST BE DEFINED HERE -->
        <rabbitmq.version>4.2.2</rabbitmq.version>
        <commonslang.version>2.4</commonslang.version>
        <jackson.version>2.10.1</jackson.version>
        <logback.version>1.1.3</logback.version>
        <slf4j.version>1.7.25</slf4j.version>
        <guava.version>21.0</guava.version>
        <guice.version>4.1.0</guice.version>
        <junit.version>4.12</junit.version>
        <mockito.version>1.10.19</mockito.version>
        <hamcrest.version>1.3</hamcrest.version>
        <apache.httpComponents.version>4.5.1</apache.httpComponents.version>
        <snake.yaml.version>1.20</snake.yaml.version>
        <commons-csv.version>1.8</commons-csv.version>

        <!-- Distribution util -->
        <sr.dollarSign>$</sr.dollarSign>
        <deploy.version>${project.version}</deploy.version>
        <mts.relocation.supported.ticket.version>ticket24</mts.relocation.supported.ticket.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- *** INTERNAL LIBs *** -->
            <dependency>
                <groupId>com.sportradar.mts.sdk.api</groupId>
                <artifactId>mts-sdk-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sportradar.mts.sdk.impl</groupId>
                <artifactId>mts-sdk-impl</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sportradar.mts.sdk.impl.di</groupId>
                <artifactId>mts-sdk-impl-di</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sportradar.mts.sdk.impl.libs</groupId>
                <artifactId>mts-sdk-impl-libs</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- *** INFRASTRUCTURE *** -->
            <dependency>
                <groupId>com.rabbitmq</groupId>
                <artifactId>amqp-client</artifactId>
                <version>${rabbitmq.version}</version>
            </dependency>

            <!-- *** REST *** -->
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commonslang.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <!-- *** COMMON STUFF *** -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${apache.httpComponents.version}</version>
            </dependency>
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snake.yaml.version}</version>
            </dependency>

            <!-- *** TESTING *** -->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>${mockito.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <distributionManagement>
        <snapshotRepository>
            <id>${sr.snapshotRepository.id}</id>
            <url>${sr.snapshotRepository.url}</url>
        </snapshotRepository>
        <repository>
            <id>${sr.repository.id}</id>
            <url>${sr.repository.url}</url>
            <uniqueVersion>true</uniqueVersion>
        </repository>
    </distributionManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
                <version>1.6.8</version>
                <extensions>true</extensions>
                <configuration>
                    <serverId>ossrh</serverId>
                    <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                    <autoReleaseAfterClose>true</autoReleaseAfterClose>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.6</version>
                <executions>
                    <execution>
                        <id>default-prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-report</id>
                        <phase>package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                    <!--                    <execution>-->
                    <!--                        <id>default-check</id>-->
                    <!--                        <goals>-->
                    <!--                            <goal>check</goal>-->
                    <!--                        </goals>-->
                    <!--                        <configuration>-->
                    <!--                            <rules>-->
                    <!--                                <rule>-->
                    <!--                                    <element>BUNDLE</element>-->
                    <!--                                    <limits>-->
                    <!--                                        <limit>-->
                    <!--                                            <counter>COMPLEXITY</counter>-->
                    <!--                                            <value>COVEREDRATIO</value>-->
                    <!--                                            <minimum>0.60</minimum>-->
                    <!--                                        </limit>-->
                    <!--                                    </limits>-->
                    <!--                                </rule>-->
                    <!--                            </rules>-->
                    <!--                        </configuration>-->
                    <!--                    </execution>-->
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
