<?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.tcbj</groupId>
    <artifactId>tang-framework</artifactId>
    <!-- 版本升级: 适配Spring Boot 3，大版本号改为3.x -->
    <version>3.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>tang-framework-dto</module>
        <module>tang-framework-web</module>
        <module>tang-framework-exception</module>
        <module>tang-framework-jdbc</module>
        <module>tang-framework-util</module>
        <module>tang-framework-ms-loadbalance</module>
        <module>tang-framework-bpm</module>
    </modules>

    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <url>http://192.168.100.230:8081/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <url>http://192.168.100.230:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- Java版本升级到17，Spring Boot 3必须 -->
        <java.version>21</java.version>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        
        <!-- Spring Boot 3.2.x -->
        <spring-boot.version>3.2.5</spring-boot.version>
        <!-- Spring Cloud 2023.x，兼容Spring Boot 3.2 -->
        <spring-cloud.version>2023.0.1</spring-cloud.version>
        <!-- Spring Cloud Alibaba 2023.x，兼容Spring Boot 3.2 -->
        <spring-alicloud.version>2023.0.1.0</spring-alicloud.version>
        
        <!-- OpenAPI 3注解，替代旧版Swagger -->
        <swagger.version>2.2.21</swagger.version>
        <!-- SpringDoc OpenAPI，提供Swagger UI和API文档自动生成 -->
        <springdoc.version>2.5.0</springdoc.version>
        
        <feign-okhttp.version>13.2.1</feign-okhttp.version>
        <okhttp.version>4.12.0</okhttp.version>
        <mapstruct.version>1.5.5.Final</mapstruct.version>
        <mapstruct-process.version>1.5.5.Final</mapstruct-process.version>
        <poi.version>5.2.5</poi.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <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>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-alicloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- OpenAPI 3注解，替代旧版io.swagger:swagger-annotations -->
            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <!-- SpringDoc OpenAPI Starter，提供Swagger UI和API文档自动生成 -->
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
                <version>${springdoc.version}</version>
            </dependency>
            <dependency>
                <groupId>io.github.openfeign</groupId>
                <artifactId>feign-okhttp</artifactId>
                <version>${feign-okhttp.version}</version>
            </dependency>
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${okhttp.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct</artifactId>
                <version>${mapstruct.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-processor</artifactId>
                <version>${mapstruct-process.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-stdlib</artifactId>
                <version>1.9.22</version>
            </dependency>
            <!-- POI版本管理 -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${poi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${poi.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>
