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

    Copyright (c) 2011, 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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.glassfish.jersey</groupId>
        <artifactId>project</artifactId>
        <version>3.0.0-SNAPSHOT</version>
    </parent>

    <groupId>org.glassfish.jersey.ext</groupId>
    <artifactId>project</artifactId>
    <packaging>pom</packaging>
    <name>jersey-extensions</name>

    <description>
        Jersey extension modules providing utilities, filters as well as integrations
        with external frameworks (Guice, Spring, Freemarker, etc.) and languages
        (Scala, Groovy, etc.).

        NOTE: Jersey security extensions have their own dedicated security umbrella
        project.
    </description>

    <modules>
        <module>bean-validation</module>
        <module>cdi</module>
        <module>entity-filtering</module>
        <module>metainf-services</module>
        <module>mvc</module>
        <module>mvc-bean-validation</module>
        <module>mvc-freemarker</module>
        <module>mvc-jsp</module>
        <module>mvc-mustache</module>
        <module>proxy-client</module>
        <module>rx</module>
        <!-- do not release spring 4 and spring 5 modules with Jersey 3.x
        <module>spring4</module>
        <module>spring5</module>
        -->
        <module>wadl-doclet</module>
        <!-- do not release MP modules with Jersey 3.x
        <module>microprofile</module>
        -->
    </modules>

    <dependencies>
        <dependency>
            <groupId>jakarta.ws.rs</groupId>
            <artifactId>jakarta.ws.rs-api</artifactId>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.glassfish.jersey.inject</groupId>
            <artifactId>jersey-hk2</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
