<?xml version="1.0" encoding="UTF-8"?>

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>dcuc-auth</artifactId>
        <groupId>com.dragoninfo</groupId>
        <version>2.5.0-tjdsj-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>dcuc-auth-service</artifactId>
    <dependencies>
        <!--配置 duceap 开始-->
        <!-- 引入duceap-cloud核心包-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-cloud-starter</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>HdrHistogram</artifactId>
                    <groupId>org.hdrhistogram</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--flyway模块-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-boot-starter-flyway</artifactId>
        </dependency>
        <!--配置中心-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-cloud-starter-config-apollo</artifactId>
        </dependency>

        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>sm-tools-api</artifactId>
        </dependency>
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>sm-tools-local</artifactId>
        </dependency>

        <!--配置 duceap 结束-->
        <!--配置 dcuc 开始-->
        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-auth-api</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-app-api</artifactId>
            <version>2.2.4-tjdsj-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-common</artifactId>
            <version>2.1.0-tjdsj-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-duceap-api</artifactId>
            <version>2.2.0-tjdsj-SNAPSHOT</version>
        </dependency>
        <!--配置 dcuc 结束-->

        <!--redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <version>2.1.8.RELEASE</version>
        </dependency>

        <!--配置 spring 开始-->
        <!--配置处理-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <!--监控配置-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <!--kafka-->
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
        </dependency>
        <!--测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-launcher</artifactId>
            <scope>test</scope>
        </dependency>
        <!--配置 spring 结束-->
        <!--许可-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-support-license</artifactId>
        </dependency>

        <!--许可依赖包 结束-->

        <!--配置第三方组件开始-->
        <!--oracle 引入-->
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
        </dependency>
        <!--mysql 引入-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>compile</scope>
        </dependency>

        <!--消息中心实体类-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>dcms-mq-client-model</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!--重试-->
        <dependency>
            <groupId>org.springframework.retry</groupId>
            <artifactId>spring-retry</artifactId>
        </dependency>

        <!--对接审计-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>auditlog-qm-tj</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>joda-time</artifactId>
                    <groupId>joda-time</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- 分布式锁 -->
        <dependency>
            <groupId>org.redisson</groupId>
            <artifactId>redisson</artifactId>
            <version>3.5.4</version>
        </dependency>

        <dependency>
            <groupId>com.github.dreamhead</groupId>
            <artifactId>moco-core</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.github.dreamhead</groupId>
            <artifactId>moco-junit</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>it.ozimov</groupId>
            <artifactId>embedded-redis</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-simple</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--配置第三方组件结束-->
    </dependencies>
    <packaging>${project.packaging}</packaging>

    <profiles>
        <profile>
            <id>jar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <project.packaging>jar</project.packaging>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <version>2.6</version>
                        <executions>
                            <execution>
                                <id>copy-libs</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>copy-dependencies</goal>
                                </goals>
                                <configuration>
                                    <!--排除licenseignore包,用来禁用许可开关,防止生产环境通过关闭开关,绕过许可-->
                                    <!--                                <excludeArtifactIds>duceap-support-licenseignore</excludeArtifactIds>-->
                                    <excludeScope>provided</excludeScope>
                                    <outputDirectory>${project.build.directory}/lib</outputDirectory>
                                    <!--取消依赖包的时间戳-->
                                    <useBaseVersion>true</useBaseVersion>
                                </configuration>
                            </execution>
                            <execution>
                                <id>unpack</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>com.dragonsoft</groupId>
                                            <artifactId>duceap-base</artifactId>
                                            <!--根据框架版本修改-->
                                            <version>2.1.0-SNAPSHOT</version>
                                            <!--<version>2.1.0-SNAPSHOT</version>-->
                                            <outputDirectory>${project.build.directory}/temp</outputDirectory>
                                            <!--加入平台的启动脚本-->
                                            <includes>META-INF/scripts/**</includes>
                                        </artifactItem>
                                    </artifactItems>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>2.5.5</version>
                        <executions>
                            <execution>
                                <id>make-assembly</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <finalName>${project.name}-${project.version}</finalName>
                                    <appendAssemblyId>false</appendAssemblyId>
                                    <!--配置描述文件路径-->
                                    <descriptor>src/main/assembly/assembly.xml</descriptor>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>2.4</version>
                        <configuration>
                            <archive>
                                <manifest>
                                    <!--运行jar包时运行的主类,要求类全名-->
                                    <mainClass>com.dragoninfo.dcuc.auth.DcucAuthApplication</mainClass>
                                    <addClasspath>true</addClasspath>
                                    <!--取消MANIFEST.MF中classpath下的时间戳-->
                                    <useUniqueVersions>false</useUniqueVersions>
                                </manifest>
                            </archive>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>3.6.0</version>
                        <configuration>
                            <source>8</source>
                            <target>8</target>
                        </configuration>
                    </plugin>
                    <!--生成git-infos.properties 版本文件-->
                    <plugin>
                        <groupId>pl.project13.maven</groupId>
                        <artifactId>git-commit-id-plugin</artifactId>
                        <version>4.9.10</version>
                        <executions>
                            <execution>
                                <id>get-the-git-infos</id>
                                <goals>
                                    <goal>revision</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <abbrevLength>8</abbrevLength>
                            <dateFormat>yyyy-MM-dd HH:mm:ss</dateFormat>
                            <generateGitPropertiesFile>true</generateGitPropertiesFile>
                            <includeOnlyProperties>
                                <includeOnlyProperty>^git.branch</includeOnlyProperty>
                                <includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty>
                                <includeOnlyProperty>^git.commit.(id|id.abbrev|message.full)*</includeOnlyProperty>
                            </includeOnlyProperties>
                            <generateGitPropertiesFilename>${project.build.outputDirectory}/git-infos.properties
                            </generateGitPropertiesFilename>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>