<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2017-2019 SgrAlpha
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
  -->

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

    <parent>
        <groupId>io.sgr</groupId>
        <artifactId>io.sgr.base</artifactId>
        <version>1.0.7</version>
    </parent>

    <artifactId>common-dependencies</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>


    <name>common-dependencies</name>
    <description>
        Used to control the versions of project's dependencies and provide a central place to define and update those versions for all projects under this
        organization.
    </description>
    <url>https://github.com/io-sgr/common-dependencies</url>
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <scm>
        <connection>scm:git:git@github.com:io-sgr/common-dependencies.git</connection>
        <developerConnection>scm:git:git@github.com:io-sgr/common-dependencies.git</developerConnection>
        <url>https://github.com/io-sgr/common-dependencies</url>
      <tag>v1.0.0</tag>
  </scm>
    <developers>
        <developer>
            <id>sgralpha</id>
            <name>SgrAlpha</name>
        </developer>
    </developers>

    <properties>
        <dep.jackson.version>2.9.9</dep.jackson.version>

        <!-- Frameworks -->
        <dep.spring-boot.version>2.1.6.RELEASE</dep.spring-boot.version>

        <!-- From Google -->
        <dep.google-guava.version>28.0-jre</dep.google-guava.version>
        <dep.google-findbug.version>3.0.2</dep.google-findbug.version>

        <!-- For http/rest -->
        <dep.retrofit.version>2.5.0</dep.retrofit.version>
        <dep.okhttp.version>3.13.1</dep.okhttp.version>
        <dep.apache-httpcore.version>4.4.11</dep.apache-httpcore.version>
        <dep.apache-httpclient.version>4.5.9</dep.apache-httpclient.version>
        <dep.apache-httpasyncclient.version>4.1.4</dep.apache-httpasyncclient.version>

        <!-- From Apache Commons -->
        <dep.commons-codec.version>1.12</dep.commons-codec.version>
        <dep.commons-logging.version>1.2</dep.commons-logging.version>

        <!-- For logging -->
        <dep.slf4j.version>1.7.26</dep.slf4j.version>
        <dep.log4j2.version>2.12.0</dep.log4j2.version>

        <!-- Others -->
        <dep.jwt.version>0.9.1</dep.jwt.version>

        <!-- For tests -->
        <dep.junit.version>4.12</dep.junit.version>
        <dep.mockito.version>2.23.4</dep.mockito.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.fasterxml.jackson</groupId>
                <artifactId>jackson-bom</artifactId>
                <version>${dep.jackson.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${dep.spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.fasterxml.jackson</groupId>
                        <artifactId>jackson-bom</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${dep.google-guava.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>${dep.google-findbug.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>retrofit</artifactId>
                <version>${dep.retrofit.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>converter-scalars</artifactId>
                <version>${dep.retrofit.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>converter-jackson</artifactId>
                <version>${dep.retrofit.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${dep.okhttp.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${dep.apache-httpcore.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${dep.apache-httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpasyncclient</artifactId>
                <version>${dep.apache-httpasyncclient.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${dep.commons-codec.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${dep.commons-logging.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${dep.slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>${dep.slf4j.version}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${dep.slf4j.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-bom</artifactId>
                <version>${dep.log4j2.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>${dep.jwt.version}</version>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${dep.junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${dep.mockito.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>
