<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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.huaweicloud.sermant</groupId>
        <artifactId>sermant</artifactId>
        <version>0.5.2</version>
    </parent>
    <artifactId>sermant-plugins</artifactId>
    <packaging>pom</packaging>
    <properties>
        <sermant.basedir>${pom.basedir}/../..</sermant.basedir>

        <package.plugin.name>${project.artifactId}</package.plugin.name>
        <package.plugin.version>${project.version}</package.plugin.version>
        <package.plugin.dir>${package.agent.dir}/pluginPackage</package.plugin.dir>
        <package.plugin.type>undefined</package.plugin.type>
        <package.output.dir>${package.plugin.dir}/${package.plugin.name}/${package.plugin.type}</package.output.dir>
        <package.server.output.dir>${package.server.dir}/${package.plugin.name}</package.server.output.dir>

        <config.skip.flag>true</config.skip.flag>
        <config.file.name>config.yaml</config.file.name>
        <config.source.dir>../config</config.source.dir>
        <config.output.dir>${package.plugin.dir}/${package.plugin.name}/config</config.output.dir>
    </properties>
    <profiles>
        <profile>
            <id>agent</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>sermant-flowcontrol</module>
                <module>sermant-service-registry</module>
                <module>sermant-dynamic-config</module>
                <module>sermant-router</module>
                <module>sermant-loadbalancer</module>
            </modules>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-shade-plugin</artifactId>
                            <configuration>
                                <outputFile>
                                    ${package.output.dir}/${project.artifactId}-${project.version}.jar
                                </outputFile>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>example</id>
            <modules>
                <module>sermant-service-registry</module>
            </modules>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-shade-plugin</artifactId>
                            <configuration>
                                <outputFile>
                                    ${package.output.dir}/${project.artifactId}-${project.version}.jar
                                </outputFile>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>ext</id>
            <modules>
                <module>sermant-flowcontrol</module>
            </modules>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-shade-plugin</artifactId>
                            <configuration>
                                <outputFile>
                                    ${package.output.dir}/${project.artifactId}-${project.version}.jar
                                </outputFile>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>all</id>
            <modules>
                <module>sermant-flowcontrol</module>
                <module>sermant-server-monitor</module>
                <module>sermant-router</module>
                <module>sermant-threadlocal</module>
                <module>sermant-service-registry</module>
                <module>sermant-luban-adaptor</module>
                <module>sermant-loadbalancer</module>
                <module>sermant-dynamic-config</module>
            </modules>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-shade-plugin</artifactId>
                            <configuration>
                                <outputFile>
                                    ${package.output.dir}/${project.artifactId}-${project.version}.jar
                                </outputFile>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>release</id>
            <modules>
                <module>sermant-flowcontrol</module>
                <module>sermant-service-registry</module>
                <module>sermant-dynamic-config</module>
                <module>sermant-router</module>
                <module>sermant-loadbalancer</module>
                <module>sermant-monitor</module>
            </modules>
        </profile>
    </profiles>

    <build>
        <finalName>${project.artifactId}-${package.plugin.version}</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <manifestEntries>
                                <Sermant-Plugin-Name>${package.plugin.name}</Sermant-Plugin-Name>
                                <Sermant-Plugin-Version>${package.plugin.version}</Sermant-Plugin-Version>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <skip>${config.skip.flag}</skip>
                                <outputDirectory>${config.output.dir}</outputDirectory>
                                <overwrite>true</overwrite>
                                <resources>
                                    <resource>
                                        <directory>${config.source.dir}</directory>
                                        <includes>
                                            <include>${config.file.name}</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
