| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Copyright (c) 2015, 2021 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.35-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> |