<?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>
        <groupId>com.tydic.parent</groupId>
        <artifactId>parent-cnnc</artifactId>
        <version>2.0.0-DEV-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.tydic.uecext</groupId>
    <artifactId>cnnc-uec-ext</artifactId>
    <version>1.0.0-SpringCloud-TEST-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>cnnc-uec-ext</name>

    <modules>
        <module>cnnc-uec-ext-api</module>
        <module>cnnc-uec-ext-service</module>
        <module>cnnc-uec-ext-controller</module>
        <module>cnnc-uec-ext-center</module>
    </modules>

    <properties>
        <uec.core.version>2.0.0-SpringCloud-TEST-SNAPSHOT</uec.core.version>
        <uec.ext.version>1.0.0-SpringCloud-TEST-SNAPSHOT</uec.ext.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <jdk.version>1.8</jdk.version>
        <logback.version>1.1.3</logback.version>
        <plugin-autoadapter>1.1.3-SNAPSHOT</plugin-autoadapter>
        <ant-contrib-version>1.0b3</ant-contrib-version>
        <!-- 编译时参数，可选值dev,uat,prod -->
        <env>env</env>


        <!--是否启用编译插件-->
        <compile.enable>false</compile.enable>
        <!--是否替换主类，默认false，为true生效的前提是：enable为true，不然这个配置成true也无效-->
        <compile.replaceMainAble>true</compile.replaceMainAble>
        <!--架构类型，HSF，Dubbo，SpringCloud之一-->
        <compile.invokeTypes>SpringCloud</compile.invokeTypes>
        <!--pom文件名称，注意：对应所有pom名称都要一样(易修改项)-->
        <compile.pomName>TEST-S.xml</compile.pomName>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.tydic.uecext</groupId>
                <artifactId>cnnc-uec-ext-api</artifactId>
                <version>${uec.ext.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.uecext</groupId>
                <artifactId>cnnc-uec-ext-center</artifactId>
                <version>${uec.ext.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.uecext</groupId>
                <artifactId>cnnc-uec-ext-controller</artifactId>
                <version>${uec.ext.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.uecext</groupId>
                <artifactId>cnnc-uec-ext-service</artifactId>
                <version>${uec.ext.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.uec</groupId>
                <artifactId>uec-api</artifactId>
                <version>${uec.core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.uec</groupId>
                <artifactId>uec-center</artifactId>
                <version>${uec.core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tydic.uec</groupId>
                <artifactId>uec-controller</artifactId>
                <version>${uec.core.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <!--<version>${spring.boot.version}</version>-->
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-archetype-plugin</artifactId>
                <!--<version>3.0.1</version>-->
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <!--<version>3.7.0</version>-->
                <configuration>
                    <source>${maven.compiler.target}</source>
                    <target>${maven.compiler.target}</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <!--<version>3.1.1</version>-->
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Class-Path>.</Class-Path>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.tydic.plugin.maven</groupId>
                <artifactId>plugin-boot-compile</artifactId>
                <version>1.0.5</version>
                <configuration>
                    <!--开关-->
                    <enable>${compile.enable}</enable>
                    <!--哪些子工程需要参与编译-->
                    <options>
                        <option>cnnc-uec-ext</option>
                        <option>cnnc-uec-ext-api</option>
                        <option>cnnc-uec-ext-service</option>
                        <option>cnnc-uec-ext-center</option>
                        <option>cnnc-uec-ext-controller</option>
                    </options>

                    <!--pom文件名称，注意：对应所有pom名称都要一样(易修改项)-->
                    <pomName>${compile.pomName}</pomName>
                    <!--架构类型，支持Dubbo、HSF、SpringCloud，会去修改lombok.config配置文件(易修改项)-->
                    <invokeTypes>${compile.invokeTypes}</invokeTypes>
                    <!--下面三个是打了包，跟jar包版本号走的，建议统一，不需要改-->
                    <group>uec-service</group>
                    <version>1.0.0</version>
                    <applicationName>uec-service</applicationName>

                    <!--照抄-->
                    <projectName>${project.artifactId}</projectName>
                    <!--照抄-->
                    <projectPath>${project.basedir}</projectPath>
                    <!--照抄-->
                    <packaging>${project.packaging}</packaging>
                    <pomsFileName>apoms</pomsFileName>

                    <!--是否替换主类，默认false，为true生效的前提是：enable为true，不然这个配置成true也无效。
                    如果需要需要在服务器上编译时动态传值，定义成属性(节点properties中)，编译时，通过-D传入-->
                    <replaceMainAble>${compile.replaceMainAble}</replaceMainAble>

                    <!--主类工程-主类名对应的map，例如：key=cnnc-mmc-ext-service,value=MmcServiceApplication -->
                    <mainObjectMap>
                        <cnnc-uec-ext-service>UecExtServiceStartApp</cnnc-uec-ext-service>
                    </mainObjectMap>
                </configuration>
                <executions>
                    <execution>
                        <phase>clean</phase>
                        <goals>
                            <goal>BootCompileMojo</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <!--修复外部依赖的资源无法打进jar包里面 -->
            <resource>
                <directory>src/lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <!--修复idea 配置文件在src下面不编译 -->
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>


    </build>

</project>