<?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.github.sylphlike</groupId>
    <artifactId>Gopal.pan-framework</artifactId>
    <packaging>pom</packaging>

    <!--Sonatype OSSRH POM 配置要求:https://central.sonatype.org/pages/requirements.html-->
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>Gopal.pan</name>
            <email>15923508369@163.com</email>
        </developer>
    </developers>

    <scm>
        <connection>scm:git:git://github.com/sylphlike/Gopal.pan-framework.git</connection>
        <developerConnection>scm:git:ssh://github.com:sylphlike/Gopal.pan-framework.git</developerConnection>
        <url>https://github.com/sylphlike/Gopal.pan-framework/tree/master</url>
    </scm>

    <distributionManagement>
        <snapshotRepository>
            <id>oss</id><!-- settings.xml中server节点的id-->
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        </snapshotRepository>
        <repository>
            <id>oss</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

    <build>
        <plugins>
            <!-- Source -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- Javadoc  -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <charset>UTF-8</charset>
                    <encoding>UTF-8</encoding>
                    <docencoding>UTF-8</docencoding>
                    <additionalOptions>
                        <additionalOption>-Xdoclint:none</additionalOption> <!--忽略异常告警-->
                    </additionalOptions>

                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>


    <repositories>
        <repository>
            <id>nexus-aliyun</id>
            <name>Nexus aliyun</name>
            <layout>default</layout>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
            <snapshots> <enabled>false</enabled> </snapshots>
            <releases> <enabled>true</enabled> </releases>
        </repository>
    </repositories>



    <!--父POM 版本设置 一般不做修改 Springboot SpringCloud版本升级时升级版本号
    具体子模块版本由子模块决定

    主版本号(1)：当功能模块有较大的变动，比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。
    子版本号(1)：当功能有一定的增加或变化，比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。
    阶段版本号(1)：一般是 Bug 修复或是一些小的变动，要经常发布修订版，时间间隔不限，修复一个严重的bug即可发布一个修订版。此版本号由项目经理决定是否修改。
    日期版本号(051021):用于记录修改项目的当前日期，每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。
    希腊字母版本号(Release):此版本号用于标注当前版本的软件处于哪个开发阶段，当软件进入到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。-->
    <version>1.0.0-SYLPHLIKE</version>


    <modules>
        <module>framework-norm</module>
        <module>framework-amoeba</module>
        <module>framework-basis</module>
        <module>framework-redis</module>
        <module>framework-security</module>
        <module>framework-utils</module>
        <module>framework-web</module>
        <module>framework-glued</module>
        <module>framework-boxing</module>
    </modules>

    <properties>
        <!--项目设置-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>

        <!--核心版本依赖 修改 spring-boot.version 版本号后需要同时修改 spring-boot-starter-parent !!!-->
        <spring-boot.version>2.2.9.RELEASE</spring-boot.version>
        <spring-cloud.version>Hoxton.SR6</spring-cloud.version>
        <spring-alibaba.version>2.2.1.RELEASE</spring-alibaba.version>

        <!--第三方jar包版本-->
        <mybatis-plus-boot-starter.version>3.2.0</mybatis-plus-boot-starter.version>
        <logstash-logback-encoder.version>6.2</logstash-logback-encoder.version>
        <druid.version>1.1.22</druid.version>
        <pagehelper.version>5.1.10</pagehelper.version>
        <pagehelper-spring-boot-starter.version>1.2.13</pagehelper-spring-boot-starter.version>
        <mybatis-springboot-starte.version>2.1.0</mybatis-springboot-starte.version>
        <sharding-jbdc.version>4.0.1</sharding-jbdc.version>
        <poi.version>3.17</poi.version>
        <guava.version>20.0</guava.version>
        <itextpdf.version>5.5.13</itextpdf.version>
        <itext-asian.version>5.2.0</itext-asian.version>
        <bcprov-jdk15on.version>1.59</bcprov-jdk15on.version>
        <bucket4j-core.version>4.0.0</bucket4j-core.version>
        <javax.mail.version>1.5.0-b01</javax.mail.version>
        <google.zxing.version>3.3.3</google.zxing.version>
        <apollo-client.version>1.4.0</apollo-client.version>
        <java-jwt.version>3.10.2</java-jwt.version>
        <swagger.version>2.9.2</swagger.version>
        <swagger-bootstrap-ui.version>1.9.6</swagger-bootstrap-ui.version>
        <commons-beanutils.version>1.9.3</commons-beanutils.version>
        <commons-io.version>2.5</commons-io.version>
        <commons-lang.version>2.6</commons-lang.version>
        <poi.version>3.17</poi.version>
        <reflections.version>0.9.12</reflections.version>
        <javax.mail.version>1.4.7</javax.mail.version>
        <qiniu-java-sdk.version>7.2.29</qiniu-java-sdk.version>
        <ons-client.version>1.8.6.Final</ons-client.version>
        <ip2region.version>1.7.2</ip2region.version>
        <UserAgentUtils.version>1.21</UserAgentUtils.version>
        <alipay-sdk-java.version>4.10.170.ALL</alipay-sdk-java.version>

        <!-- springboot管理了elasticsearch版本,但版本不是所需要的，重写版本号依赖，覆盖默认的版本-->
        <elasticsearch.version>7.4.2</elasticsearch.version>

    </properties>



    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.9.RELEASE</version>
        <relativePath/>
    </parent>

    <dependencyManagement>
        <dependencies>

            <!--core component dependencies-->
            <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-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>


            <!--Three-party component dependency package-->
            <dependency>
                <groupId>com.qiniu</groupId>
                <artifactId>qiniu-java-sdk</artifactId>
                <version>${qiniu-java-sdk.version}</version>
            </dependency>
            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>${reflections.version}</version>
            </dependency>

            <dependency>
                <groupId>com.aliyun.openservices</groupId>
                <artifactId>ons-client</artifactId>
                <version>${ons-client.version}</version>
            </dependency>
            <dependency>
                <groupId>com.auth0</groupId>
                <artifactId>java-jwt</artifactId>
                <version>${java-jwt.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>${javax.mail.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>core</artifactId>
                <version>${google.zxing.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>javase</artifactId>
                <version>${google.zxing.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${poi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${poi.version}</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>swagger-bootstrap-ui</artifactId>
                <version>${swagger-bootstrap-ui.version}</version>
            </dependency>
            <dependency>
                <groupId>net.logstash.logback</groupId>
                <artifactId>logstash-logback-encoder</artifactId>
                <version>${logstash-logback-encoder.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus-boot-starter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.lionsoul</groupId>
                <artifactId>ip2region</artifactId>
                <version>${ip2region.version}</version>
            </dependency>
            <dependency>
                <groupId>eu.bitwalker</groupId>
                <artifactId>UserAgentUtils</artifactId>
                <version>${UserAgentUtils.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sdk</groupId>
                <artifactId>alipay-sdk-java</artifactId>
                <version>${alipay-sdk-java.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis-springboot-starte.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>
