<?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">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.sportradar.livedata.sdk</groupId>
    <artifactId>sdk-parent</artifactId>
    <version>2.0.0-RC2</version>
    <modules>
        <module>sdk</module>
    </modules>
    <packaging>pom</packaging>
    <name>Livedata SDK - parent</name>
    <description>
        Livedata SDK is a client library that enables easier integration with the Livedata XML feed.
        SDK exposes XML feed service interface in a more user-friendly way and isolates the client from having to do
        XML feed parsing, proper connection handling, error recovery, event queuing and dispatching.
        It also makes a client solution more stable and robust when it comes to feed handling,
        especially with the release of new and updated XML feed versions.
    </description>
    <inceptionYear>2013</inceptionYear>
    <url>https://sdk.sportradar.com/bookmaker/java</url>
    <scm>
        <url>https://github.com/sportradar/LivedataSdkJava/</url>
    </scm>
    <licenses>
        <license>
            <name>SDK licence</name>
            <url> https://sdk.sportradar.com/bookmaker/java/file?g=9ca8c5b3-d3e8-49d8-b3c3-d8b10ffa9e73</url>
            <comments>See end-user agreement on sdk website</comments>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>sdk</id>
            <name>SDK developers</name>
            <email>sdk@betradar.com</email>
        </developer>
    </developers>

    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
        </repository>
    </distributionManagement>

    <profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>sdk</module>
                <module>sdk-test</module>
                <module>sdk-loginterceptor</module>
                <module>sdk-example</module>
            </modules>
        </profile>
    </profiles>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>

        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>

        <slf4j.version>2.0.2</slf4j.version>
        <logback.version>1.4.1</logback.version>
        <simplejmx.version>1.19</simplejmx.version>
        <junit.version>4.13.2</junit.version>
        <jmock.version>2.12.0</jmock.version>
        <hamcrest.version>1.3</hamcrest.version>
        <javax.inject.version>1</javax.inject.version>
        <guice.version>5.1.0</guice.version>
        <guava.version>31.1-jre</guava.version>
        <jodatime.version>2.11.1</jodatime.version>
        <commonsnet.version>3.8.0</commonsnet.version>
        <commonslang3.version>3.12.0</commonslang3.version>
        <commonsio.version>2.11.0</commonsio.version>
        <disruptor.version>3.4.4</disruptor.version>
        <findbugs.version>3.0.2</findbugs.version>
        <xerces.version>2.12.2</xerces.version>
        <javax.mail.version>1.4.7</javax.mail.version>
        <jakarta.xml.bind-api.version>4.0.0</jakarta.xml.bind-api.version>
        <jaxb-impl.version>4.0.0</jaxb-impl.version>
        <classgraph.version>4.8.149</classgraph.version>

        <maven-dependency-plugin.version>3.3.0</maven-dependency-plugin.version>
        <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
        <maven-clean-plugin.version>3.2.0</maven-clean-plugin.version>
        <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
        <maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
<!--        <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>-->
        <maven-shade-plugin.version>3.4.0</maven-shade-plugin.version>
        <maven-resources-plugin.version>3.3.0</maven-resources-plugin.version>
        <jaxb2-maven-plugin.version>3.1.0</jaxb2-maven-plugin.version>
        <copy-rename-maven-plugin.version>1.0.1</copy-rename-maven-plugin.version>
        <maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
        <maven-deploy-plugin.version>3.0.0</maven-deploy-plugin.version>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <common.settings.path>../sdk-feed-layer/src/main/resources</common.settings.path>
        <finalName>${project.artifactId}.${project.version}</finalName>

        <maven.javadoc.failOnError>false</maven.javadoc.failOnError>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <compilerVersion>11</compilerVersion>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>${maven-dependency-plugin.version}</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>xerces</groupId>
                                    <artifactId>xercesImpl</artifactId>
                                    <version>${xerces.version}</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

