<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>

    <parent>
        <groupId>com.tydic.parent</groupId>
        <artifactId>parent-cnnc</artifactId>
        <version>2.0.0-SNAPSHOT</version>
    </parent>

    <groupId>com.tydic.umc</groupId>
    <artifactId>cnnc-umc-ext</artifactId>
    <version>2.1.0-CLOUD-TEST-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>cnnc-umc-ext</name>
    <description>天源迪科FastCloud企业级统一研发平台</description>
    <url>https//www.tydic.com</url>

    <developers>
        <developer>
            <name>刘振华</name>
            <email>liuzhenhua@tydic.com</email>
            <url>www.tydic.com</url>
        </developer>
    </developers>

    <properties>
        <!--项目相关-->
        <umc.project.version>2.1.0-CLOUD-TEST-SNAPSHOT</umc.project.version>
        <pesapp.umc.ext.version>2.1.0-CLOUD-TEST-SNAPSHOT</pesapp.umc.ext.version>
        <external.version>2.1.0-CLOUD-TEST-SNAPSHOT</external.version>
        <uac.version>2.1.3-SNAPSHOT</uac.version>
        <!--<plugin.version>2.0.3</plugin.version>-->
        <!-- 需要通过mvn -D传入的参数，定义到这儿，然后在插件配置的地方引用属性即可 -->
        <!--是否启用编译插件，本地建议false-->
        <compile.enable>false</compile.enable>
        <!--是否替换主类，默认false，为true生效的前提是：enable为true，不然这个配置成true也无效-->
        <compile.replaceMainAble>true</compile.replaceMainAble>
        <!--架构类型，HSF，Dubbo，SpringCloud之一-->
        <umc.ext.compile.invokeTypes>SpringCloud</umc.ext.compile.invokeTypes>
        <!--pom文件名称，注意：对应所有pom名称都要一样(易修改项)-->
        <compile.pomName>TEST-S.xml</compile.pomName>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!--项目相关定义开始 -->
            <dependency>
                <groupId>com.tydic.umc</groupId>
                <artifactId>cnnc-umc-ext-api</artifactId>
                <version>${pesapp.umc.ext.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.umc</groupId>
                <artifactId>cnnc-umc-ext-center</artifactId>
                <version>${pesapp.umc.ext.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.umc</groupId>
                <artifactId>cnnc-umc-ext-controller</artifactId>
                <version>${pesapp.umc.ext.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.umc</groupId>
                <artifactId>cnnc-umc-security-plugin</artifactId>
                <version>${pesapp.umc.ext.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.umc</groupId>
                <artifactId>umc-api</artifactId>
                <version>${umc.project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.umc</groupId>
                <artifactId>umc-center</artifactId>
                <version>${umc.project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.umc</groupId>
                <artifactId>umc-controller</artifactId>
                <version>${umc.project.version}</version>
            </dependency>

            <!--<dependency>-->
                <!--<groupId>com.tydic.umc</groupId>-->
                <!--<artifactId>cnnc-umc-external-api</artifactId>-->
                <!--<version>${external.version}</version>-->
            <!--</dependency>-->

            <!--<dependency>-->
                <!--<groupId>com.tydic.umc</groupId>-->
                <!--<artifactId>cnnc-umc-external-center</artifactId>-->
                <!--<version>${external.version}</version>-->
            <!--</dependency>-->
            <!--项目相关定义结束 -->

        </dependencies>
    </dependencyManagement>


    <build>
        <plugins>
            <plugin>
                <groupId>com.tydic.plugin.maven</groupId>
                <artifactId>plugin-boot-compile</artifactId>
                <version>1.0.6</version>
                <configuration>
                    <!--开关，true为打开，建议本地设为false，避免引起不必要的麻烦。
                    如果需要需要在服务器上编译时动态传值，定义成属性(节点properties中)，编译时，通过-D传入-->
                    <enable>${compile.enable}</enable>
                    <!--哪些子工程需要参与编译-->
                    <options>
                        <option>cnnc-umc-ext</option>
                        <option>cnnc-umc-ext-api</option>
                        <option>cnnc-umc-ext-center</option>
                        <option>cnnc-umc-ext-controller</option>
                        <option>cnnc-umc-security-plugin</option>
                        <option>cnnc-umc-ext-admin</option>
                        <option>umc-ext-service</option>
                    </options>

                    <!--pom文件名称，注意：对应所有pom名称都要一样(易修改项)-->
                    <pomName>${compile.pomName}</pomName>
                    <!--架构类型，支持Dubbo、HSF、SpringCloud，会去修改lombok.config配置文件(易修改项)-->
                    <invokeTypes>${umc.ext.compile.invokeTypes}</invokeTypes>
                    <!--下面三个是打了包，跟jar包版本号走的，建议统一，不需要改-->
                    <group>UMC_GROUP_DEV</group>
                    <version>1.0.0</version>
                    <applicationName>umc-service</applicationName>

                    <!--工程artifactId，照抄(注意：artifactId最好和工程文件夹名称一样，避免clean时找不到文件夹的问题)-->
                    <projectName>${project.artifactId}</projectName>
                    <!--项目根路径，照抄-->
                    <projectPath>${project.basedir}</projectPath>
                    <!--项目包类型，照抄，用于定位poms绝对路径-->
                    <packaging>${project.packaging}</packaging>
                    <!--poms文件夹名称，默认poms，自定义便于poms文件夹处在项目结构最上面，方便查看-->
                    <pomsFileName>apoms</pomsFileName>

                    <!--是否替换主类，默认false，为true生效的前提是：enable为true，不然这个配置成true也无效。
                    如果需要需要在服务器上编译时动态传值，定义成属性(节点properties中)，编译时，通过-D传入-->
                    <replaceMainAble>${compile.replaceMainAble}</replaceMainAble>

                    <!--主类工程-主类名对应的map，例如：key=mmc-service,value=MmcServiceApplication -->
                    <mainObjectMap>
                        <umc-ext-service>ServiceApplication</umc-ext-service>
                        <umc-ext-admin>AdminApplication</umc-ext-admin>
                    </mainObjectMap>

                </configuration>
                <executions>
                    <execution>
                        <phase>clean</phase>
                        <goals>
                            <goal>BootCompileMojo</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <modules>
        <module>umc-ext-api</module>
        <module>umc-ext-center</module>
        <!--        <module>umc-ext-controller</module>-->
        <module>umc-ext-service</module>
        <!--        <module>umc-ext-admin</module>-->
        <module>umc-security-plugin</module>
        <!--<module>../umc-boot</module>-->
    </modules>
</project>