<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>
        <groupId>io.renren</groupId>
        <artifactId>security-enterprise</artifactId>
        <version>2.9.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>renren-admin</artifactId>
    <packaging>jar</packaging>
    <description>renren-admin</description>

    <properties>
        <quartz.version>2.3.0</quartz.version>
        <shiro.version>1.6.0</shiro.version>
        <captcha.version>1.6.2</captcha.version>
        <easyexcel.version>2.2.6</easyexcel.version>
        <qiniu.version>7.2.27</qiniu.version>
        <aliyun.oss.version>2.8.3</aliyun.oss.version>
        <aliyun.core.version>3.2.2</aliyun.core.version>
        <aliyun.dysmsapi.version>1.1.0</aliyun.dysmsapi.version>
        <qcloud.cos.version>5.4.4</qcloud.cos.version>
        <qcloud.qcloudsms.version>1.0.5</qcloud.qcloudsms.version>
        <fastdfs.version>1.26.2</fastdfs.version>
        <minio.version>6.0.13</minio.version>
        <mail.version>1.6.2</mail.version>
        <freemarker.version>2.3.28</freemarker.version>
        <activiti.version>5.22.0</activiti.version>
        <ureport2.version>2.2.9</ureport2.version>
        <IJPay.version>2.7.1</IJPay.version>
        <yawei-pso.version>2.0.2</yawei-pso.version>
        <renren.version>2.9.0</renren.version>
        <groovy-all.version>2.4.17</groovy-all.version>
        <pinyin4j.version>2.5.1</pinyin4j.version>
        <spring-boot-starter-cache.version>2.4.4</spring-boot-starter-cache.version>
        <fastjson.version>1.2.72</fastjson.version>
        <ehcache.version>2.10.6</ehcache.version>
        <javacv.version>1.5.7</javacv.version>
        <system.linux-x86_64>linux-x86_64</system.linux-x86_64>
        <ffmpeg.version>5.0</ffmpeg.version>
        <okhttp.version>3.14.9</okhttp.version>
        <flyway-core.version>8.5.12</flyway-core.version>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>io.renren</groupId>
            <artifactId>renren-common</artifactId>
            <version>${renren.version}</version>
        </dependency>
        <dependency>
            <groupId>io.renren</groupId>
            <artifactId>renren-dynamic-datasource</artifactId>
            <version>${renren.version}</version>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>${quartz.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.mchange</groupId>
                    <artifactId>c3p0</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.zaxxer</groupId>
                    <artifactId>HikariCP-java6</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <version>${shiro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>${shiro.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.whvcse</groupId>
            <artifactId>easy-captcha</artifactId>
            <version>${captcha.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>${easyexcel.version}</version>
        </dependency>
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>qiniu-java-sdk</artifactId>
            <version>${qiniu.version}</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>${aliyun.oss.version}</version>
        </dependency>
        <dependency>
            <groupId>com.qcloud</groupId>
            <artifactId>cos_api</artifactId>
            <version>${qcloud.cos.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>${aliyun.core.version}</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
            <version>${aliyun.dysmsapi.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.qcloudsms</groupId>
            <artifactId>qcloudsms</artifactId>
            <version>${qcloud.qcloudsms.version}</version>
        </dependency>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>${mail.version}</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>${freemarker.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.tobato</groupId>
            <artifactId>fastdfs-client</artifactId>
            <version>${fastdfs.version}</version>
        </dependency>
        <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio</artifactId>
            <version>${minio.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>okio</artifactId>
                    <groupId>com.squareup.okio</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
            <version>${activiti.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-explorer</artifactId>
            <version>${activiti.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>vaadin</artifactId>
                    <groupId>com.vaadin</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>dcharts-widget</artifactId>
                    <groupId>org.vaadin.addons</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>activiti-simple-workflow</artifactId>
                    <groupId>org.activiti</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>groovy-all</artifactId>
                    <groupId>org.codehaus.groovy</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- 支持JDK11 -->
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>${groovy-all.version}</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-diagram-rest</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-modeler</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- end activiti -->
        <dependency>
            <groupId>com.bstek.ureport</groupId>
            <artifactId>ureport2-console</artifactId>
            <version>${ureport2.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.javen205</groupId>
            <artifactId>IJPay-AliPay</artifactId>
            <version>${IJPay.version}</version>
        </dependency>
        <!-- 亚微单点登录 -->
        <dependency>
            <groupId>com.yawei.oav2</groupId>
            <artifactId>yawei-pso</artifactId>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/yawei-pso-2.0.2.jar</systemPath>
            <version>${yawei-pso.version}</version>
        </dependency>
        <dependency>
            <groupId>com.belerweb</groupId>
            <artifactId>pinyin4j</artifactId>
            <version>${pinyin4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-test-autoconfigure</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
        <!--缓存-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
            <version>${spring-boot-starter-cache.version}</version>
        </dependency>

        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>${ehcache.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>${okhttp.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.flywaydb/flyway-core -->
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
        </dependency>


        <!-- javacv+javacpp核心库-->
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacv</artifactId>
            <version>${javacv.version}</version>
        </dependency>
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacpp-platform</artifactId>
            <version>${javacv.version}</version>
        </dependency>
        <!-- ffmpeg最小依赖包,必须包含上面的javacv+javacpp核心库 -->
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>ffmpeg</artifactId>
            <version>${ffmpeg.version}-${javacv.version}</version>
            <classifier>${system.linux-x86_64}</classifier>
        </dependency>

        <dependency>
            <groupId>net.unicon.cas</groupId>
            <artifactId>cas-client-autoconfig-support</artifactId>
            <version>2.0.0-GA</version>
        </dependency>

    </dependencies>

    <build>
        <finalName>${project.artifactId}</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <!-- 排除生产环境配置 -->
                    <exclude>application-prod.yml</exclude>
                    <!-- 排除flyway管理的sql -->
                    <exclude>db/*.sql</exclude>
                    <exclude>domain/**</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>application.properties</include>
                    <include>application-${profile.env}.properties</include>
                </includes>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <classesDirectory>target/classes/</classesDirectory>
                    <archive>
                        <!--生成的jar包不包含maven描述相关文件-->
                        <addMavenDescriptor>false</addMavenDescriptor>
                        <manifest>
                            <!--项目启动类-->
                            <mainClass>io.renren.AdminApplication</mainClass>
                            <useUniqueVersions>false</useUniqueVersions>
                            <!--第三方JAR加入类构建的路径maven-dependency-plugin-->
                            <addClasspath>true</addClasspath>
                            <!--外部依赖jar包的位置-->
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                        <manifestEntries>
                            <Class-Path>. lib/yawei-pso-2.0.2.jar</Class-Path>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
            <!--关键插件,maven提供的assembly插件,需要放在最后-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>make-tar.gz</id>
                        <!--绑定的maven操作-->
                        <phase>package</phase>
                        <!--运行一次-->
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>

                            <!--如果不想在打包的后缀加上assembly.xml中设置的id,可以加上下面的配置-->
                            <!--<appendAssemblyId>false</appendAssemblyId>-->

                            <!--指定assembly插件对应的assembly.xml配置文件-->
                            <descriptors>
                                <descriptor>src/main/resources/assembly/assembly.xml</descriptor>
                            </descriptors>

                            <archive>
                                <manifest>
                                    <addClasspath>true</addClasspath>
                                    <classpathPrefix>libs/</classpathPrefix>
                                </manifest>
                            </archive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--            <plugin>-->
            <!--                <groupId>org.springframework.boot</groupId>-->
            <!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
            <!--                <configuration>-->
            <!--                    <includeSystemScope>true</includeSystemScope>-->
            <!--                </configuration>-->
            <!--            </plugin>-->
            <!--            <plugin>-->
            <!--                <groupId>org.apache.maven.plugins</groupId>-->
            <!--                <artifactId>maven-surefire-plugin</artifactId>-->
            <!--                <configuration>-->
            <!--                    <skipTests>true</skipTests>-->
            <!--                </configuration>-->
            <!--            </plugin>-->
            <!--            <plugin>-->
            <!--                <groupId>com.spotify</groupId>-->
            <!--                <artifactId>docker-maven-plugin</artifactId>-->
            <!--                <version>${docker.plugin.version}</version>-->
            <!--                <configuration>-->
            <!--                    <imageName>renren/${project.artifactId}</imageName>-->
            <!--                    <dockerDirectory>${project.basedir}/</dockerDirectory>-->
            <!--                    <resources>-->
            <!--                        <resource>-->
            <!--                            <targetPath>/</targetPath>-->
            <!--                            <directory>${project.build.directory}</directory>-->
            <!--                            <include>${project.build.finalName}.jar</include>-->
            <!--                        </resource>-->
            <!--                    </resources>-->
            <!--                </configuration>-->
            <!--            </plugin>-->
        </plugins>
    </build>
</project>