<?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>
    <parent>
        <artifactId>business-central-parent</artifactId>
        <groupId>org.kie</groupId>
        <version>7.64.0.Final</version>
    </parent>

    <artifactId>add-ons-distribution</artifactId>
    <packaging>pom</packaging>
    <name>business central add-ons distribution</name>
    <description>Single ZIP with all the add-ons</description>

    <properties>
        <kie-server-webc.staging.dir>${project.build.directory}/kie-server-webc.war</kie-server-webc.staging.dir>
        <kie-server-controller-webc.staging.dir>${project.build.directory}/kie-server-controller-webc.war</kie-server-controller-webc.staging.dir>
        <optaplanner.staging.dir>${project.build.directory}/optaplanner-distribution-${version.org.kie}</optaplanner.staging.dir>
        <engine.staging.dir>${project.build.directory}/drools-engine</engine.staging.dir>
        <migration-tool.staging.dir>${project.build.directory}/migration-tool</migration-tool.staging.dir>
        <kie-server-controller-ee7.staging.dir>${project.build.directory}/kie-server-controller-ee7.war</kie-server-controller-ee7.staging.dir>
        <kie-server-ee7.staging.dir>${project.build.directory}/kie-server-ee7.war</kie-server-ee7.staging.dir>
    </properties>

    <profiles>
        <profile>
            <id>notProductizedProfile</id>
            <activation>
                <property>
                    <name>!productized</name>
                </property>
            </activation>

            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>regex-property</id>
                                <goals>
                                    <goal>regex-property</goal>
                                </goals>
                                <configuration>
                                    <name>project.version.short</name>
                                    <value>${project.version}</value>
                                    <regex>^([0-9].[0-9]).*$</regex>
                                    <replacement>$1</replacement>
                                    <failIfNoMatch>false</failIfNoMatch>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>get-business-central</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <!-- kie server jws -->
                                        <artifactItem>
                                            <groupId>org.kie.server</groupId>
                                            <artifactId>kie-server</artifactId>
                                            <version>${version.org.kie}</version>
                                            <type>war</type>
                                            <classifier>webc</classifier>
                                            <outputDirectory>${kie-server-webc.staging.dir}</outputDirectory>
                                        </artifactItem>
                                        <!-- kie server ee7 -->
                                        <artifactItem>
                                            <groupId>org.kie.server</groupId>
                                            <artifactId>kie-server</artifactId>
                                            <version>${version.org.kie}</version>
                                            <type>war</type>
                                            <classifier>ee7</classifier>
                                            <outputDirectory>${kie-server-ee7.staging.dir}</outputDirectory>
                                        </artifactItem>
                                        <!-- controller ee7 -->
                                        <artifactItem>
                                            <groupId>org.kie.server</groupId>
                                            <artifactId>kie-server-controller-standalone</artifactId>
                                            <version>${version.org.kie}</version>
                                            <type>war</type>
                                            <classifier>ee7</classifier>
                                            <outputDirectory>${kie-server-controller-ee7.staging.dir}</outputDirectory>
                                        </artifactItem>
                                        <!-- controller jws -->
                                        <artifactItem>
                                            <groupId>org.kie.server</groupId>
                                            <artifactId>kie-server-controller-standalone</artifactId>
                                            <version>${version.org.kie}</version>
                                            <type>war</type>
                                            <classifier>webc</classifier>
                                            <outputDirectory>${kie-server-controller-webc.staging.dir}</outputDirectory>
                                        </artifactItem>
                                        <!-- planner engine -->
                                        <artifactItem>
                                            <groupId>org.optaplanner</groupId>
                                            <artifactId>optaplanner-distribution</artifactId>
                                            <version>${version.org.kie}</version>
                                            <type>zip</type>
                                            <outputDirectory>${project.build.directory}</outputDirectory>
                                        </artifactItem>
                                        <!-- decision engine -->
                                        <artifactItem>
                                            <groupId>org.drools</groupId>
                                            <artifactId>droolsjbpm-brms-distribution</artifactId>
                                            <version>${version.org.kie}</version>
                                            <classifier>bin</classifier>
                                            <type>zip</type>
                                            <outputDirectory>${engine.staging.dir}</outputDirectory>
                                        </artifactItem>
                                        <!-- migration tool -->
                                        <artifactItem>
                                            <groupId>org.kie.workbench</groupId>
                                            <artifactId>kie-wb-common-cli-migration-tool</artifactId>
                                            <version>${version.org.kie}</version>
                                            <type>zip</type>
                                            <classifier>dist</classifier>
                                            <outputDirectory>${migration-tool.staging.dir}</outputDirectory>
                                        </artifactItem>
                                    </artifactItems>
                                    <overWriteSnapshots>true</overWriteSnapshots>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>add-ons-distribution-assembly</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <finalName>add-ons-${project.version}</finalName>
                                    <outputDirectory>${project.build.directory}</outputDirectory>
                                    <appendAssemblyId>true</appendAssemblyId>
                                    <attach>true</attach>
                                    <descriptors>
                                        <descriptor>${basedir}/src/main/assembly/kie-server-jws.zip.xml</descriptor>
                                        <descriptor>${basedir}/src/main/assembly/controller-ee7.zip.xml</descriptor>
                                        <descriptor>${basedir}/src/main/assembly/controller-jws.zip.xml</descriptor>
                                        <descriptor>${basedir}/src/main/assembly/planner-engine.zip.xml</descriptor>
                                        <descriptor>${basedir}/src/main/assembly/decision-engine.zip.xml</descriptor>
                                        <descriptor>${basedir}/src/main/assembly/migration-tool.zip.xml</descriptor>
                                        <descriptor>${basedir}/src/main/assembly/add-ons.zip.xml</descriptor>
                                        <descriptor>${basedir}/src/main/assembly/kie-server-ee7.zip.xml</descriptor>
                                    </descriptors>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
