<?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">
    <parent>
        <artifactId>ebts</artifactId>
        <groupId>com.ebts</groupId>
        <version>1.0.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>ebts-generator</artifactId>

    <description>
        generator代码生成
    </description>

    <dependencies>
        <!--velocity代码生成使用模板 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
        </dependency>
        <!-- FTP上传文件 -->
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.7</version>
        </dependency>

        <!-- Spring框架基本的核心工具 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
        </dependency>

        <!-- SpringWeb模块 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
        </dependency>

        <!-- spring security 安全认证 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <!-- pagehelper 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
        </dependency>

        <!-- 自定义验证注解 -->
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </dependency>

        <!--常用工具类 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>

        <!-- JSON工具类 -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

        <!-- 阿里JSON解析器 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>

        <!-- io常用工具类 -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>

        <!-- 文件上传工具类 -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
        </dependency>

        <!-- excel工具 -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
        </dependency>

        <!-- yml解析器 -->
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
        </dependency>

        <!--Token生成与解析-->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
        </dependency>

        <!-- redis 缓存操作 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <!-- pool 对象池 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

        <!-- 解析客户端操作系统、浏览器等 -->
        <dependency>
            <groupId>eu.bitwalker</groupId>
            <artifactId>UserAgentUtils</artifactId>
        </dependency>

        <!-- servlet包 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <!-- swagger2-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
        </dependency>

        <!--防止进入swagger页面报类型转换错误，排除2.9.2中的引用，手动增加1.5.21版本-->
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.5.21</version>
        </dependency>

        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
            <version>1.5.21</version>
        </dependency>

        <!-- swagger2-UI-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
        </dependency>
        <!-- 通用工具-->
        <dependency>
            <groupId>com.ebts</groupId>
            <artifactId>ebts-common</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.wvengen</groupId>
            <artifactId>proguard-maven-plugin</artifactId>
            <version>2.0.14</version>
        </dependency>

    </dependencies>
    <build>
        <plugins>
            <!-- ProGuard混淆插件 -->
            <plugin>
                <groupId>com.github.wvengen</groupId>
                <artifactId>proguard-maven-plugin</artifactId>
                <version>2.0.14</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>proguard</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!-- 将混淆后的pg包自动部署到maven上-->
                    <attach>true</attach>
                    <attachArtifactClassifier>pg</attachArtifactClassifier>
                    <exclusions>
                        <exclusion>
                            <artifactId>log4j-api</artifactId>
                            <groupId>org.apache.logging.log4j</groupId>
                        </exclusion>
                    </exclusions>
                    <options>
                        <option>-dontshrink</option>
                        <!-- 不忽略指定jars中的非public calsses-->
                        <option>-dontskipnonpubliclibraryclasses</option>
                        <!-- 不忽略指定类库的public类成员-->
                        <option>-dontskipnonpubliclibraryclassmembers</option>
                        <option>-optimizations !field/propagation/value</option>
                        <option>-keepdirectories</option>
                        <!-- 保留继承了注释的类-->
                        <option>-keep class * extends java.lang.annotation.Annotation {*;}</option>
                        <option>-keepattributes InnerClasses,Signature,LineNumberTable,*Annotation*,Exceptions</option>
                        <option>
                            -keepclassmembers class * implements java.io.Serializable {
                            static final long serialVersionUID;
                            private static final java.io.ObjectStreamField[] serialPersistentFields;
                            private void
                            writeObject(java.io.ObjectOutputStream);
                            private void readObject(java.io.ObjectInputStream);
                            java.lang.Object writeReplace();
                            java.lang.Object readResolve();
                            }
                        </option>
                        <!--                        <option>-->
                        <!--                            -dontwarn lib/log4j-api-2.11.2.jar-->
                        <!--                        </option>-->
                        <option>
                            -libraryjars lib/log4j-api-2.11.2.jar(!META-INF/versions/9/**.class,!module-info.class)
                            -libraryjars lib/log4j-core-2.11.2.jar
                            -libraryjars lib/log4j-jcl-2.11.2.jar
                            -libraryjars lib/log4j-web-2.11.2.jar
                        </option>
                        <!--                        <option>-->
                        <!--                            -libraryjars lib/byte-buddy-1.9.16.jars/9/**.class,(!META-INF/version!module-info.class)-->
                        <!--                        </option>-->
<!--                        <option>-libraryjars-->
<!--                            ${settings.localRepository}/net/bytebuddy/byte-buddy/1.9.16/byte-buddy-1.9.16.jar(!META-INF/versions/9/module-info.class)-->
<!--                        </option>-->
                    </options>
                    <libs>
                        <lib>D:/Java/jdk1.8/lib/rt.jar</lib>
                        <lib>D:/Java/jdk1.8/lib/jce.jar</lib>
                    </libs>
                    <!--                    <outjar>C:/Users/18209/Desktop/新建文件夹/ebts-generator.jar</outjar>-->

                    <injar>ebts-generator-1.0.0.jar</injar>
                    <outjar>ebts-generator.jar</outjar>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>