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

    Copyright (c) 2011, 2024 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Distribution License v. 1.0, which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: BSD-3-Clause

-->

<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.examples</groupId>
        <artifactId>webapp-example-parent</artifactId>
        <relativePath>../webapp-example-parent/pom.xml</relativePath>
        <version>4.0.99-SNAPSHOT</version>
    </parent>

    <artifactId>servlet3-webapp</artifactId>
    <packaging>war</packaging>
    <name>jersey-examples-servlet3-webapp</name>

    <description>Jersey Servlet 3 example with missing servlet-class in the web.xml file</description>

    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey.inject</groupId>
            <artifactId>jersey-hk2</artifactId>
        </dependency>

        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
<!--            <plugin>-->
<!--                <groupId>org.apache.maven.plugins</groupId>-->
<!--                <artifactId>maven-compiler-plugin</artifactId>-->
<!--            </plugin>-->
<!--            <plugin>-->
<!--                <groupId>org.apache.maven.plugins</groupId>-->
<!--                <artifactId>maven-surefire-plugin</artifactId>-->
<!--            </plugin>-->
<!--            <plugin>-->
<!--                <groupId>org.apache.maven.plugins</groupId>-->
<!--                <artifactId>maven-failsafe-plugin</artifactId>-->
<!--            </plugin>-->
            <plugin>
                <groupId>org.eclipse.jetty.ee10</groupId>
                <artifactId>jetty-ee10-maven-plugin</artifactId>
                <configuration>
<!--                    <skip>${skip.tests}</skip>-->
<!--                    <stopWait>10</stopWait>-->
<!--                    <stopPort>9999</stopPort>-->
<!--                    <stopKey>STOP</stopKey>-->
                    <httpConnector>
                        <port>${jersey.config.test.container.port}</port>
<!--                        <idleTimeout>60000</idleTimeout>-->
                    </httpConnector>
                </configuration>
<!--                <configuration>-->
<!--                    <skip>${skip.tests}</skip>-->
<!--                    <scanIntervalSeconds>10</scanIntervalSeconds>-->
<!--                    <stopPort>9999</stopPort>-->
<!--                    <stopKey>STOP</stopKey>-->
<!--                    <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>run</goal>-->
<!--                        </goals>-->
<!--                        <configuration>-->
<!--                            <scanIntervalSeconds>0</scanIntervalSeconds>-->
<!--                        </configuration>-->
<!--                    </execution>-->
<!--                    <execution>-->
<!--                        <id>stop-jetty</id>-->
<!--                        <phase>post-integration-test</phase>-->
<!--                        <goals>-->
<!--                            <goal>stop</goal>-->
<!--                        </goals>-->
<!--                    </execution>-->
<!--                </executions>-->
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>pre-release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <properties>
        <jersey.config.test.container.port>9998</jersey.config.test.container.port>
    </properties>

</project>
