<?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>ink.wgink</groupId>
    <artifactId>wg-basic</artifactId>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>basic-pojo</module>
        <module>basic-interface</module>
        <module>basic-util</module>
        <module>common</module>
        <module>service-user</module>
        <module>basic-app</module>
        <module>basic-exception</module>
        <module>basic-annotation</module>
        <module>service-department</module>
        <module>service-role</module>
        <module>module-file</module>
        <module>module-dictionary</module>
        <module>service-permission</module>
        <module>service-menu</module>
        <module>service-group</module>
        <module>service-position</module>
        <module>login-base</module>
        <module>login-app</module>
        <module>login-wechat</module>
        <module>login-oauth2-server</module>
        <module>basic-properties</module>
        <module>module-article</module>
        <module>module-wechat</module>
        <module>register-base</module>
        <module>module-sms</module>
        <module>register-wechat</module>
        <module>module-file-media</module>
        <module>module-map</module>
        <module>module-activiti</module>
        <module>module-instant-message</module>
        <module>login-oauth2-client</module>
        <module>module-oauth2-client</module>
        <module>mongo-module-dictionary</module>
        <module>redis-cache</module>
    </modules>
    <packaging>pom</packaging>

    <properties>
        <spring.version>5.2.8.RELEASE</spring.version>
        <spring-security.version>5.1.3.RELEASE</spring-security.version>
        <spring-boot.version>2.3.3.RELEASE</spring-boot.version>
        <fastjson.version>1.2.24</fastjson.version>
        <json.version>20210307</json.version>
        <easyexcel.version>2.2.7</easyexcel.version>
        <cglib.version>3.2.3</cglib.version>
        <mysql.version>5.1.47</mysql.version>
        <durid.version>1.1.9</durid.version>
        <pagehelper.version>5.1.1</pagehelper.version>
        <dom4j.version>1.6.1</dom4j.version>
        <quartz.version>2.3.0</quartz.version>
        <ehcache.version>2.10.4</ehcache.version>
        <servletApi.version>3.1.0</servletApi.version>
        <jspApi.version>2.0</jspApi.version>
        <jstl.version>1.2</jstl.version>
        <thumbnailator.version>0.4.8</thumbnailator.version>
        <swagger.version>2.5.0</swagger.version>
        <knife4j.version>2.0.9</knife4j.version>
        <jodatime.version>2.9.4</jodatime.version>
        <commons-text.version>1.6</commons-text.version>
        <common-pool2.version>2.6.0</common-pool2.version>
        <commonLang3.version>3.4</commonLang3.version>
        <common-io.version>2.11.0</common-io.version>
        <common-net.version>3.3</common-net.version>
        <common-compress>1.18</common-compress>
        <common-fileupload.version>1.3.1</common-fileupload.version>
        <common-codec.version>1.12</common-codec.version>
        <common-beanutils.version>1.9.4</common-beanutils.version>
        <httpclient.version>4.5.13</httpclient.version>
        <saaj.version>1.3.18</saaj.version>
        <zxing.version>3.3.3</zxing.version>
        <pingyin4j.version>2.5.1</pingyin4j.version>
        <sauronsoftware.version>1.0.2</sauronsoftware.version>
        <email.version>1.6.2</email.version>
        <oshi-core.version>3.9.1</oshi-core.version>
        <jna.version>5.5.0</jna.version>
        <jna-platform.version>5.5.0</jna-platform.version>
        <netty.version>4.1.50.Final</netty.version>
        <bouncycastle.version>1.56</bouncycastle.version>
        <tomcat-embed.version>9.0.14</tomcat-embed.version>
        <lombok.version>1.18.16</lombok.version>
        <slf4j.version>1.7.30</slf4j.version>
        <activiti.version>6.0.0</activiti.version>
        <xmlgraphics.version>1.10</xmlgraphics.version>
        <minio.version>7.0.2</minio.version>
        <mongo.version>3.2.5</mongo.version>
        <redis.version>2.5.5</redis.version>
        <freemarker.version>2.3.31</freemarker.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Spring start -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-config</artifactId>
                <version>${spring-security.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-core</artifactId>
                <version>${spring-security.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
                <version>${spring-security.version}</version>
            </dependency>
            <!-- Spring end -->

            <!-- springboot start -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-autoconfigure</artifactId>
                <version>${spring-boot.version}</version>
            </dependency>
            <!-- springboot end -->

            <!-- fastjson start -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
            <!-- fastjson end -->

            <!-- json start -->
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>${json.version}</version>
            </dependency>
            <!-- json end -->

            <!-- easyexcel start -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>easyexcel</artifactId>
                <version>${easyexcel.version}</version>
            </dependency>
            <!-- easyexcel end -->

            <!-- cglib start -->
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>${cglib.version}</version>
            </dependency>
            <!-- cglib end -->

            <!-- MySQL start -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <!-- MySQL end -->

            <!-- durid start -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${durid.version}</version>
            </dependency>
            <!-- durid end -->

            <!-- pagerhelper start -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <!-- pagerhelper end -->

            <!-- dom4j start -->
            <dependency>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>${dom4j.version}</version>
            </dependency>
            <!-- dom4j end -->

            <!-- quartz start -->
            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartz.version}</version>
            </dependency>
            <!-- quartz end -->

            <!-- ehcache start -->
            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache</artifactId>
                <version>${ehcache.version}</version>
            </dependency>
            <!-- ehcache end -->

            <!-- Servlet|JSP|JSTL start -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servletApi.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <version>${jspApi.version}</version>
            </dependency>
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl.version}</version>
            </dependency>
            <!-- Servlet|JSP|JSTL end -->

            <!-- thumbnailator start -->
            <dependency>
                <groupId>net.coobird</groupId>
                <artifactId>thumbnailator</artifactId>
                <version>${thumbnailator.version}</version>
            </dependency>
            <!-- thumbnailator end -->

            <!-- jodatime start -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${jodatime.version}</version>
            </dependency>
            <!-- jodatime end -->

            <!-- Apache commons start -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commonLang3.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>${commons-text.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${common-io.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${common-net.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>${common-fileupload.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${common-codec.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${common-compress}</version>
            </dependency>
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>${common-beanutils.version}</version>
            </dependency>
            <!-- Apache commons end -->

            <!-- Base64 start -->
            <dependency>
                <groupId>com.sun.xml.messaging.saaj</groupId>
                <artifactId>saaj-impl</artifactId>
                <version>${saaj.version}</version>
            </dependency>
            <!-- Base64 end -->

            <!-- swagger start -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-ui</artifactId>
                <version>${knife4j.version}</version>
            </dependency>
            <!-- swagger end -->

            <!-- zxing start -->
            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>core</artifactId>
                <version>${zxing.version}</version>
            </dependency>
            <!-- zxing end -->

            <!-- pingyin start -->
            <dependency>
                <groupId>com.belerweb</groupId>
                <artifactId>pinyin4j</artifactId>
                <version>${pingyin4j.version}</version>
            </dependency>
            <!-- pingyin end -->

            <!-- 设备信息 start -->
            <dependency>
                <groupId>com.github.oshi</groupId>
                <artifactId>oshi-core</artifactId>
                <version>${oshi-core.version}</version>
            </dependency>
            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>${jna.version}</version>
            </dependency>
            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna-platform</artifactId>
                <version>${jna-platform.version}</version>
            </dependency>
            <!-- 设备信息 end -->

            <!-- sauronsoftware start -->
            <dependency>
                <groupId>it.sauronsoftware</groupId>
                <artifactId>jave</artifactId>
                <version>${sauronsoftware.version}</version>
            </dependency>
            <!-- sauronsoftware end -->

            <!-- email start -->
            <dependency>
                <groupId>com.sun.mail</groupId>
                <artifactId>javax.mail</artifactId>
                <version>${email.version}</version>
            </dependency>
            <!-- email end -->

            <!-- netty start -->
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <!-- netty end -->

            <!-- bouncycastle start -->
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${bouncycastle.version}</version>
            </dependency>
            <!-- bouncycastle end -->

            <!-- tomcat start -->
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-core</artifactId>
                <version>${tomcat-embed.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-el</artifactId>
                <version>${tomcat-embed.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-websocket</artifactId>
                <version>${tomcat-embed.version}</version>
            </dependency>
            <!-- tomcat end -->

            <!-- lombok start -->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>
            <!-- lombok end -->

            <!-- slf4j start -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- slf4j end -->

            <!-- http client start -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <!-- http client end -->

            <!-- activiti start -->
            <dependency>
                <groupId>org.activiti</groupId>
                <artifactId>activiti-spring-boot-starter-basic</artifactId>
                <version>${activiti.version}</version>
            </dependency>
            <dependency>
                <groupId>org.activiti</groupId>
                <artifactId>activiti-json-converter</artifactId>
                <version>${activiti.version}</version>
            </dependency>
            <dependency>
                <groupId>org.activiti</groupId>
                <artifactId>activiti-image-generator</artifactId>
                <version>${activiti.version}</version>
            </dependency>
            <!-- activiti end -->

            <!-- xml graphics start 在线流程需要 -->
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-codec</artifactId>
                <version>${xmlgraphics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-css</artifactId>
                <version>${xmlgraphics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-svg-dom</artifactId>
                <version>${xmlgraphics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-svggen</artifactId>
                <version>${xmlgraphics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-dom</artifactId>
                <version>${xmlgraphics.version}</version>
            </dependency>
            <!-- xml graphics end -->

            <!-- minio start -->
            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio</artifactId>
                <version>${minio.version}</version>
            </dependency>
            <!-- minio end -->

            <!-- mongo start -->
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-mongodb</artifactId>
                <version>${mongo.version}</version>
            </dependency>
            <!-- mongo end -->

            <!-- redis start -->
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-redis</artifactId>
                <version>${redis.version}</version>
            </dependency>
            <!-- redis end -->

            <!-- freemarker start -->
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>${freemarker.version}</version>
            </dependency>
            <!-- freemarker end -->

        </dependencies>

    </dependencyManagement>

    <!-- maven 私服 -->
    <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <url>http://121.36.71.250:8888/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <url>http://121.36.71.250:8888/repository/maven-snapshots/</url>
        </snapshotRepository>
        <!--
        <repository>
            <id>sucstep-wg-basic-wg-basic</id>
            <name>wg-basic</name>
            <url>https://sucstep-maven.pkg.coding.net/repository/wg-basic/wg-basic/</url>
        </repository>
        -->
    </distributionManagement>


    <build>
        <finalName>${project.artifactId}</finalName>
        <!-- resource start -->
        <plugins>
            <!-- resource start -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- resource end -->
            <!-- compile start -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <!-- 打包JDK内部类 -->
                    <compilerArguments>
                        <!--<bootclasspath>${JAVA_HOME}/jre/lib/rt.jar</bootclasspath>-->
                    </compilerArguments>
                </configuration>
            </plugin>
            <!-- compile end -->
            <!-- war start -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <!-- war end -->
            <!-- source start -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- source end -->
        </plugins>
    </build>

</project>