<!--            removing javadoc during clean-->
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>${maven-clean-plugin.version}</version>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>${project.basedir}/docs</directory>
                            <includes>
                                <include>**/*</include>
                            </includes>
                            <excludes>
                                <exclude>*.docx</exclude>
                                <exclude>*.pdf</exclude>
                                <exclude>templates/**</exclude>
                            </excludes>
                            <followSymlinks>false</followSymlinks>
                        </fileset>
                        <fileset>
                            <directory>${project.basedir}/release</directory>
                            <includes>
                                <include>**</include>
                            </includes>
                            <followSymlinks>false</followSymlinks>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>${maven-gpg-plugin.version}</version>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
<!--                <plugin>-->
<!--                    <groupId>org.apache.maven.plugins</groupId>-->
<!--                    <artifactId>maven-jar-plugin</artifactId>-->
<!--                    <version>${maven-jar-plugin.version}</version>-->
<!--                    <configuration>-->
<!--                        <excludes>-->
<!--                            <exclude>*.properties</exclude>-->
<!--                        </excludes>-->

<!--                        <archive>-->
<!--                            <index>true</index>-->
<!--                            <manifest>-->
<!--                                <addClasspath>false</addClasspath>-->
<!--                            </manifest>-->
<!--                        </archive>-->
<!--                    </configuration>-->
<!--                </plugin>-->

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>${maven-shade-plugin.version}</version>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"/>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
                                <resources>
                                    <resource>META-INF/MANIFEST.MF</resource>
                                    <resource>META-INF/DEPENDENCIES</resource>
                                </resources>
                            </transformer>
                        </transformers>
                    </configuration>
<!--                    <executions>-->
<!--                        <execution>-->
<!--                            <phase>package</phase>-->
<!--                            <goals>-->
<!--                                <goal>shade</goal>-->
<!--                            </goals>-->
<!--                            <configuration>-->
<!--                                <filters>-->
<!--                                    <filter>-->
<!--                                        <artifact>*:*</artifact>-->
<!--                                        <excludes>-->
<!--                                            <exclude>*.properties</exclude>-->
<!--                                        </excludes>-->
<!--                                    </filter>-->
<!--                                </filters>-->
<!--                            </configuration>-->
<!--                        </execution>-->
<!--                    </executions>-->
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${maven-deploy-plugin.version}</version>
                    <configuration>
                        <skip>false</skip>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <dependencyManagement>
        <dependencies>
            <!-- Logging -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-access</artifactId>
                <version>${logback.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.j256.simplejmx</groupId>
                <artifactId>simplejmx</artifactId>
                <version>${simplejmx.version}</version>
            </dependency>

            <!-- testing -->

            <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>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>hamcrest-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.jmock</groupId>
                <artifactId>jmock-junit4</artifactId>
                <version>${jmock.version}</version>
                <scope>test</scope>
            </dependency>

            <!-- XML Binding -->
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jakarta.xml.bind-api.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>${jaxb-impl.version}</version>
                <scope>runtime</scope>
                <exclusions>
                    <exclusion>
                        <groupId>jakarta.activation</groupId>
                        <artifactId>jakarta.activation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.xml.bind</groupId>
                        <artifactId>jakarta.xml.bind-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Dependency Injection Container -->
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${javax.inject.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${guice.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.inject</groupId>
                        <artifactId>javax.inject</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-throwingproviders</artifactId>
                <version>${guice.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.inject</groupId>
                        <artifactId>guice</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Disruptor -->
            <dependency>
                <groupId>com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${disruptor.version}</version>
            </dependency>

            <!-- Miscellaneous -->
            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>${xerces.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${jodatime.version}</version>
            </dependency>


            <!-- Java Mail API -->
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>${javax.mail.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commonsnet.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commonsio.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commonslang3.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>${findbugs.version}</version>
            </dependency>

            <dependency>
                <groupId>io.github.classgraph</groupId>
                <artifactId>classgraph</artifactId>
                <version>${classgraph.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>
</project>