<?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>org.jeeplus</groupId>
    <artifactId>jeeplus</artifactId>
    <version>9.0</version>
    <packaging>pom</packaging>
    <name>jeeplus cloud</name>

    <modules>
        <!--添加插件模块-->
        <module>jeeplus-gateway</module>
        <module>jeeplus-auth</module>
        <module>jeeplus-api</module>
        <module>jeeplus-common</module>
        <module>jeeplus-modules</module>

    </modules>


    <licenses>
        <license>
            <name>CUA License</name>
            <url>http://www.jeeplus.org/license</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <organization>
        <name>jeeplus</name>
        <url>http://www.jeeplus.org</url>
    </organization>
    <developers>
        <developer>
            <id>jeeplus</id>
            <name>liugaofeng</name>
            <url>http://www.jeeplus.org</url>
            <organization>jeeplus</organization>
            <organizationUrl>http://www.jeeplus.org</organizationUrl>
        </developer>
    </developers>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <knife4j.version>2.0.8</knife4j.version>
        <protostuff.version>1.6.0</protostuff.version>
        <captcha.version>1.6.2</captcha.version>
        <easyexcel.version>2.2.6</easyexcel.version>
        <mica.auto.version>1.2.5</mica.auto.version>
        <alibaba.cloud.version>2.2.5.RELEASE</alibaba.cloud.version>
        <alibaba.nacos.version>2.0.0</alibaba.nacos.version>
        <spring.boot.admin.version>2.5.1</spring.boot.admin.version>
        <spring.plugin.version>2.0.0.RELEASE</spring.plugin.version>

        <spring.boot.version>2.4.4</spring.boot.version>
        <spring.cloud.version>2020.0.2</spring.cloud.version>
        <spring.cloud.alibaba.version>2021.1</spring.cloud.alibaba.version>
        <mapstruct.version>1.4.2.Final</mapstruct.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>


        <!-- Plugin versions -->
        <maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
        <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
        <maven-eclipse-plugin.version>2.10</maven-eclipse-plugin.version>
        <maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
        <maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version>
        <maven-idea-plugin.version>2.2.1</maven-idea-plugin.version>
        <maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
        <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
        <maven-war-plugin.version>3.3.1</maven-war-plugin.version>
        <maven-checkstyle.version>3.1.2</maven-checkstyle.version>
        <checkstyle.version>8.41.1</checkstyle.version>
        <spring-nohttp-checkstyle.version>0.0.5.RELEASE</spring-nohttp-checkstyle.version>
        <git-commit-id-plugin.version>4.0.4</git-commit-id-plugin.version>
        <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
        <jib-maven-plugin.version>2.8.0</jib-maven-plugin.version>
        <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
        <properties-maven-plugin.version>1.0.0</properties-maven-plugin.version>
        <sonar-maven-plugin.version>3.8.0.2131</sonar-maven-plugin.version>
        <xxl-job-core.version>2.3.1</xxl-job-core.version>
        <mybatis-spring-boot-starter.version>2.1.4</mybatis-spring-boot-starter.version>
        <mysql-connector-java.version>8.0.24</mysql-connector-java.version>
        <minio.version>8.0.3</minio.version>
        <aliyun-sdk-oss.version>3.13.1</aliyun-sdk-oss.version>
        <commons-fileupload.version>1.3.3</commons-fileupload.version>
        <okhttp.version>4.9.0</okhttp.version>
        <springfox.boot>3.0.0</springfox.boot>
        <hutool.version>5.7.13</hutool.version>
        <kaptcha.version>2.3.2</kaptcha.version>
        <cas.version>3.5.1</cas.version>
        <mybatis-plus-boot-starter.version>3.4.2</mybatis-plus-boot-starter.version>
        <easyexcel.version>3.1.1</easyexcel.version>
        <mapstruct.version>1.4.2.Final</mapstruct.version>
        <aliyun-java-sdk-core.version>4.5.25</aliyun-java-sdk-core.version>
        <aliyun-java-sdk-dysmsapi.version>2.1.0</aliyun-java-sdk-dysmsapi.version>
        <guava.version>29.0-jre</guava.version>
        <commons-lang3.version>3.12.0</commons-lang3.version>
        <javax.servlet-ap.version>3.1.0</javax.servlet-ap.version>
        <json-lib.version>2.4</json-lib.version>
        <ddlutils.version>1.3</ddlutils.version>
        <jwt.version>3.4.0</jwt.version>
        <jackson.version>2.11.3</jackson.version>
        <lombok.version>1.18.24</lombok.version>
        <jtds.version>1.3.1</jtds.version>
        <druid-spring-boot-starter.version>1.2.8</druid-spring-boot-starter.version>
        <p6spy.version>3.9.1</p6spy.version>
        <dynamic-datasource-spring-boot-starter.version>3.5.1</dynamic-datasource-spring-boot-starter.version>
        <spring-boot-admin-starter-server.version>2.5.1</spring-boot-admin-starter-server.version>
        <reactor-netty.version>1.0.5</reactor-netty.version>
        <flowable.version>6.7.2</flowable.version>
        <liquibase.version>4.3.5</liquibase.version>
        <oshi.version>5.3.7</oshi.version>
        <jna.version>5.10.0</jna.version>
        <antlr4-runtime.version>4.5</antlr4-runtime.version>
        <ureport-spring-boot-starter.version>2.2.9</ureport-spring-boot-starter.version>
        <json.version>20160810</json.version>
        <commons-dbcp.version>1.4</commons-dbcp.version>
        <ant.version>1.9.4</ant.version>
        <zxing.core>3.3.3</zxing.core>
        <easypoi-spring-boot-starter.version>4.3.0</easypoi-spring-boot-starter.version>
    </properties>


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.plugin</groupId>
                <artifactId>spring-plugin-core</artifactId>
                <version>${spring.plugin.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.plugin</groupId>
                <artifactId>spring-plugin-metadata</artifactId>
                <version>${spring.plugin.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--Spring Cloud & Alibaba 相关依赖-->
            <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>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-starter-client</artifactId>
                <version>${spring.boot.admin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-boot-starter</artifactId>
                <version>${springfox.boot}</version>
            </dependency>

        </dependencies>

    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </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.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>


    <!-- 设定仓库 -->

    <repositories>
        <repository>
            <id>aliyun-repos</id>
            <url>https://maven.aliyun.com/repository/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>sonatype-repos-s</id>
            <name>Sonatype Repository</name>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>aliyun-repos</id>
            <url>https://maven.aliyun.com/repository/public</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <pluginManagement>
            <plugins>

                <!-- Compiler 插件, 设定JDK版本 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven-compiler-plugin.version}</version>
                    <configuration>
                        <showWarnings>true</showWarnings>
                        <source>8</source>
                        <target>8</target>
                        <encoding>UTF-8</encoding>
                        <annotationProcessorPaths>
                            <path>
                                <groupId>org.mapstruct</groupId>
                                <artifactId>mapstruct-processor</artifactId>
                                <version>${mapstruct.version}</version>
                            </path>
                            <path>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                                <version>1.18.20</version>
                            </path>
                            <path>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok-mapstruct-binding</artifactId>
                                <version>0.2.0</version>
                            </path>
                        </annotationProcessorPaths>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.2</version>
                    <configuration>
                        <skipTests>true</skipTests>    <!--默认关掉单元测试 -->
                    </configuration>
                </plugin>

                <!--&lt;!&ndash; 打包jar文件时，配置manifest文件，加入lib包的jar依赖 &ndash;&gt;-->
                <!--<plugin>-->
                <!--<groupId>org.apache.maven.plugins</groupId>-->
                <!--<artifactId>maven-jar-plugin</artifactId>-->
                <!--<configuration>-->
                <!--<archive>-->
                <!--<addMavenDescriptor>false</addMavenDescriptor>-->
                <!--</archive>-->
                <!--</configuration>-->
                <!--<executions>-->
                <!--<execution>-->
                <!--<configuration>-->
                <!--<archive>-->
                <!--<manifest>-->
                <!--<addDefaultImplementationEntries>true</addDefaultImplementationEntries>-->
                <!--<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>-->
                <!--<addClasspath>true</addClasspath>-->
                <!--</manifest>-->
                <!--</archive>-->
                <!--</configuration>-->
                <!--</execution>-->
                <!--</executions>-->
                <!--</plugin>-->

                <!-- resource插件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                </plugin>

                <!-- install插件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                </plugin>

                <!-- clean插件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                </plugin>

                <!-- dependency插件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                </plugin>


            </plugins>
        </pluginManagement>
        <!-- 资源文件配置 -->
        <resources>
            <resource>
                <directory>src/main/webapp</directory>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.ftl</include>
                </includes>
            </resource>
        </resources>
    </build>

</project>
