|  | <?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>3.0.0-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> |