<?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.storlead.boot</groupId>
    <artifactId>storlead-dependencies</artifactId>
    <version>${revision}</version>

    <packaging>pom</packaging>
    <name>${project.artifactId}</name>
    <description>整个项目的依赖版本</description>

    <properties>
        <!-- 与根工程保持一致的统一版本号 -->
        <revision>1.0</revision>
        <flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring.boot.starter.parent>2.7.0</spring.boot.starter.parent>
        <spring.boot.version>2.7.0</spring.boot.version>
        <knife4j.version>4.5.0</knife4j.version>
        <spring-web.version>5.3.32</spring-web.version>
        <jsoup.version>1.18.3</jsoup.version>
        <mockito-inline.version>4.11.0</mockito-inline.version>
        <lombok.version>1.18.36</lombok.version>
        <spring.framework.version>5.3.20</spring.framework.version>
        <spring.security.version>5.8.14</spring.security.version>
        <fastjson.version>2.0.23</fastjson.version>
        <!--    5.8.35-->
        <hutool.version>5.4.3</hutool.version>
        <springdoc.version>1.7.0</springdoc.version>
        <swagger.ui.version>3.0.0</swagger.ui.version>
        <swagger.version>3.0.0</swagger.version>
        <swagger.annotations.version>1.5.22</swagger.annotations.version>
        <spring.web.socket.version>1.5.3</spring.web.socket.version>

        <!-- DB 相关 -->
        <druid.version>1.1.24</druid.version>
        <mybatis.version>3.5.17</mybatis.version>
        <mybatis-plus.version>3.1.2</mybatis-plus.version>
        <datasource.spring.boot.starter>2.5.4</datasource.spring.boot.starter>
        <dynamic-datasource.version>4.3.1</dynamic-datasource.version>
        <mybatis-plus-join.version>1.4.13</mybatis-plus-join.version>
        <mysql.connector.version>5.1.47</mysql.connector.version>
        <guava.version>33.4.0-jre</guava.version>
        <aviator.version>5.2.7</aviator.version>
        <transmittable.thread.version>2.14.0</transmittable.thread.version>
        <google.code.gson.version>2.10.1</google.code.gson.version>
        <squareup.okhttp.version>4.12.0</squareup.okhttp.version>
        <okhttp.sse.version>4.10.0</okhttp.sse.version>
        <spring.validation.version>2.6.3</spring.validation.version>
        <apache.httpcore5.client5.version>5.2.1</apache.httpcore5.client5.version>
        <apache.httpcore5.version>5.2.1</apache.httpcore5.version>
        <apache.httpcore5-h2.version>5.2.1</apache.httpcore5-h2.version>
        <apache.httpasyncclient.version>4.1.5</apache.httpasyncclient.version>
        <io.jsonwebtoken.version>0.9.1</io.jsonwebtoken.version>
        <io.jsonwebtoken.java.jwt.version>3.7.0</io.jsonwebtoken.java.jwt.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring-web.version}</version>
            </dependency>

            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-generator</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>


