<?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.yifu.cloud.plus.v1</groupId>
    <artifactId>yifu-common-bom</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.3.19</version>
            <scope>compile</scope>
        </dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>RELEASE</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core</artifactId>
			<version>5.6.3</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>com.yifu.cloud.plus.v1</groupId>
			<artifactId>yifu-common-core</artifactId>
		</dependency>
		<dependency>
			<groupId>jakarta.validation</groupId>
			<artifactId>jakarta.validation-api</artifactId>
			<version>2.0.2</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>com.yifu.cloud.plus.v1</groupId>
			<artifactId>yifu-common-security</artifactId>
		</dependency>
	</dependencies>
    <packaging>pom</packaging>

    <name>yifu-common-bom</name>
    <url>yifu cloud parent</url>
    <description>yifu cloud parent</description>

    <properties>
        <yifu.common.version>${project.version}</yifu.common.version>
        <spring-boot.version>2.6.7</spring-boot.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <security.oauth.version>2.1.8.RELEASE</security.oauth.version>
        <log4j2.version>2.17.1</log4j2.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <git.commit.plugin>4.9.9</git.commit.plugin>
        <spring.checkstyle.plugin>0.0.29</spring.checkstyle.plugin>
        <fastjson.version>1.2.78</fastjson.version>
        <springdoc.version>1.6.6</springdoc.version>
        <swagger.core.version>2.2.0</swagger.core.version>
        <mybatis-plus.version>3.5.1</mybatis-plus.version>
		<mysql.version>8.0.29</mysql.version>
		<seata.version>1.4.2</seata.version>
        <asm.version>7.1</asm.version>
        <oss.version>1.0.4</oss.version>
        <sms.version>2.0.2</sms.version>
        <jaxb.version>2.3.5</jaxb.version>
		<sentinel.version>1.8.4</sentinel.version>
    </properties>

    <!-- 定义全局jar版本,模块使用需要再次引入但不用写版本号-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-common-core</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-common-datasource</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-common-job</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-common-log</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-common-mybatis</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-common-security</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-common-swagger</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-common-seata</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-common-test</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
            <dependency>
                <groupId>com.yifu.cloud.plus.v1</groupId>
                <artifactId>yifu-upms-api</artifactId>
                <version>${yifu.common.version}</version>
            </dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql.version}</version>
			</dependency>
            <!--稳定版本，替代spring security bom内置-->
            <dependency>
                <groupId>org.springframework.security.oauth.boot</groupId>
                <artifactId>spring-security-oauth2-autoconfigure</artifactId>
                <version>${security.oauth.version}</version>
            </dependency>
            <!--springdoc -->
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-webmvc-core</artifactId>
                <version>${springdoc.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger.core.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-webflux-ui</artifactId>
                <version>${springdoc.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-security</artifactId>
                <version>${springdoc.version}</version>
            </dependency>
            <!--fastjson 版本-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
            <!--  阿里云短信下发 -->
            <dependency>
                <groupId>io.springboot.sms</groupId>
                <artifactId>aliyun-sms-spring-boot-starter</artifactId>
                <version>${sms.version}</version>
            </dependency>
            <!--oss-->
            <dependency>
                <groupId>com.pig4cloud.plugin</groupId>
                <artifactId>oss-spring-boot-starter</artifactId>
                <version>${oss.version}</version>
            </dependency>
            <!--  seata kryo 序列化-->
            <dependency>
                <groupId>io.seata</groupId>
                <artifactId>seata-serializer-kryo</artifactId>
                <version>${seata.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <!--orm 相关-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-extension</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-annotation</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>
            <!--web 模块-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${spring-boot.version}</version>
                <exclusions>
                    <!--排除tomcat依赖-->
                    <exclusion>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                        <groupId>org.springframework.boot</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!--  指定 log4j 版本-->
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-to-slf4j</artifactId>
                <version>${log4j2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-bom</artifactId>
                <version>${log4j2.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
			<dependency>
				<groupId>com.alibaba.csp</groupId>
				<artifactId>sentinel-core</artifactId>
				<version>${sentinel.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>com.alibaba.csp</groupId>
				<artifactId>sentinel-web-servlet</artifactId>
				<version>${sentinel.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>com.alibaba.csp</groupId>
				<artifactId>sentinel-transport-simple-http</artifactId>
				<version>${sentinel.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>com.alibaba.csp</groupId>
				<artifactId>sentinel-parameter-flow-control</artifactId>
				<version>${sentinel.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>com.alibaba.csp</groupId>
				<artifactId>sentinel-api-gateway-adapter-common</artifactId>
				<version>${sentinel.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <!--打包jar 与git commit 关联插件-->
            <plugin>
                <groupId>io.github.git-commit-id</groupId>
                <artifactId>git-commit-id-maven-plugin</artifactId>
                <version>${git.commit.plugin}</version>
            </plugin>
            <!--代码格式插件，默认使用spring 规则-->
            <plugin>
                <groupId>io.spring.javaformat</groupId>
                <artifactId>spring-javaformat-maven-plugin</artifactId>
                <version>${spring.checkstyle.plugin}</version>
            </plugin>
        </plugins>
    </build>
</project>
