<?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>com.atlassian.audit</groupId>
        <artifactId>atlassian-audit</artifactId>
        <version>1.12.1-819eb1fa</version>
    </parent>

    <artifactId>atlassian-audit-integration-tests</artifactId>

    <name>atlassian-audit-integration-tests</name>

    <properties>
        <integrationTests>**/Auditing*.java</integrationTests>
        <jvmHeap>-Xmx1536m -Xms512m -XX:ReservedCodeCacheSize=256m -XX:MaxMetaspaceSize=512m</jvmHeap>
        <!-- exclude test module-->
        <sonar.skip>true</sonar.skip>
        <sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/${jacoco.report.file}</sonar.coverage.jacoco.xmlReportPaths>
    </properties>

    <dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>atlassian-audit-pageobjects</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>atlassian-audit-plugin</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>atlassian-audit-api</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>${junit-jupiter.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured</artifactId>
            <version>3.2.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-remote-driver</artifactId>
            <version>3.141.59</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.adapter</groupId>
            <artifactId>jackson</artifactId>
            <version>1.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlrpc</groupId>
            <artifactId>xmlrpc-client</artifactId>
            <version>3.1.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.1-atlassian-2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>jira</id>
            <properties>
                <product>jira</product>
                <jvmArgs>
                    -XX:+UseG1GC -Datlassian.darkfeature.jira.onboarding.feature.disabled=true
                    -Datlassian.darkfeature.audit.onboarding.feature.disabled=true
                    -Datlassian.mail.senddisabled=false -Djira.startup.warnings.disable=true
                    -Dcom.atlassian.jira.advanced.audit.log.enabled
                    -Dtroubleshooting.dev.mode=true ${jvmHeap}
                </jvmArgs>
                <productVersion>${jira.version}</productVersion>
                <productSetup>**/setup/JiraLicense.java</productSetup>
            </properties>
        </profile>
        <profile>
            <id>confluence</id>
            <properties>
                <product>confluence</product>
                <jvmArgs>
                    -XX:+UseG1GC -Datlassian.darkfeature.confluence.onboarding.bypass=true
                    -Datlassian.darkfeature.audit.onboarding.feature.disabled=true
                    -Datlassian.darkfeature.confluence.pulp=true
                    -Dtroubleshooting.dev.mode=true ${jvmHeap}
                </jvmArgs>
                <productVersion>${confluence.version}</productVersion>
                <productSetup>**/setup/Confluence*.java</productSetup>
            </properties>
        </profile>
        <profile>
            <id>bitbucket</id>
            <properties>
                <product>bitbucket</product>
                <jvmArgs>
                    -Datlassian.darkfeature.audit.onboarding.feature.disabled=true
                    ${jvmHeap}
                </jvmArgs>
                <productVersion>${bitbucket.version}</productVersion>
                <productSetup>**/setup/Bitbucket*.java</productSetup>
            </properties>
        </profile>
        <profile>
            <id>refapp</id>
            <properties>
                <product>refapp</product>
                <jvmArgs>
                    ${jvmHeap}
                </jvmArgs>
                <productVersion>${refapp.version}</productVersion>
                <productSetup>**/setup/Refapp*.java</productSetup>
            </properties>
        </profile>

        <profile>
            <id>it</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.atlassian.maven.plugins</groupId>
                        <artifactId>amps-maven-plugin</artifactId>
                        <version>${amps.version}</version>
                        <extensions>true</extensions>
                        <executions>
                            <execution>
                                <id>run-amps</id>
                                <phase>pre-integration-test</phase>
                                <goals>
                                    <goal>debug</goal>
                                </goals>
                                <configuration>
                                    <wait>false</wait>
                                    <jvmArgs>${jvmArgs} ${jacoco.it.argLine}</jvmArgs>
                                    <product>${product}</product>
                                    <productVersion>${productVersion}</productVersion>
                                    <!-- To skip prompts to use other amps version-->
                                    <skipAllPrompts>true</skipAllPrompts>
                                    <skipAmpsPomCheck>true</skipAmpsPomCheck>
                                </configuration>
                            </execution>
                            <execution>
                                <id>stop-amps</id>
                                <phase>post-integration-test</phase>
                                <goals>
                                    <goal>stop</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <skipUTs>${skipUTs}</skipUTs>
                            <pluginArtifacts>
                                <pluginArtifact>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>atlassian-audit-plugin</artifactId>
                                    <version>${project.version}</version>
                                </pluginArtifact>
                            </pluginArtifacts>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <version>2.22.0</version>
                        <executions>
                            <execution>
                                <id>product-setup</id>
                                <phase>pre-integration-test</phase>
                                <goals>
                                    <goal>integration-test</goal>
                                </goals>
                                <configuration>
                                    <skipITs>false</skipITs>
                                    <includes>
                                        <include>${productSetup}</include>
                                    </includes>
                                    <systemProperties>
                                        <product>${product}</product>
                                        <xvfb.enable>true</xvfb.enable>
                                        <xvfb.options>-listen,tcp,-once</xvfb.options>
                                    </systemProperties>
                                </configuration>
                            </execution>
                            <execution>
                                <id>run-integration-tests</id>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                                <phase>integration-test</phase>
                                <configuration>
                                    <skipITs>false</skipITs>
                                    <includes>
                                        <include>${integrationTests}</include>
                                    </includes>
                                    <systemProperties>
                                        <product>${product}</product>
                                        <xvfb.enable>true</xvfb.enable>
                                        <xvfb.options>-listen,tcp,-once</xvfb.options>
                                    </systemProperties>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
