<?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.css</groupId>
    <artifactId>simulation-cloud</artifactId>
    <version>1.0</version>
    <!-- 设置打包方式为 pom，而非默认的 jar -->
    <packaging>pom</packaging>

    <!-- 子模块 -->
    <modules>
        <module>api-common</module>
        <module>simulation-gateway</module>
        <module>simulation-oauth-server</module>
        <module>simulation-oauth-client</module>
        <module>simulation-resource-scheduler</module>
        <module>simulation-resource-server</module>
        <module>simulation-resource-common</module>
        <module>simulation-resource-monitor</module>
        <module>simulation-resource-scene</module>
        <module>simulation-resource-video</module>
        <module>simulation-resource-sms</module>
    </modules>


    <!-- 统一版本 -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <!-- 基础 -->
        <spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
        <spring-boot.version>2.4.2</spring-boot.version>
        <spring-cloud.version>2020.0.1</spring-cloud.version>
        <!-- 权限认证 -->
        <spring-cloud-starter-security.version>2.2.5.RELEASE</spring-cloud-starter-security.version>
        <spring-cloud-starter-oauth2.version>2.2.5.RELEASE</spring-cloud-starter-oauth2.version>
        <!-- 数据库 -->
        <pagehelper-starter.version>1.4.1</pagehelper-starter.version>
        <mybatis-spring-boot-starter.version>2.2.1</mybatis-spring-boot-starter.version>
        <druid-spring-boot-starter.version>1.2.8</druid-spring-boot-starter.version>
        <mysql-connector-java.version>5.1.49</mysql-connector-java.version>
        <!-- 消息队列 -->
        <kafka-clients.version>3.1.0</kafka-clients.version>
        <!-- 其他 -->
        <commons-pool2.version>2.11.1</commons-pool2.version>
        <japidocs.version>1.4.4</japidocs.version>
        <junit.version>4.12</junit.version>
        <log4j.version>1.2.17</log4j.version>
        <lombok.version>1.18.22</lombok.version>
        <logback-classic.version>1.2.10</logback-classic.version>
        <jjwt.version>0.9.1</jjwt.version>
        <httpclient.version>4.5.13</httpclient.version>
        <minio.version>8.3.5</minio.version>
        <okhttp.version>4.9.3</okhttp.version>
        <kubernetes-client.version>15.0.1</kubernetes-client.version>
        <snakeyaml.version>1.30</snakeyaml.version>
        <docker-java.version>3.2.13</docker-java.version>
        <itextpdf.version>5.5.13.3</itextpdf.version>
        <itext-asian.version>5.2.0</itext-asian.version>
        <jfreechart.version>1.5.0</jfreechart.version>
    </properties>


    <!--子模块继承之后，提供作用：锁定版本 + 子 module 不用谢 groupId 和 version-->
    <dependencyManagement>
        <dependencies>
            <!-- 解决依赖冲突 -->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback-classic.version}</version>
            </dependency>

            <!-- pdf - 开始 -->
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>itextpdf</artifactId>
                <version>${itextpdf.version}</version>
            </dependency>
            <dependency>
                <groupId>com.itextpdf</groupId>
                <artifactId>itext-asian</artifactId>
                <version>${itext-asian.version}</version>
            </dependency>
            <!-- pdf - 结束 -->

            <!-- 饼图 - 开始 -->
            <dependency>
                <groupId>org.jfree</groupId>
                <artifactId>jfreechart</artifactId>
                <version>${jfreechart.version}</version>
            </dependency>
            <!-- 饼图 - 结束 -->

            <!-- docker 客户端 -->
            <dependency>
                <groupId>com.github.docker-java</groupId>
                <artifactId>docker-java</artifactId>
                <version>${docker-java.version}</version>
            </dependency>


            <!-- kubernetes 客户端 -  开始 -->
            <dependency>
                <groupId>io.kubernetes</groupId>
                <artifactId>client-java</artifactId>
                <version>${kubernetes-client.version}</version>
            </dependency>
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeyaml.version}</version>
            </dependency>
            <!-- kubernetes 客户端 -  结束 -->

            <!-- 缓存 - 开始 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
                <version>${spring-boot.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-pool2</artifactId>
                <version>${commons-pool2.version}</version>
            </dependency>
            <!-- 缓存 - 结束 -->
            <!-- minio - 开始 -->
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${okhttp.version}</version>
            </dependency>
            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio</artifactId>
                <version>${minio.version}</version>
            </dependency>
            <!-- minio - 结束 -->

            <!-- kafka -->
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>${kafka-clients.version}</version>
            </dependency>

            <!-- http 客户端 -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>

            <!-- 权限认证 - 开始 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-security</artifactId>
                <version>${spring-cloud-starter-security.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-oauth2</artifactId>
                <version>${spring-cloud-starter-oauth2.version}</version>
            </dependency>
            <!-- 权限认证 - 结束 -->


            <!--            &lt;!&ndash; api 文档 &ndash;&gt;-->
            <!--            <dependency>-->
            <!--                <groupId>io.github.yedaxia</groupId>-->
            <!--                <artifactId>japidocs</artifactId>-->
            <!--                <version>${japidocs.version}</version>-->
            <!--            </dependency>-->

            <!-- 数据库 - 开始 -->
            <!-- page helper -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper-starter.version}</version>
            </dependency>
            <!-- mybatis-starter -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis-spring-boot-starter.version}</version>
            </dependency>

            <!-- druid 数据库连接池 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid-spring-boot-starter.version}</version>
            </dependency>

            <!-- mysql 驱动 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector-java.version}</version>
            </dependency>
            <!-- 数据库 - 结束 -->


            <!-- 其他 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>


            <!-- lombok -->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>
            <!-- 测试 - 开始 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <version>${spring-boot.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <!-- 测试 - 结束 -->
            <!-- log4j -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>3.0.0</version>
                <type>maven-plugin</type>
            </dependency>

        </dependencies>

    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                    <addResources>true</addResources>
                </configuration>
                <version>${spring-boot.version}</version>
            </plugin>
        </plugins>
    </build>
</project>
