<?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.dragoninfo</groupId>
    <artifactId>dcuc-auth-back</artifactId>
    <version>2.3.2-tjdsj-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <!--revisions需写死,用于标识打包的版本号,不可删除-->
        <revision>2.3.2-tjdsj-SNAPSHOT</revision>
        <duceap.version>2.1.0-SNAPSHOT</duceap.version>
        <lombok.version>1.18.2</lombok.version>
        <jwt.version>3.10.3</jwt.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- 导入duceap-cloud 2.0 POM定义-->
            <dependency>
                <groupId>com.dragonsoft</groupId>
                <artifactId>duceap-cloud-parent</artifactId>
                <version>${duceap.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

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

        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-user-api</artifactId>
            <version>2.0.4-tjdsj-SNAPSHOT</version>
        </dependency>
        <!--监控配置-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>HdrHistogram</artifactId>
                    <groupId>org.hdrhistogram</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <!--配置 spring boot 结束-->

        <!--配置 duceap 开始-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>duceap-core-repository-jpa</artifactId>
                    <groupId>com.dragonsoft</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- 引入duceap-cloud核心包-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-cloud-starter</artifactId>
        </dependency>

        <!--配置中心-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-cloud-starter-config-apollo</artifactId>
        </dependency>

        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-security-dcuc</artifactId>
        </dependency>
        <!--配置 duceap 结束-->

        <!--配置 dcuc 开始-->
        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-common</artifactId>
            <version>2.0.0-SNAPSHOT</version>
            <exclusions>
                <exclusion>
                    <artifactId>spring-jdbc</artifactId>
                    <groupId>org.springframework</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--许可-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-support-license</artifactId>
        </dependency>

        <!--许可依赖包 结束-->
        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-auth-api</artifactId>
            <version>2.3.2-tjdsj-SNAPSHOT</version>
        </dependency>
        <!--redis缓存-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-boot-starter-cache-redis</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>spring-jdbc</artifactId>
                    <groupId>org.springframework</groupId>
                </exclusion>
            </exclusions>
        </dependency>

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

        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-org-api</artifactId>
            <version>2.0.2-tjdsj-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-coder-api</artifactId>
            <version>2.0.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.dragoninfo</groupId>
            <artifactId>dcuc-duceap-api</artifactId>
            <version>2.1.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
            <version>2.4.2</version>
        </dependency>

        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>${jwt.version}</version>
        </dependency>

        <!--配置 dcuc 结束-->
        <dependency>
            <groupId>net.unicon.cas</groupId>
            <artifactId>cas-client-autoconfig-support</artifactId>
            <version>2.1.0-GA</version>
            <exclusions>
                <exclusion>
                    <artifactId>joda-time</artifactId>
                    <groupId>joda-time</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- https://mvnrepository.com/artifact/log4j/log4j -->

        <dependency>
            <groupId>com.squareup.okhttp</groupId>
            <artifactId>okhttp</artifactId>
            <version>2.7.5</version>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.6</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.sf.ezmorph</groupId>
            <artifactId>ezmorph</artifactId>
            <version>1.0.6</version>
            <scope>compile</scope>
        </dependency>
        <!--dids-->
        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-security-dids</artifactId>
        </dependency>

        <!--测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.dragonsoft</groupId>
            <artifactId>duceap-security-jwt</artifactId>
        </dependency>

    </dependencies>
    <!--指定仓库地址-->
    <repositories>
        <repository>
            <id>public-repository</id>
            <name>Team Nexus Release Repository</name>
            <url>http://192.168.6.13:8081/nexus/content/groups/public</url>
        </repository>
        <repository>
            <id>duceap-releases</id>
            <name>Team Nexus Release Repository</name>
            <url>http://192.168.6.13:8081/nexus/content/groups/Dragon</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>
    </repositories>
    <!-- 设定插件仓库 如有Nexus私服, 取消注释并指向正确的服务器地址.-->
    <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>Team Nexus Repository</name>
            <url>http://192.168.6.13:8081/nexus/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <distributionManagement>
        <repository>
            <id>duceap-releases</id>
            <name>Team Nexus Release Repository</name>
            <url>http://192.168.6.13:8081/nexus/content/repositories/duceap-releases/</url>
        </repository>
        <snapshotRepository>
            <id>duceap-snapshots</id>
            <name>Team Nexus Snapshot Repository</name>
            <url>http://192.168.6.13:8081/nexus/content/repositories/duceap-snapshots</url>
            <uniqueVersion>false</uniqueVersion>
        </snapshotRepository>
    </distributionManagement>

    <packaging>${project.packaging}</packaging>
    <profiles>
        <!--war打包配置-->
        <!--使用方式 mvn clean package -Pwar-->
        <profile>
            <id>war</id>
            <properties>
                <project.packaging>war</project.packaging>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>com.dragonsoft</groupId>
                    <artifactId>duceap-boot-starter-web</artifactId>
                    <!-- 移除嵌入式tomcat插件 -->
                    <exclusions>
                        <exclusion>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-starter-tomcat</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <version>2.1.1</version>
                        <configuration>
                            <failOnMissingWebXml>false</failOnMissingWebXml>
                            <!--排除licenseignore包,用来禁用许可开关,防止生产环境通过关闭开关,绕过许可-->
                           <!-- <packagingExcludes>WEB-INF/lib/duceap-support-licenseignore*.jar</packagingExcludes>-->
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <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.authweb.DcucAuthWebApplication</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>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>