<?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">
    <parent>
        <groupId>cn.icframework</groupId>
        <artifactId>ic-framework</artifactId>
        <version>1.0.1</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ic-framework-dependencies</artifactId>
    <packaging>pom</packaging>
    <name>ic-framework-dependencies</name>
    <description>依赖版本统一管理</description>
    <properties>
        <java.version>21</java.version>
        <ic-framework-version>1.0.1</ic-framework-version>
        <spring-boot-version>3.5.3</spring-boot-version>
        <codec-version>1.18.0</codec-version>
        <lang3-version>3.18.0</lang3-version>
        <spring-tx-version>7.0.0-M6</spring-tx-version>
        <jwt-version>4.5.0</jwt-version>
        <caffeine-version>3.2.1</caffeine-version>
        <fastjson-version>2.0.57</fastjson-version>
        <validation-version>3.5.3</validation-version>
        <jakarta-validation-version>3.1.1</jakarta-validation-version>
        <lombok-version>1.18.38</lombok-version>
        <mysql-version>9.2.0</mysql-version>
        <okhttp-version>4.12.0</okhttp-version>
        <snakeyaml-version>2.0</snakeyaml-version>
        <mybatis-version>3.0.4</mybatis-version>
        <redis-version>3.1.0</redis-version>
        <kaptcha-version>2.3.2</kaptcha-version>
        <agent-utils-version>1.21</agent-utils-version>
        <ip2region-version>2.7.0</ip2region-version>
        <lettuce-version>6.7.1.RELEASE</lettuce-version>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <junit-jupiter-version>5.10.0</junit-jupiter-version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-gen</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-cache</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-dber</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-mybatis-processor</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-spring-boot-starter</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-core</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-common</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-auth</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-gen-template</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>

            <!--事务管理-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring-tx-version}</version>
            </dependency>
            <!-- web 功能 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${spring-boot-version}</version>
            </dependency>
            <!--mybatis 2.3 依赖snakeyaml 1.3 存在反序列化漏洞需要替换为2.0-->
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeyaml-version}</version>
            </dependency>
            <!-- lombok 注解-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok-version}</version>
                <optional>true</optional>
            </dependency>
            <!-- 编码解码工具-->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${codec-version}</version>
            </dependency>
            <!--各种类型工具包-->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${lang3-version}</version>
            </dependency>
            <!--jwt token 工具-->
            <dependency>
                <groupId>com.auth0</groupId>
                <artifactId>java-jwt</artifactId>
                <version>${jwt-version}</version>
            </dependency>
            <!--本机缓存-->
            <dependency>
                <groupId>com.github.ben-manes.caffeine</groupId>
                <artifactId>caffeine</artifactId>
                <version>${caffeine-version}</version>
            </dependency>
            <!--json工具-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson-version}</version>
            </dependency>
            <!--数据校验-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-validation</artifactId>
                <version>${validation-version}</version>
            </dependency>
            <!--mysql-->
            <dependency>
                <groupId>com.mysql</groupId>
                <artifactId>mysql-connector-j</artifactId>
                <version>${mysql-version}</version>
            </dependency>
            <!--网络请求-->
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${okhttp-version}</version>
            </dependency>
            <!-- Lettuce 客户端 -->
            <dependency>
                <groupId>io.lettuce</groupId>
                <artifactId>lettuce-core</artifactId>
                <version>${lettuce-version}</version>
            </dependency>
            <!-- 测试依赖 -->
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter</artifactId>
                <version>${junit-jupiter-version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-annotation</artifactId>
                <version>${ic-framework-version}</version>
            </dependency>
            <dependency>
                <groupId>cn.icframework</groupId>
                <artifactId>ic-framework-mybatis</artifactId>
                <version>${ic-framework-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>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
                <version>${redis-version}</version>
            </dependency>
            <dependency>
                <groupId>eu.bitwalker</groupId>
                <artifactId>UserAgentUtils</artifactId>
                <version>${agent-utils-version}</version>
            </dependency>
            <dependency>
                <groupId>org.lionsoul</groupId>
                <artifactId>ip2region</artifactId>
                <version>${ip2region-version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${jakarta-validation-version}</version>
            </dependency>
            <!-- Spring Boot 配置处理器 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <version>${spring-boot-version}</version>
                <optional>true</optional>
            </dependency>
            <!-- Spring Boot 自动配置 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-autoconfigure</artifactId>
                <version>${spring-boot-version}</version>
            </dependency>
            <!-- Spring Boot Starter -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
                <version>${spring-boot-version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>