<?xml version="1.0" encoding="UTF-8"?>
<!--
    xingge-core-tool 核心模块
    
    功能说明：
    - 为各个服务类提供基础支持
    - 包含通用工具类、常量定义、异常处理等
    - 提供统一的配置管理和基础组件
    - 作为其他业务模块的基础依赖
    
    使用方式：
    在需要使用核心功能的模块中添加依赖：
    <dependency>
        <groupId>tech.msop</groupId>
        <artifactId>xingge-core</artifactId>
    </dependency>
-->
<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>

    <!-- 继承父项目 -->
    <parent>
        <groupId>tech.msop</groupId>
        <artifactId>xingge</artifactId>
        <version>0.0.2</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <!-- 当前模块信息 -->
    <artifactId>xingge-core-tool</artifactId>
    <packaging>jar</packaging>
    <name>xingge-core-tool</name>
    <description>行歌项目核心模块，为各个服务类提供基础支持</description>

    <!-- 模块属性配置 -->
    <properties>
        <!-- 编译配置 -->
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>

        <!-- 自动配置 -->
        <dependency>
            <groupId>tech.msop</groupId>
            <artifactId>xingge-core-auto</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- Spring Web - 提供Web相关注解和功能 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- Jackson -->
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-jaxb-annotations</artifactId>
        </dependency>
        <!-- Guava -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </dependency>
        <!-- Swagger -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>io.swagger</groupId>
                    <artifactId>swagger-models</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
        </dependency>
        <!-- protostuff -->
        <dependency>
            <groupId>io.protostuff</groupId>
            <artifactId>protostuff-core</artifactId>
        </dependency>
        <dependency>
            <groupId>io.protostuff</groupId>
            <artifactId>protostuff-runtime</artifactId>
        </dependency>
        <!-- Validation - 版本由BOM管理 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
    </dependencies>

</project>