<?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.qiaoba</groupId>
    <artifactId>qiaoba-boot</artifactId>
    <packaging>pom</packaging>
    <version>1.0</version>
    <modules>
        <module>qiaoba-modules</module>
        <module>qiaoba-apis</module>
        <module>qiaoba-commons</module>
        <module>qiaoba-application</module>
        <module>qiaoba-auth</module>
    </modules>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.11</version>
        <!-- 解决子模块继承不到父模块中dependencyManagement中包的version信息 -->
        <relativePath/>
    </parent>

    <properties>
        <!-- 项目统一字符集编码:UTF-8 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- maven的一些插件输出文件时的字符编码:UTF-8 -->
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- jdk版本:8 -->
        <java.version>8</java.version>
        <!-- 不执行且不编译测试用例 -->
        <maven.test.skip>true</maven.test.skip>
        <!-- 项目模块版本 -->
        <qiaoba.version>1.0</qiaoba.version>
        <!-- 阿里巴巴数据源 -->
        <druid.version>1.2.17</druid.version>
        <!-- HuTool工具包 -->
        <hutool.version>5.8.18</hutool.version>
        <!-- mysql驱动 -->
        <mysql-connector.version>8.0.33</mysql-connector.version>
        <!-- mybatis -->
        <mybatisplus-spring-boot.version>3.5.3.1</mybatisplus-spring-boot.version>
        <!-- easy poi -->
        <easypoi.version>4.4.0</easypoi.version>
        <!-- knife4接口文档 -->
        <knife4j.version>4.0.0</knife4j.version>
        <!-- spring doc -->
        <springdoc.version>1.6.14</springdoc.version>
        <!-- 数据校验 -->
        <jakarta.version>3.0.2</jakarta.version>
        <!-- ip离线库 -->
        <ip2region.version>2.7.0</ip2region.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- 阿里巴巴数据源 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <!-- HuTool工具包 -->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <!-- easy poi -->
            <dependency>
                <groupId>cn.afterturn</groupId>
                <artifactId>easypoi-spring-boot-starter</artifactId>
                <version>${easypoi.version}</version>
            </dependency>
            <!-- knife4接口文档 -->
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
                <version>${knife4j.version}</version>
            </dependency>
            <!-- spring doc -->
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-ui</artifactId>
                <version>${springdoc.version}</version>
            </dependency>
            <!-- mysql驱动 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector.version}</version>
            </dependency>
            <!-- mybatis plus -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatisplus-spring-boot.version}</version>
            </dependency>
            <!-- 数据校验 -->
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${jakarta.version}</version>
            </dependency>
            <!-- ip离线库 -->
            <dependency>
                <groupId>org.lionsoul</groupId>
                <artifactId>ip2region</artifactId>
                <version>${ip2region.version}</version>
            </dependency>
            <!-- ======================== system module ======================== -->
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-module-tenant</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-auth</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-module-system</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-module-file</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-module-monitor</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-common-base</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-common-datasource</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-common-web</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-api-system</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-common-doc</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-common-poi</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-api-auth</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-common-redis</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
            <dependency>
                <groupId>com.qiaoba</groupId>
                <artifactId>qiaoba-api-file</artifactId>
                <version>${qiaoba.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- 所有的子项目默认依赖 -->
    <dependencies>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <!-- maven打包工具 -->
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <!-- 配置阿里云 Maven仓库 -->
    <repositories>
        <repository>
            <id>public</id>
            <name>阿里云</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>public</id>
            <name>阿里云</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

</project>
