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

    <!-- parent指定为spring boot，解决打包的问题-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.5.9</version>
    </parent>

    <groupId>com.freelancer</groupId>
    <artifactId>framework</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>core</module>
        <module>plugin</module>
        <module>external</module>
        <module>biz-module</module>
        <module>test</module>
        <module>framework-parent</module>
    </modules>

    <description>基础 bom 文件，管理整个项目的依赖版本</description>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>

        <spring.boot.version>3.5.9</spring.boot.version>
        <mybatis-plus.version>3.5.15</mybatis-plus.version>
        <mybatis-plus-generator.version>3.5.15</mybatis-plus-generator.version>
        <mybatis-plus-join.version>1.5.6</mybatis-plus-join.version>
        <dynamic-datasource-spring-boot-starter.version>4.3.0</dynamic-datasource-spring-boot-starter.version>
        <redisson.version>3.18.0</redisson.version>

        <druid.spring.version>1.2.23</druid.spring.version>
        <flyway.version>5.2.1</flyway.version>

        <!--        utils -->
        <hutool.version>5.8.44</hutool.version>
        <lombok.version>1.18.30</lombok.version>
        <velocity.version>2.3</velocity.version>
        <easyexcel.verion>3.3.2</easyexcel.verion>
        <fastjson.version>1.2.83</fastjson.version>
        <guava.version>33.5.0-jre</guava.version>
        <okhttp3.version>4.11.0</okhttp3.version>
        <jwt.version>0.9.1</jwt.version>

        <!-- thirdparty-->
        <weixin-java.version>4.5.0</weixin-java.version>
        <servlet.versoin>6.1.0</servlet.versoin>
        <minio.version>8.5.4</minio.version>
        <aliyun-oss-version>3.17.2</aliyun-oss-version>
        <mybatis-plus-join.version>1.4.10</mybatis-plus-join.version>
        <sofa.ark.version>2.2.16</sofa.ark.version>

        <nacos.client.version>0.2.12</nacos.client.version>
        <forest.version>1.6.4</forest.version>

        <!--        git url-->
        <scm.git.url>git@gitee.com:mt-framework/common-framework.git</scm.git.url>
    </properties>

    <scm>
        <connection>scm:git:${scm.git.url}</connection>
        <developerConnection>scm:git:${scm.git.url}</developerConnection>
    </scm>

    <!-- 构件执行deploy命令时，发布到的目的库,根据版本号是否以-SNAPSHOT结束来判断 -->
    <distributionManagement>
        <!-- 项目正式库 -->
        <repository>
            <id>nexus-releases</id>
            <name>nexus-releases</name>
            <url>http://maven.bxmdev.com/nexus/content/repositories/releases/</url>
        </repository>

        <!-- 代码快照版本库（版本号以SNAPSHOT结尾的构件） -->
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>nexus-snapshots</name>
            <url>http://maven.bxmdev.com/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <dependencyManagement>
        <dependencies>
            <!-- 统一依赖管理 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Spring 核心 -->
            <dependency>
                <!-- 用于生成自定义的 Spring @ConfigurationProperties 配置类的说明文件 -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <version>${spring.boot.version}</version>
            </dependency>
            <!-- Web 相关 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${spring.boot.version}</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>

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

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>transmittable-thread-local</artifactId>
                <version>2.14.5</version>
            </dependency>

            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
                <version>${mybatis-plus.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>com.baomidou</groupId>
                <artifactId>mybatis-plus-generator</artifactId> <!-- 代码生成器，使用它解析表结构 -->
                <version>${mybatis-plus-generator.version}</version>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
                <version>${dynamic-datasource-spring-boot-starter.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.jsqlparser</groupId>
                <artifactId>jsqlparser</artifactId>
                <version>5.3</version>
            </dependency>

            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity-engine-core</artifactId>
                <version>${velocity.version}</version>
            </dependency>

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

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

            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-core</artifactId>
                <version>${flyway.version}</version>
            </dependency>

            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio</artifactId>
                <version>${minio.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-core</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-extra</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-http</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-crypto</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-cache</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-poi</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${servlet.versoin}</version>
            </dependency>

            <!-- ali cloud oss -->
            <dependency>
                <groupId>com.aliyun.oss</groupId>
                <artifactId>aliyun-sdk-oss</artifactId>
                <version>${aliyun-oss-version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sdk</groupId>
                <artifactId>alipay-sdk-java</artifactId>
                <version>4.38.212.ALL</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>dysmsapi20170525</artifactId>
                <version>4.1.2</version>
            </dependency>

            <!--            wechat-->
            <dependency>
                <groupId>com.github.binarywang</groupId>
                <artifactId>weixin-java-pay</artifactId>
                <version>4.5.0</version>
            </dependency>
            <dependency>
                <groupId>com.github.binarywang</groupId>
                <artifactId>weixin-java-mp</artifactId>
                <version>4.5.0</version>
            </dependency>

            <!--            monitor-->
            <dependency>
                <groupId>io.micrometer</groupId>
                <artifactId>micrometer-registry-prometheus</artifactId>
                <version>1.12.5</version>
            </dependency>
            <dependency>
                <groupId>io.prometheus</groupId>
                <artifactId>simpleclient_pushgateway</artifactId>
                <version>0.16.0</version>
            </dependency>

            <!--            word and pdf -->
            <dependency>
                <groupId>com.deepoove</groupId>
                <artifactId>poi-tl</artifactId>
                <version>1.12.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>5.2.2</version>
            </dependency>
            <dependency>
                <groupId>com.aspose</groupId>
                <artifactId>aspose-words</artifactId>
                <version>21.1-jdk17-cracked</version>
            </dependency>

            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>2.10</version>
            </dependency>

            <dependency>
                <groupId>com.github.loki4j</groupId>
                <artifactId>loki-logback-appender-jdk8</artifactId>
                <version>1.5.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.13</version>
            </dependency>

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.31</version>
            </dependency>

            <dependency>
                <groupId>com.alibaba.boot</groupId>
                <artifactId>nacos-config-spring-boot-starter</artifactId>
                <version>${nacos.client.version}</version>
            </dependency>

            <dependency>
                <groupId>com.nuonuo</groupId>
                <artifactId>open-sdk</artifactId>
                <version>1.0.5.2</version>
            </dependency>
            <dependency>
                <groupId>com.sun.mail</groupId>
                <artifactId>javax.mail</artifactId>
                <version>1.6.2</version>
            </dependency>

            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
                <version>3.4.3</version>
            </dependency>
            <dependency>
                <groupId>com.dtflys.forest</groupId>
                <artifactId>forest-spring-boot-starter</artifactId>
                <version>${forest.version}</version>
            </dependency>
            <dependency>
                <groupId>com.dtflys.forest</groupId>
                <artifactId>forest-core</artifactId>
                <version>${forest.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>core</artifactId>
                <version>3.5.0</version>
            </dependency>

            <dependency>
                <groupId>org.icepear.echarts</groupId>
                <artifactId>echarts-java</artifactId>
                <version>1.0.7</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-simple</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.ctrip.framework.apollo</groupId>
                <artifactId>apollo-client</artifactId>
                <version>2.2.0</version>
            </dependency>

            <!-- 专有钉钉SDK https://open-portal.on-premises.dingtalk.com/portal/?spm=a2q2b.13441934.0.0.7adf6fbaIAtw5q#/helpdoc?apiType=TOOL_SOURCES&docKey=3355368-->
            <dependency>
                <groupId>taobao-sdk</groupId>
                <artifactId>zwdd-sdk-java</artifactId>
                <version>1.2.0</version>
            </dependency>
            <!-- 钉钉相关版本-->
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>dingtalk</artifactId>
                <version>2.1.42</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>alibaba-dingtalk-service-sdk</artifactId>
                <version>2.0.0</version>
            </dependency>

            <dependency>
                <groupId>com.internetitem</groupId>
                <artifactId>logback-elasticsearch-appender</artifactId>
                <version>1.6</version>
            </dependency>

            <!--             浙江省电子签章相关依赖-->
            <dependency>
                <groupId>com.timevale.sealplatform</groupId>
                <artifactId>seal-platform-sdk</artifactId>
                <version>1.1.9-RELEASE</version>
            </dependency>
            <dependency>
                <groupId>com.timevale</groupId>
                <artifactId>tgOfdSignUtils</artifactId>
                <version>1.0.33-RELEASE</version>
            </dependency>
            <dependency>
                <groupId>com.timevale</groupId>
                <artifactId>gmSignDataUtils</artifactId>
                <version>1.0.8-RELEASE</version>
            </dependency>
            <dependency>
                <groupId>timevale</groupId>
                <artifactId>tgtext</artifactId>
                <version>3.3.68-RELEASE</version>
            </dependency>
            <dependency>
                <groupId>com.timevale</groupId>
                <artifactId>smUtil</artifactId>
                <version>1.3.3-RELEASE</version>
            </dependency>
            <dependency>
                <groupId>timevale-utils</groupId>
                <artifactId>timevale-utils-basic</artifactId>
                <version>3.0.11</version>
            </dependency>

            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>1.59</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcpkix-jdk15on</artifactId>
                <version>1.59</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.10.0</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/jakarta.el/jakarta.el-api -->
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>6.0.1</version>
            </dependency>
            <dependency>
                <groupId>javax.el</groupId>
                <artifactId>javax.el-api</artifactId>
                <version>3.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.el</artifactId>
                <version>3.0.0</version>
            </dependency>
            <dependency>
                <groupId>io.github.openfeign</groupId>
                <artifactId>feign-core</artifactId>
                <version>9.5.0</version>
            </dependency>
            <dependency>
                <groupId>io.github.openfeign</groupId>
                <artifactId>feign-gson</artifactId>
                <version>9.5.0</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>pdfbox</artifactId>
                <version>3.0.3</version>
            </dependency>

            <dependency>
                <groupId>com.github.whvcse</groupId>
                <artifactId>easy-captcha</artifactId>
                <version>1.6.2</version>
            </dependency>

            <!-- sofa ark-->
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-ark-springboot-starter</artifactId>
                <version>${sofa.ark.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-ark-all</artifactId>
                <version>${sofa.ark.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-ark-api</artifactId>
                <version>${sofa.ark.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>web-ark-plugin</artifactId>
                <version>${sofa.ark.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>