<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ovopark</groupId>
    <artifactId>ovopark-openai</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>ovopark-openai-server</module>
        <module>ovopark-openai-sdk</module>
        <module>ovopark-openai-common</module>
    </modules>

    <!-- 核心：统一JDK21+Spring生态版本，适配阿里云MSE Nacos -->
    <properties>
        <java.version>21</java.version>
        <guava.version>32.1.3-jre</guava.version> <!-- 兼容JDK21 -->
        <spring.boot.version>3.2.2</spring.boot.version>
        <spring.cloud.version>2023.0.0</spring.cloud.version>
        <!-- 移除Ribbon（2023.x废弃，改用LoadBalancer） -->
        <lombok.version>1.18.30</lombok.version>
        <commons-pool2.version>2.12.0</commons-pool2.version>
        <apollo-client.version>2.2.0</apollo-client.version>
        <spring-cloud-context.version>4.1.1</spring-cloud-context.version>
        <spring-cloud-starter-openfeign.version>4.1.0</spring-cloud-starter-openfeign.version>
        <!-- 关键：升级到2023.0.1.0（适配Spring Cloud 2023+JDK21+MSE Nacos） -->
        <spring-cloud-alibaba.version>2023.0.1.0</spring-cloud-alibaba.version>
        <mybatis-version>3.5.16</mybatis-version> <!-- 移除SNAPSHOT，稳定版 -->
        <mapstruct.version>1.5.5.Final</mapstruct.version>
        <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version> <!-- 兼容JDK21 -->
        <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
    </properties>

    <!-- 核心：引入Spring Cloud/Alibaba依赖管理，避免版本混乱 -->
    <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>
            <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>
        </dependencies>
    </dependencyManagement>

    <repositories>
        <!-- 改用HTTPS，避免安全警告 -->
        <repository>
            <id>aliyun</id>
            <url>https://maven.aliyun.com/repository/public/</url>
        </repository>
        <repository>
            <id>snapshots</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
        <repository>
            <id>nexus</id>
            <url>https://nexus.ovopark.com/nexus/content/groups/public/</url>
        </repository>
        <repository>
            <id>nexus-releases</id>
            <url>https://nexus.ovopark.com/nexus/content/repositories/releases/</url>
        </repository>
        <repository>
            <id>nexus-snapshots</id>
            <url>https://nexus.ovopark.com/nexus/content/repositories/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>

    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>nexus-releases</name>
            <url>https://admin:admin@nexus.ovopark.com/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>nexus-snapshots</name>
            <url>https://admin:admin@nexus.ovopark.com/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
</project>