<!--            &lt;!&ndash;swagger&ndash;&gt;-->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>${swagger.ui.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger.annotations.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${google.code.gson.version}</version> <!-- 建议使用最新版本 -->
            </dependency>

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.3</version>
            </dependency>



            <dependency>
                <groupId>org.apache.httpcomponents.client5</groupId>
                <artifactId>httpclient5</artifactId>
                <version>${apache.httpcore5.client5.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.core5/httpcore5 -->
            <dependency>
                <groupId>org.apache.httpcomponents.core5</groupId>
                <artifactId>httpcore5</artifactId>
                <version>${apache.httpcore5.version}</version>
            </dependency>

            <!--JWT-->
            <dependency>
                <groupId>com.auth0</groupId>
                <artifactId>java-jwt</artifactId>
                <version>${io.jsonwebtoken.java.jwt.version}</version>
            </dependency>

            <!--  jwt 需要,移除会报错  -->
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>${io.jsonwebtoken.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.core5/httpcore5-h2 -->
            <dependency>
                <groupId>org.apache.httpcomponents.core5</groupId>
                <artifactId>httpcore5-h2</artifactId>
                <version>${apache.httpcore5-h2.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpasyncclient</artifactId>
                <version>${apache.httpasyncclient.version}</version>
            </dependency>
<!--            <dependency>-->
<!--                <groupId>com.github.xiaoymin</groupId>-->
<!--                <artifactId>swagger-bootstrap-ui</artifactId>-->
<!--                <version>1.8.7</version>-->
<!--            </dependency>-->


<!--            <dependency>-->
<!--                <groupId>com.squareup.okhttp3</groupId>-->
<!--                <artifactId>okhttp</artifactId>-->
<!--                <version>${squareup.okhttp.version}</version> &lt;!&ndash; 2023年最新稳定版 &ndash;&gt;-->
<!--            </dependency>-->

            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp-sse</artifactId>
                <version>${okhttp.sse.version}</version>
            </dependency>

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>

            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${hutool.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
                <version>${knife4j.version}</version>
            </dependency>
<!--            <dependency>-->
<!--                <groupId>cn.hutool</groupId>-->
<!--                <artifactId>hutool-all</artifactId>-->
<!--                <version>4.5.11</version>-->
<!--            </dependency>-->

            <dependency>
                <groupId>com.googlecode.aviator</groupId>
                <artifactId>aviator</artifactId>
                <version>${aviator.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>transmittable-thread-local</artifactId>
                <version>${transmittable.thread.version}</version> <!-- 建议使用最新版本 -->
            </dependency>

            <!-- mybatis-plus -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>

            <!--mysql-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.connector.version}</version>
            </dependency>

            <!-- 动态数据源 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
                <version>${datasource.spring.boot.starter}</version>
            </dependency>

            <!-- druid -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.yulichang</groupId>
                <artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 联表查询 -->
                <version>${mybatis-plus-join.version}</version>
            </dependency>

            <dependency>
                <groupId>org.java-websocket</groupId>
                <artifactId>Java-WebSocket</artifactId>
                <version>${spring.web.socket.version}</version>
            </dependency>

            <!-- Web 相关 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>2.7.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-web</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>${jsoup.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-inline</artifactId>
                <version>${mockito-inline.version}</version> <!-- 支持 Mockito 的 final 类与 static 方法的 mock -->
            </dependency>

            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-ui</artifactId>
                <version>${springdoc.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <version>${spring.boot.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>asm</artifactId>
                        <groupId>org.ow2.asm</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mockito</groupId>
                        <artifactId>mockito-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

        </dependencies>

    </dependencyManagement>

<!--    <build>-->
<!--        <plugins>-->
<!--            &lt;!&ndash; 统一 revision 版本 &ndash;&gt;-->
<!--            <plugin>-->
<!--                <groupId>org.codehaus.mojo</groupId>-->
<!--                <artifactId>flatten-maven-plugin</artifactId>-->
<!--                <version>${flatten-maven-plugin.version}</version>-->
<!--                <configuration>-->
<!--                    <flattenMode>bom</flattenMode>-->
<!--                    <updatePomFile>true</updatePomFile>-->
<!--                </configuration>-->
<!--                <executions>-->
<!--                    <execution>-->
<!--                        <goals>-->
<!--                            <goal>flatten</goal>-->
<!--                        </goals>-->
<!--                        <id>flatten</id>-->
<!--                        <phase>process-resources</phase>-->
<!--                    </execution>-->
<!--                    <execution>-->
<!--                        <goals>-->
<!--                            <goal>clean</goal>-->
<!--                        </goals>-->
<!--                        <id>flatten.clean</id>-->
<!--                        <phase>clean</phase>-->
<!--                    </execution>-->
<!--                </executions>-->
<!--            </plugin>-->
<!--        </plugins>-->
<!--    </build>-->
</project>
