<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<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.glassfish.jersey.tests</groupId>
        <artifactId>project</artifactId>
        <version>2.34-SNAPSHOT</version>
    </parent>

    <groupId>org.glassfish.jersey.tests.memleaks</groupId>
    <artifactId>project</artifactId>
    <packaging>pom</packaging>
    <name>jersey-tests-memleak</name>

    <description>
        Memory leaks test maven parent module.

        This module aggregates maven based configuration for all memory leak related modules.

        Note that the majority of plugin execution in maven sub-modules is bound to phase none by default. The reason is that
        memory leak tests are executed only if one of memory leak maven profiles are activated.
    </description>

    <properties>

        <memleak.tmpdir>/tmp</memleak.tmpdir>

        <memleak.jvm.maxheap>512m</memleak.jvm.maxheap>
        <memleak.jvm.heapdumpdir>${project.build.directory}</memleak.jvm.heapdumpdir>

        <external.container.factory>org.glassfish.jersey.test.external.ExternalTestContainerFactory</external.container.factory>
        <external.container.port>${external.container.port.dynamic}</external.container.port>
        <external.container.contextRoot>${project.artifactId}-${project.version}</external.container.contextRoot>
        <external.container.warPath>${project.build.directory}/${project.build.finalName}.${project.packaging}
        </external.container.warPath>
        <external.container.logFile>${project.build.directory}/container.log</external.container.logFile>

        <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
        <memleak.timestamp>${maven.build.timestamp}</memleak.timestamp>

        <memleak.glassfish.zip>${memleak.tmpdir}/memleak-test-glassfish-${memleak.timestamp}.zip</memleak.glassfish.zip>
        <memleak.glassfish.adminPort>${memleak.glassfish.adminPort.dynamic}</memleak.glassfish.adminPort>
        <memleak.glassfish.url>${jersey.runner.distUrl}</memleak.glassfish.url>
        <memleak.glassfish.maxheap>${memleak.jvm.maxheap}</memleak.glassfish.maxheap>

        <memleak.wls.jar>${memleak.tmpdir}/memleak-test-wls-${memleak.timestamp}.jar</memleak.wls.jar>
        <memleak.wls.url>${jersey.runner.distUrl}</memleak.wls.url>
        <memleak.wls.maxheap>${memleak.jvm.maxheap}</memleak.wls.maxheap>

        <memleak.tomcat.version>8.0.23</memleak.tomcat.version>
        <memleak.tomcat.url>
            http://archive.apache.org/dist/tomcat/tomcat-8/v${memleak.tomcat.version}/bin/apache-tomcat-${memleak.tomcat.version}.zip
        </memleak.tomcat.url>
        <memleak.tomcat.zip>${memleak.tmpdir}/memleak-test-tomcat-${memleak.tomcat.version}-${memleak.timestamp}.zip
        </memleak.tomcat.zip>
        <memleak.tomcat.maxheap>${memleak.jvm.maxheap}</memleak.tomcat.maxheap>

        <!-- by default, all common executions are bound to the pahse 'none' so that they're not executed -->
        <phase.common.pre-integration-test>none</phase.common.pre-integration-test>
        <phase.common.post-integration-test>none</phase.common.post-integration-test>

        <!-- by default, redeployment executions are bound to the phase 'none' so that they're not executed -->
        <phase.redeployment.pre-integration-test>none</phase.redeployment.pre-integration-test>
        <phase.redeployment.integration-test>none</phase.redeployment.integration-test>
        <phase.redeployment.post-integration-test>none</phase.redeployment.post-integration-test>

        <!-- by default, test-cases executions are bound to the phase 'none' so that they're not executed -->
        <phase.tests.test>none</phase.tests.test>
        <phase.tests.pre-integration-test>none</phase.tests.pre-integration-test>
        <phase.tests.integration-test>none</phase.tests.integration-test>
        <phase.tests.post-integration-test>none</phase.tests.post-integration-test>
        <phase.tests.verify>none</phase.tests.verify>
    </properties>

    <modules>
        <module>redeployment</module>
        <module>test-cases</module>
    </modules>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>reserve-network-ports</id>
                            <goals>
                                <goal>reserve-network-port</goal>
                            </goals>
                            <phase>${phase.common.pre-integration-test}</phase>
                            <configuration>
                                <portNames>
                                    <portName>external.container.port.dynamic</portName>
                                </portNames>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.glassfish.jersey.test-framework.maven</groupId>
                    <artifactId>container-runner-maven-plugin</artifactId>
                    <version>${project.version}</version>
                    <configuration>
                        <warPath>${external.container.warPath}</warPath>
                        <contextRoot>${external.container.contextRoot}</contextRoot>
                        <port>${external.container.port}</port>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

    </build>

    <profiles>
        <profile>
            <id>gf4</id>
            <properties>
                <external.container.logFile>
                    ${project.build.directory}/glassfish4/glassfish/domains/memleak_test_domain/logs/server.log
                </external.container.logFile>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>build-helper-maven-plugin</artifactId>
                            <configuration>
                                <portNames combine.children="append">
                                    <portName>memleak.glassfish.adminPort.dynamic</portName>
                                </portNames>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.glassfish.jersey.test-framework.maven</groupId>
                            <artifactId>container-runner-maven-plugin</artifactId>
                            <version>${project.version}</version>
                            <configuration>
                                <adminPort>${memleak.glassfish.adminPort}</adminPort>
                                <distUrl>${memleak.glassfish.url}</distUrl>
                                <distTargetLocation>${memleak.glassfish.zip}</distTargetLocation>
                                <distSubdir>glassfish4</distSubdir>
                                <maxHeap>${memleak.glassfish.maxheap}</maxHeap>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>gf4-download</id>
                                    <goals>
                                        <goal>downloadGf4</goal>
                                    </goals>
                                    <phase>${phase.common.pre-integration-test}</phase>
                                </execution>
                                <execution>
                                    <id>gf4-start-and-deploy</id>
                                    <goals>
                                        <goal>startAndDeployGf4</goal>
                                    </goals>
                                    <phase>${phase.common.pre-integration-test}</phase>
                                </execution>
                                <execution>
                                    <id>gf4-undeploy-and-stop</id>
                                    <goals>
                                        <goal>stopGf4</goal>
                                    </goals>
                                    <phase>${phase.common.post-integration-test}</phase>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>wls</id>
            <properties>
                <external.container.logFile>
                    ${project.build.directory}/wls12210/memleak_test_domain/wls.log
                </external.container.logFile>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.glassfish.jersey.test-framework.maven</groupId>
                            <artifactId>container-runner-maven-plugin</artifactId>
                            <configuration>
                                <distUrl>${memleak.wls.url}</distUrl>
                                <distTargetLocation>${memleak.wls.jar}</distTargetLocation>
                                <distSubdir>wls12210</distSubdir>
                                <maxHeap>${memleak.wls.maxheap}</maxHeap>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>wls-download</id>
                                    <goals>
                                        <goal>downloadWls</goal>
                                    </goals>
                                    <phase>${phase.common.pre-integration-test}</phase>
                                </execution>
                                <execution>
                                    <id>wls-deploy</id>
                                    <goals>
                                        <goal>startAndDeployWls</goal>
                                    </goals>
                                    <phase>${phase.common.pre-integration-test}</phase>
                                </execution>
                                <execution>
                                    <id>wls-stop</id>
                                    <goals>
                                        <goal>stopWls</goal>
                                    </goals>
                                    <phase>${phase.common.post-integration-test}</phase>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>tomcat</id>
            <properties>
                <external.container.logFile>
                    ${project.build.directory}/apache-tomcat-${memleak.tomcat.version}/logs/catalina.out
                </external.container.logFile>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.glassfish.jersey.test-framework.maven</groupId>
                            <artifactId>container-runner-maven-plugin</artifactId>
                            <configuration>
                                <distUrl>${memleak.tomcat.url}</distUrl>
                                <distTargetLocation>${memleak.tomcat.zip}</distTargetLocation>
                                <distSubdir>apache-tomcat-${memleak.tomcat.version}</distSubdir>
                                <maxHeap>${memleak.tomcat.maxheap}</maxHeap>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>tomcat-download</id>
                                    <goals>
                                        <goal>downloadTomcat</goal>
                                    </goals>
                                    <phase>${phase.common.pre-integration-test}</phase>
                                </execution>
                                <execution>
                                    <id>tomcat-deploy</id>
                                    <goals>
                                        <goal>startAndDeployTomcat</goal>
                                    </goals>
                                    <phase>${phase.common.pre-integration-test}</phase>
                                </execution>
                                <execution>
                                    <id>tomcat-stop</id>
                                    <goals>
                                        <goal>stopTomcat</goal>
                                    </goals>
                                    <phase>${phase.common.post-integration-test}</phase>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>


        <!-- profiles that help set ${memleak.tmpdir} based on environment -->
        <profile>
            <id>memleak-env-tmpdir</id>
            <activation>
                <property>
                    <name>env.TMPDIR</name>
                </property>
            </activation>
            <properties>
                <memleak.tmpdir>${env.TMPDIR}</memleak.tmpdir>
            </properties>
        </profile>
        <profile>
            <id>memleak-env-tmp</id>
            <activation>
                <property>
                    <name>env.TMP</name>
                </property>
            </activation>
            <properties>
                <memleak.tmpdir>${env.TMP}</memleak.tmpdir>
            </properties>
        </profile>

    </profiles>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.glassfish.jersey.test-framework</groupId>
                <artifactId>memleak-test-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey</groupId>
                <artifactId>jersey-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>
