<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2026 Contributors to the Eclipse Foundation.
    Copyright (c) 2011, 2026 Oracle and/or its affiliates. All rights reserved.
    Copyright (c) 2018 Payara Foundation 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 https://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>${revision}</version>
    </parent>

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

    <modules>
        <module>asm</module>
        <module>async-jersey-filter</module>
        <module>cdi-integration</module>
        <module>client-connector-provider</module>
        <module>ejb-multimodule</module>
        <module>ejb-multimodule-reload</module>
        <module>ejb-test-webapp</module>
        <module>externalproperties</module>
        <module>helidon3-client</module>
        <module>j-376</module>
        <module>j-441</module>
        <module>j-59</module>
        <module>jackson-14</module>
        <module>jaxrs-component-inject</module>
        <module>jersey-780</module>
        <module>jersey-1107</module>
        <module>jersey-1223</module>
        <module>jersey-1604</module>
        <module>jersey-1667</module>
        <module>jersey-1829</module>
        <module>jersey-1883</module>
        <module>jersey-1928</module>
        <module>jersey-1960</module>
        <module>jersey-1964</module>
        <module>jersey-2031</module>
        <module>jersey-2136</module>
        <module>jersey-2137</module>
        <module>jersey-2154</module>
        <module>jersey-2160</module>
        <module>jersey-2164</module>
        <module>jersey-2167</module>
        <module>jersey-2176</module>
        <module>jersey-2184</module>
        <module>jersey-2255</module>
        <module>jersey-2322</module>
        <module>jersey-2335</module>
        <module>jersey-2421</module>
        <module>jersey-2551</module>
        <module>jersey-2612</module>
        <module>jersey-2637</module>
        <module>jersey-2654</module>
        <module>jersey-2673</module>
        <module>jersey-2689</module>
        <module>jersey-2704</module>
        <module>jersey-2776</module>
        <module>jersey-2794</module>
        <module>jersey-2846</module>
        <module>jersey-2878</module>
        <module>jersey-2892</module>
        <module>jersey-3662</module>
        <module>jersey-3670</module>
        <module>jersey-3796</module>
        <module>jersey-3992</module>
        <module>jersey-4003</module>
        <module>jersey-4099</module>
        <module>jersey-4507</module>
        <module>jersey-4542</module>
        <module>jersey-4697</module>
        <module>jersey-4722</module>
        <module>jersey-4949</module>
        <module>jersey-5087</module>
        <module>jersey-5796</module>
        <module>jersey-6044</module>
        <module>microprofile</module>
        <module>property-check</module>
        <module>reactive-streams</module>
        <module>resteasy-client</module>
        <module>security-digest</module>
        <module>servlet-2.5-reload</module>
        <module>servlet-3-gf-async</module>
        <module>servlet-3-sse-1</module>
        <module>servlet-2.5-autodiscovery-1</module>
        <module>servlet-2.5-autodiscovery-2</module>
        <module>servlet-2.5-filter</module>
        <module>servlet-2.5-inflector-1</module>
        <module>servlet-2.5-init-1</module>
        <module>servlet-2.5-init-2</module>
        <module>servlet-2.5-init-3</module>
        <module>servlet-2.5-init-4</module>
        <module>servlet-2.5-init-5</module>
        <module>servlet-2.5-init-6</module>
        <module>servlet-2.5-init-7</module>
        <module>servlet-2.5-init-8</module>
        <module>servlet-2.5-mvc-1</module>
        <module>servlet-2.5-mvc-2</module>
        <module>servlet-2.5-mvc-3</module>
        <module>servlet-3-async</module>
        <module>servlet-3-chunked-io</module>
        <module>servlet-3-filter</module>
        <module>servlet-3-inflector-1</module>
        <module>servlet-3-init-1</module>
        <module>servlet-3-init-2</module>
        <module>servlet-3-init-3</module>
        <module>servlet-3-init-4</module>
        <module>servlet-3-init-5</module>
        <module>servlet-3-init-6</module>
        <module>servlet-3-init-7</module>
        <module>servlet-3-init-8</module>
        <module>servlet-3-init-9</module>
        <module>servlet-3-init-provider</module>
        <module>servlet-3-params</module>
        <module>servlet-4.0-mvc-1</module>
        <module>servlet-tests</module>
        <module>servlet-request-wrapper-binding</module>
        <module>servlet-request-wrapper-binding-2</module>
        <module>sonar-test</module>
        <module>spring6</module>
        <module>tracing-support</module>
        <module>thin-server</module>
    </modules>

    <properties>
        <env>default</env>
        <jersey.config.test.container.port>9998</jersey.config.test.container.port>
        <jetty.log.file>${project.build.directory}/jetty-out.log</jetty.log.file>
    </properties>

    <profiles>
        <profile>
            <id>sonar</id>
            <build>
                <pluginManagement>
                    <plugins>
                        <!-- configure Jetty to run in a separated JVM in order to get proper coverage -->
                        <plugin>
                            <groupId>org.mortbay.jetty</groupId>
                            <artifactId>jetty-maven-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>start-jetty-forked</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>run-forked</goal>
                                    </goals>
                                    <configuration>
                                        <contextPath>/</contextPath>
                                        <scanIntervalSeconds>0</scanIntervalSeconds>
                                        <waitForChild>false</waitForChild>
                                        <jvmArgs>${server.coverage.argline} -Djetty.port=${jersey.config.test.container.port}
                                            -Dorg.slf4j.simpleLogger.logFile=${jetty.log.file}
                                        </jvmArgs>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>start-jetty</id>
                                    <phase>none</phase>
                                </execution>
                            </executions>
                            <dependencies>
                                <dependency>
                                    <groupId>org.slf4j</groupId>
                                    <artifactId>slf4j-simple</artifactId>
                                    <version>1.7.5</version>
                                </dependency>
                            </dependencies>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
    </profiles>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>jetty-maven-plugin</artifactId>
                    <configuration>
                        <skip>${skip.tests}</skip>
                        <scanIntervalSeconds>10</scanIntervalSeconds>
                        <stopPort>9999</stopPort>
                        <stopKey>STOP</stopKey>
                        <webApp>
                            <contextPath>/</contextPath>
                            <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
                        </webApp>
                        <connectors>
                            <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                                <port>${jersey.config.test.container.port}</port>
                                <maxIdleTime>60000</maxIdleTime>
                            </connector>
                        </connectors>
                        <jvmArgs>${server.coverage.argline}</jvmArgs>
                    </configuration>
                    <executions>
                        <execution>
                            <id>start-jetty</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>run</goal>
                            </goals>
                            <configuration>
                                <scanIntervalSeconds>0</scanIntervalSeconds>
                                <daemon>true</daemon>
                            </configuration>
                        </execution>
                        <execution>
                            <id>stop-jetty</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>stop</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.eclipse.jetty.ee9</groupId>
                    <artifactId>jetty-ee9-maven-plugin</artifactId>
                    <version>${jetty.plugin.version}</version>
                    <configuration>
                        <skip>${skip.tests}</skip>
                        <stopPort>9999</stopPort>
                        <stopKey>STOP</stopKey>
                        <stopWait>10</stopWait>
                        <webApp>
                            <contextPath>/</contextPath>
                            <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
                        </webApp>
                        <httpConnector>
                            <port>${jersey.config.test.container.port}</port>
                            <idleTimeout>60000</idleTimeout>
                        </httpConnector>
                    </configuration>
                    <executions>
                        <execution>
                            <id>start-jetty</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>start</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>stop-jetty</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>stop</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.eclipse.jetty.ee10</groupId>
                    <artifactId>jetty-ee10-maven-plugin</artifactId>
                    <version>${jetty.plugin.version}</version>
                    <configuration>
                        <skip>${skip.tests}</skip>
                        <stopPort>9999</stopPort>
                        <stopKey>STOP</stopKey>
                        <stopWait>10</stopWait>
                        <webApp>
                            <contextPath>/</contextPath>
                            <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
                        </webApp>
                        <httpConnector>
                            <port>${jersey.config.test.container.port}</port>
                            <idleTimeout>60000</idleTimeout>
                        </httpConnector>
                        <systemProperties>
                            <PORT>${jersey.config.test.container.port}</PORT>
                            <IDLE_TIMEOUT>60000</IDLE_TIMEOUT>
                        </systemProperties>
                    </configuration>
                    <executions>
                        <execution>
                            <id>start-jetty</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>start</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>stop-jetty</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>stop</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <configuration>
                    <skip>false</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
