<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.6.3</version>
    </parent>
    <groupId>io.gitee.hjzq</groupId>
    <artifactId>zq-framework</artifactId>
    <version>3.0.2</version>
    <packaging>pom</packaging>
    <name>zq-framework</name>
    <description>张谦-开发平台</description>
<!--    <url>https://github.com/lvyanyang/xci-framework</url>-->
    <modules>
        <module>zq-framework-core</module>
        <module>zq-framework-demo</module>
    </modules>

    <properties>
        <java.version>11</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <mybatis-spring-boot.version>2.2.0</mybatis-spring-boot.version>
        <junit.version>4.13</junit.version>
        <guava.version>31.0.1-jre</guava.version>
        <javassist.version>3.27.0-GA</javassist.version>
        <poitl.version>1.10.3</poitl.version>
        <easypoi.version>4.4.0</easypoi.version>
        <jackson-version>2.13.1</jackson-version>
        <knife4j.version>2.0.9</knife4j.version>
        <pagehelper-spring-boot.version>1.4.1</pagehelper-spring-boot.version>
        <hutool.version>5.7.17</hutool.version>
        <commons-io.version>2.11.0</commons-io.version>
        <commons-text.version>1.9</commons-text.version>
        <jsoup.version>1.14.3</jsoup.version>
        <tinypinyin.version>2.0.3</tinypinyin.version>
        <jjwt.version>0.9.1</jjwt.version>
        <ehcache.version>2.10.9.2</ehcache.version>
        <ip2region.version>1.7.2</ip2region.version>
        <easy-captcha.version>1.6.2</easy-captcha.version>
        <javax-validation.version>2.0.1.Final</javax-validation.version>
    </properties>

    <dependencies>
        <!--<dependency>-->
        <!--    <groupId>org.springframework.boot</groupId>-->
        <!--    <artifactId>spring-boot-dependencies</artifactId>-->
        <!--    <version>${spring-boot.version}</version>-->
        <!--    <type>pom</type>-->
        <!--    <scope>import</scope>-->
        <!--</dependency>-->

        <!--&lt;!&ndash; 全局单元测试 &ndash;&gt;-->
        <!--<dependency>-->
        <!--    <groupId>junit</groupId>-->
        <!--    <artifactId>junit</artifactId>-->
        <!--    <version>${junit.version}</version>-->
        <!--    <scope>test</scope>-->
        <!--</dependency>-->
        <!--自动生成 getset 方法-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <!-- 使用 parent 继承的方式，简单，方便使用。但是有的时候项目又需要继承其他的 prarent，这个时候 parent 继承的方式就满足不了需求了。不过不用担心，还有其他方式。-->
            <!-- 在 parent 的 pom 文件中，声明 dependencyManagement，这样在实际的项目 pom 文件中，直接声明需要的 spring boot 包就可以，不需要填写 version 属性。-->
            <!-- <dependency>-->
            <!--     &lt;!&ndash; Import dependency management from Spring Boot &ndash;&gt;-->
            <!--     <groupId>org.springframework.boot</groupId>-->
            <!--     <artifactId>spring-boot-dependencies</artifactId>-->
            <!--     <version>2.0.0.RELEASE</version>-->
            <!--     <type>pom</type>-->
            <!--     <scope>import</scope>-->
            <!-- </dependency>-->

            <!--guava工具包-->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>

            <!--Java字节码操作工具类库-->
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
            </dependency>

            <!--根据模板导出word-->
            <dependency>
                <groupId>com.deepoove</groupId>
                <artifactId>poi-tl</artifactId>
                <version>${poitl.version}</version>
            </dependency>
            <!--Excel导入导出-->
            <dependency>
                <groupId>cn.afterturn</groupId>
                <artifactId>easypoi-base</artifactId>
                <version>${easypoi.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>javassist</artifactId>
                        <groupId>org.javassist</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.poi</groupId>
                        <artifactId>poi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.poi</groupId>
                        <artifactId>poi-ooxml</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.poi</groupId>
                        <artifactId>poi-ooxml-schemas</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>cn.afterturn</groupId>
                <artifactId>easypoi-annotation</artifactId>
                <version>${easypoi.version}</version>
            </dependency>

            <!--swagger2接口文档-->
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>${knife4j.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.javassist</groupId>
                        <artifactId>javassist</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-databind</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!--数据库访问组件-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis-spring-boot.version}</version>
            </dependency>

            <!--分页插件-->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper-spring-boot.version}</version>
            </dependency>

            <!--hutool工具库-->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-core</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-json</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-http</artifactId>
                <version>${hutool.version}</version>
            </dependency>

            <!--IO工具库-->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>${commons-text.version}</version>
            </dependency>

            <!-- HTML解析器 -->
            <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>${jsoup.version}</version>
            </dependency>

            <!--取汉字拼音-->
            <dependency>
                <groupId>com.github.promeg</groupId>
                <artifactId>tinypinyin</artifactId>
                <version>${tinypinyin.version}</version>
            </dependency>

            <!--ehcache2进程内缓存-->
            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache</artifactId>
                <version>${ehcache.version}</version>
            </dependency>

            <!--验证码 -->
            <!-- 自己实现算术验证码
            https://blog.csdn.net/typa01_kk/article/details/45050091
            -->
            <dependency>
                <groupId>com.github.whvcse</groupId>
                <artifactId>easy-captcha</artifactId>
                <version>${easy-captcha.version}</version>
            </dependency>
            <!--            Happy Captcha是一款易于使用的Java验证码软件包，旨在花最短的时间，最少的代码量，实现Web站点的验证码功能。-->
            <!--            Happy Captcha完全遵循Apache 2.0开源许可协议，你可以自由使用该软件，如您在使用Happy Captcha时发现软件的任何缺陷，欢迎随时与我联系。-->
            <!--            <dependency>-->
            <!--                <groupId>com.ramostear</groupId>-->
            <!--                <artifactId>Happy-Captcha</artifactId>-->
            <!--                <version>1.0.1</version>-->
            <!--            </dependency>-->

            <!--IP地址地理位置解析-->
            <dependency>
                <groupId>org.lionsoul</groupId>
                <artifactId>ip2region</artifactId>
                <version>${ip2region.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <!--国内仓库-->
    <repositories>
        <!--<repository>-->
        <!--    <id>private</id>-->
        <!--    <url>http://192.168.1.239:8081/repository/maven-public/</url>-->
        <!--    <releases>-->
        <!--        <enabled>true</enabled>-->
        <!--        <checksumPolicy>warn</checksumPolicy>-->
        <!--    </releases>-->
        <!--    <snapshots>-->
        <!--        <enabled>true</enabled>-->
        <!--        <updatePolicy>always</updatePolicy>-->
        <!--    </snapshots>-->
        <!--</repository>-->
        <repository>
            <id>aliyun</id>
            <url>https://maven.aliyun.com/repository/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <!--<pluginRepositories>-->
    <!--    <pluginRepository>-->
    <!--        <id>pcentral</id>-->
    <!--        <name>pcentral</name>-->
    <!--        <url>https://repo1.maven.org/maven2</url>-->
    <!--    </pluginRepository>-->
    <!--</pluginRepositories>-->
    <pluginRepositories>
        <pluginRepository>
            <id>pcentral</id>
            <name>pcentral</name>
            <url>https://repo1.maven.org/maven2</url>
        </pluginRepository>
        <pluginRepository>
            <id>aliyun-plugin</id>
            <url>https://maven.aliyun.com/repository/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <!-- 许可证的配置信息 -->
    <licenses>
        <license>
            <name>The MIT License</name>
            <url>http://opensource.org/licenses/MIT</url>
        </license>
    </licenses>

    <!--项目开发者列表 -->
    <developers>
        <!--某个项目开发者的信息 -->
        <developer>
            <!--项目开发者的全名 -->
            <name>zhangqian</name>
            <!--项目开发者的email -->
            <email>765870682@qq.com</email>
            <!--项目开发者所属组织 -->
            <organization>zq</organization>
            <!--项目开发者的主页的URL -->
            <url>https://github.com/zhangqian1147</url>
        </developer>
    </developers>


    <!--SCM(Source Control Management)标签允许你配置你的代码库，供Maven web站点和其它插件使用。 -->
    <scm>
<!--        <connection>scm:git:https://github.com/lvyanyang/xci-framework.git</connection>-->
<!--        <developerConnection>scm:git:https://github.com/lvyanyang/xci-framework.git</developerConnection>-->
<!--        <url>https://github.com/lvyanyang/xci-framework</url>-->
    </scm>

    <!--生成配置-->
    <!--构建项目需要的信息 -->
    <build>
        <!--使用的插件列表 。 -->
        <plugins>
            <!--编译插件-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <!--源码插件-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- 生成javadoc文档包的插件 -->
            <!--<plugin>-->
            <!--    <artifactId>maven-javadoc-plugin</artifactId>-->
            <!--    <configuration>-->
            <!--        <encoding>UTF-8</encoding>-->
            <!--        <charset>UTF-8</charset>-->
            <!--        <docencoding>UTF-8</docencoding>-->
            <!--    </configuration>-->
            <!--    <executions>-->
            <!--        <execution>-->
            <!--            <id>javadoc-jar</id>-->
            <!--            <phase>package</phase>-->
            <!--            <goals>-->
            <!--                <goal>jar</goal>-->
            <!--            </goals>-->
            <!--            <configuration>-->
            <!--                &lt;!&ndash; 不会因为报错退出 &ndash;&gt;-->
            <!--                <failOnError>false</failOnError>-->
            <!--                <doclint>none</doclint>-->
            <!--                &lt;!&ndash; switch on dependency-driven aggregation &ndash;&gt;-->
            <!--                <includeDependencySources>true</includeDependencySources>-->

            <!--                <dependencySourceIncludes>-->
            <!--                    &lt;!&ndash;&lt;!&ndash; 仅包含我控制的依赖项  此处说明的是包名&ndash;&gt;&ndash;&gt;-->
            <!--                    &lt;!&ndash;<dependencySourceInclude>com.test:A:*</dependencySourceInclude>&ndash;&gt;-->
            <!--                </dependencySourceIncludes>-->
            <!--            </configuration>-->
            <!--        </execution>-->
            <!--    </executions>-->
            <!--</plugin>-->
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

    <profiles>
        <!--发布命令:mvn clean deploy -P release-->
        <profile>
            <id>release</id>
            <distributionManagement>
                <repository>
                    <id>ossrh</id> <!-- 这里的id要与maven setting.xml中server的id一致 -->
                    <name>oss nexus repository hosting</name>
                    <url>https://s01.oss.sonatype.org/content/repositories/releases/</url>
                </repository>
                <snapshotRepository>
                    <id>ossrh</id> <!-- 这里的id要与maven setting.xml中server的id一致 -->
                    <name>oss nexus repository hosting</name>
                    <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
                </snapshotRepository>
<!--                <snapshotRepository>-->
<!--                    <id>oss-snapshots</id>-->
<!--                    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>-->
<!--                </snapshotRepository>-->
<!--                <repository>-->
<!--                    <id>oss-releases</id>-->
<!--                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>-->
<!--                </repository>-->
            </distributionManagement>
            <build>
                <plugins>
                    <!--源码插件-->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>3.2.1</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Javadoc -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>3.3.1</version>
                        <configuration>
                            <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <configuration>
                                    <!-- <additionalparam>-Xdoclint:none</additionalparam>  -->
                                    <additionalJOption>-Xdoclint:none</additionalJOption>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Gpg Signature -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>3.0.1</version>
                        <executions>
                            <execution>
                                <id>oss</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!--<plugin>-->
                    <!--    <groupId>org.sonatype.plugins</groupId>-->
                    <!--    <artifactId>nexus-staging-maven-plugin</artifactId>-->
                    <!--    <version>1.6.8</version>-->
                    <!--    <extensions>true</extensions>-->
                    <!--    <configuration>-->
                    <!--        <serverId>oss</serverId>-->
                    <!--        <nexusUrl>https://oss.sonatype.org/</nexusUrl>-->
                    <!--        <autoReleaseAfterClose>true</autoReleaseAfterClose>-->
                    <!--    </configuration>-->
                    <!--</plugin>-->
                </plugins>
            </build>
        </profile>

        <!--发布命令:mvn clean deploy -P private-->
        <profile>
            <id>private</id>
            <distributionManagement>
                <repository>
                    <id>nexus-releases</id>
                    <name>Nexus Release Repository</name>
                    <url>http://192.168.1.239:8081/repository/maven-releases/</url>
                </repository>
                <snapshotRepository>
                    <id>nexus-snapshots</id>
                    <name>Nexus Snapshot Repository</name>
                    <url>http://192.168.1.239:8081/repository/maven-snapshots/</url>
                </snapshotRepository>
            </distributionManagement>
            <build>
                <plugins>
                    <!--源码插件-->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>3.2.1</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>