<?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>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.0</version>
        <relativePath/> <!-- 或者默�?-->
    </parent>

    <groupId>com.storlead.boot</groupId>
    <artifactId>storlead-saas-platform</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>
    <name>storlead-saas-platform</name>

    <modules>
        <module>java/storlead-dependencies</module>
        <module>java/storlead-framework</module>
        <module>java/storlead-api</module>
        <module>java/storlead-message</module>
        <module>java/storlead-sms</module>
        <module>java/storlead-system</module>
        <module>java/storlead-es</module>
        <module>java/storlead-sasa</module>
        <module>java/storlead-user</module>
        <module>java/storlead-knowledge</module>
        <module>java/storlead-thirdparty</module>
        <module>java/storlead-mail</module>
    </modules>

    <properties>
        <revision>1.0</revision>
        <java.version>11</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <!-- 全局配置项目版本 -->
        <jwt.version>0.9.1</jwt.version>
        <commons.version>2.6</commons.version>
        <!-- 表示打包时跳过mvn test -->
        <maven.test.skip>true</maven.test.skip>
        <aviator.version>5.2.7</aviator.version>
        <io.jsonwebtoken.version>0.9.1</io.jsonwebtoken.version>
        <logstash-logback.version>6.6</logstash-logback.version>

        <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
        <maven-compiler-plugin.version>3.0</maven-compiler-plugin.version>
        <flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
        <spring.boot.version>2.7.0</spring.boot.version>
        <mapstruct.version>1.6.3</mapstruct.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring.boot.starter.parent>2.7.0</spring.boot.starter.parent>
        <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>
        <!--  redis -->
        <redisson.version>3.6.5</redisson.version>
        <httpclient.version>4.5.3</httpclient.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>
        <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.java.jwt.version>3.7.0</io.jsonwebtoken.java.jwt.version>
        <cn.stylefeng.pinyin4j.version>7.2.3</cn.stylefeng.pinyin4j.version>
    </properties>

<!--    <dependencyManagement>-->
<!--        <dependencies>-->
<!--            <dependency>-->
<!--                <groupId>com.storlead.boot</groupId>-->
<!--                <artifactId>storlead-dependencies</artifactId>-->
<!--                <version>1.0</version>-->
<!--                <type>pom</type>-->
<!--                <scope>import</scope>-->
<!--            </dependency>-->
<!--        </dependencies>-->
<!--    </dependencyManagement>-->

    <dependencyManagement>
        <dependencies>
            <!-- 统一三方依赖版本入口 -->
            <dependency>
                <groupId>com.storlead.boot</groupId>
                <artifactId>storlead-dependencies</artifactId>
                <version>${revision}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-framework</artifactId>
            <version>${revision}</version>
            <type>pom</type>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-core</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-auth</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-redis</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-web</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-system-core</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-system-spi</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-system-biz</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-system-api</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-message-api</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-message-core</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-message-spi</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-message-biz</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-es-core</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-es-spi</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-es-biz</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-es-api</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-sms</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-sms-core</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-sms-spi</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-sms-biz</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-sms-api</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-user-core</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-user-spi</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-user-api</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-user-biz</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-knowledge-core</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-knowledge-spi</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-knowledge-biz</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-knowledge-api</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-thirdparty-api</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-thirdparty-spi</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-thirdparty-biz</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-thirdparty-wecom</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-thirdparty-dingtalk</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-customer</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-sales</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-mail-core</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-mail-spi</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-mail-biz</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-mail-api</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-marketing</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-acquisition</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-mybatis</artifactId>
            <version>${revision}</version>
        </dependency>

        <dependency>
            <groupId>com.storlead.boot</groupId>
            <artifactId>storlead-common</artifactId>
            <version>${revision}</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.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.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>

        <!--  pinyin4j  -->
        <dependency>
            <groupId>cn.stylefeng.roses</groupId>
            <artifactId>pinyin-sdk-pinyin4j</artifactId>
            <version>${cn.stylefeng.pinyin4j.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.redisson</groupId>
            <artifactId>redisson</artifactId>
            <version>${redisson.version}</version>
        </dependency>

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

        <!--HttpClient-->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>${httpclient.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>



<!--            <dependency>-->
<!--                <groupId>com.aliyun</groupId>-->
<!--                <artifactId>credentials-java</artifactId>-->
<!--                <version>0.3.4</version>-->
<!--            </dependency>-->

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


<!--            <dependency>-->
<!--                <groupId>com.aliyun.kms</groupId>-->
<!--                <artifactId>kms-transfer-client</artifactId>-->
<!--                <version>0.1.0</version>-->
<!--            </dependency>-->

<!--            <dependency>-->
<!--                <groupId>com.aliyun</groupId>-->
<!--                <artifactId>sts20150401</artifactId>-->
<!--                <version>1.1.6</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>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>${guava.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
            <version>${springdoc.version}</version>
        </dependency>
    </dependencies>
    </dependencyManagement>
    <build>
        <pluginManagement>
            <plugins>
                <!-- maven-surefire-plugin 插件，用于运行单元测试�?-->
                <!-- 注意，需要使�?3.0.X+，因为要支持 Junit 5 版本 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                </plugin>
                <!-- maven-compiler-plugin 插件，解�?spring-boot-configuration-processor + Lombok + MapStruct 组合 -->
                <!-- https://stackoverflow.com/questions/33483697/re-run-spring-boot-configuration-annotation-processor-to-update-generated-metada -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven-compiler-plugin.version}</version>
                    <configuration>
<!--                        <configuration>-->
<!--                            <source>17</source>-->
<!--                            <target>17</target>-->
<!--                        </configuration>-->
<!--                        <annotationProcessorPaths>-->
<!--                            <path>-->
<!--                                <groupId>org.springframework.boot</groupId>-->
<!--                                <artifactId>spring-boot-configuration-processor</artifactId>-->
<!--                                <version>${spring.boot.version}</version>-->
<!--                            </path>-->
<!--                            <path>-->
<!--                                <groupId>org.projectlombok</groupId>-->
<!--                                <artifactId>lombok</artifactId>-->
<!--                                <version>${lombok.version}</version>-->
<!--                            </path>-->
<!--                            <path>-->
<!--                                <groupId>org.mapstruct</groupId>-->
<!--                                <artifactId>mapstruct-processor</artifactId>-->
<!--                                <version>${mapstruct.version}</version>-->
<!--                            </path>-->
<!--                        </annotationProcessorPaths>-->
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>


    <repositories>
        <repository>
            <id>aliyunmaven</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </repository>

        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>
</project>
