<?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>
        <groupId>org.jboss.windup</groupId>
        <artifactId>windup-parent</artifactId>
        <version>6.2.0.Final</version>
    </parent>

    <groupId>org.jboss.windup.tests</groupId>
    <artifactId>windup-tests</artifactId>

    <name>Windup Engine - Tests</name>

    <properties>
        <surefire-argLine>-Xms512m -Xmx2048m -XX:MaxMetaspaceSize=768m -XX:ReservedCodeCacheSize=128m</surefire-argLine>
    </properties>

    <dependencies>

        <!-- Local Dependencies -->

        <!-- Addon Dependencies -->
        <dependency>
            <groupId>org.jboss.windup.tests</groupId>
            <artifactId>test-util</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.rules.apps</groupId>
            <artifactId>windup-rules-base</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.rules.apps</groupId>
            <artifactId>windup-rules-java</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.rules.apps</groupId>
            <artifactId>windup-rules-java-ee</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.rules.apps</groupId>
            <artifactId>windup-rules-java-project</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.rules.apps</groupId>
            <artifactId>windup-rules-tattletale</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.rules.apps</groupId>
            <artifactId>windup-rules-xml</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.graph</groupId>
            <artifactId>windup-graph</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.config</groupId>
            <artifactId>windup-config</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.config</groupId>
            <artifactId>windup-config-xml</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.config</groupId>
            <artifactId>windup-config-groovy</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.exec</groupId>
            <artifactId>windup-exec</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.utils</groupId>
            <artifactId>windup-utils</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.reporting</groupId>
            <artifactId>windup-reporting</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.reporting</groupId>
            <artifactId>windup-reporting-data</artifactId>
            <classifier>forge-addon</classifier>
            <scope>provided</scope>
        </dependency>


        <!-- Test Dependencies -->
        <dependency>
            <groupId>org.jboss.windup</groupId>
            <artifactId>windup-bootstrap-windup</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
            <version>1.4.01</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.forge.furnace.container</groupId>
            <artifactId>cdi</artifactId>
            <classifier>forge-addon</classifier>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup</groupId>
            <artifactId>windup-test-harness</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup</groupId>
            <artifactId>windup-module-spec</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.windup.rules.apps</groupId>
            <artifactId>windup-rules-java-archives</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.jboss.forge.furnace</groupId>
                <artifactId>furnace-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>deploy-addons-for-bootstrap-tests</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>addon-install</goal>
                        </goals>
                        <inherited>false</inherited>
                        <configuration>
                            <!-- obtained from windup-distribution/pom.xml -->
                            <addonRepository>${project.build.directory}/forge-addons-for-bootstrap-tests</addonRepository>
                            <addonIds>
                                <addonId>org.jboss.forge.addon:addon-manager,${version.forge}</addonId>
                                <addonId>org.jboss.forge.addon:maven,${version.forge}</addonId>
                                <addonId>org.jboss.forge.addon:projects,${version.forge}</addonId>
                                <addonId>org.jboss.forge.furnace.container:cdi,${version.furnace}</addonId>
                                <addonId>org.jboss.forge.furnace.container:simple,${version.furnace}</addonId>
                                <addonId>org.jboss.windup.ui:windup-ui,${project.version}</addonId>
                                <addonId>org.jboss.windup.rules.apps:windup-rules-java,${project.version}</addonId>
                                <addonId>org.jboss.windup.rules.apps:windup-rules-java-archives,${project.version}</addonId>
                                <addonId>org.jboss.windup.rules.apps:windup-rules-java-project,${project.version}</addonId>
                                <addonId>org.jboss.windup.rules.apps:windup-rules-java-ee,${project.version}</addonId>
                                <addonId>org.jboss.windup:windup-tooling,${project.version}</addonId>
                                <!-- this will be used in the tests, see InstallRemoveAddonCommandTest -->
                                <!--<addonId>org.jboss.windup.rules.apps:windup-rules-tattletale,${project.version}</addonId>-->
                            </addonIds>
                            <skip>${skipTests}</skip>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>${testExcludeString}</exclude>
                    </excludes>
                    <!-- http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation -->
                    <argLine>${surefire-argLine}</argLine>
                    <reuseForks>false</reuseForks>
                    <forkCount>1</forkCount>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>surefire-jdk11</id>
            <activation>
                <property>
                    <name>jdk.version</name>
                    <value>11</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <excludes>
                                <exclude>${testExcludeString}</exclude>
                                <exclude>org.jboss.windup.tests.application.WindupArchitectureMediumBinaryModeProcyonTest</exclude>
                            </excludes>
                            <!-- http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation -->
                            <argLine>${surefire-argLine} --add-modules java.se</argLine>
                            <reuseForks>false</reuseForks>
                            <forkCount>1</forkCount>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>surefire-jdk17</id>
            <activation>
              <jdk>17</jdk>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <excludes>
                                <exclude>${testExcludeString}</exclude>
                            </excludes>
                            <!-- http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation -->
                            <argLine>${surefire-argLine} --add-modules java.se --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.stream=ALL-UNNAMED</argLine>
                            <reuseForks>false</reuseForks>
                            <forkCount>1</forkCount>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
