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

    Copyright (c) 2022, 2024  Contributors to the Eclipse Foundation
    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.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.7</version>
    </parent>

    <groupId>jakarta.tck</groupId>
    <artifactId>project</artifactId>
    <version>11.0.0-M1</version>
    <packaging>pom</packaging>
    <name>project</name>
    <description>project</description>

    <modules>
        <module>appclient</module>
        <module>assembly</module>
        <module>common</module>
        <module>connector</module>
        <!-- not needed anymore -->
        <!--        <module>docker</module>-->
        <module>core-profile-tck</module>
        <module>ejb</module>
        <module>ejb30</module>
        <module>ejb30-ws</module>
        <module>ejb32</module>
        <module>el</module>
        <module>integration</module>
        <!-- some proprietary code ? -->
        <!--        <module>internal</module>-->
        <module>jacc</module>
        <module>javaee</module>
        <module>javamail</module>
        <module>jaxrs</module>
        <module>jaxws</module>
        <module>jaxws-common</module>
        <module>jdbc</module>
        <module>jms</module>
        <module>jpa</module>
        <module>jsonb</module>
        <module>jsonp</module>
        <module>jsp</module>
        <module>jstl</module>
        <module>jta</module>
        <module>jws</module>
        <module>jws-common</module>
        <module>libutil</module>
        <!--        <module>glassfishtck</module>-->
        <module>runtime</module>
        <module>saaj</module>
        <module>samples</module>
        <module>servlet</module>
        <module>signaturetest</module>
        <module>user_guides</module>
        <module>webartifacts/jsf</module>
        <module>webartifacts/jsp</module>
        <module>webartifacts/jstl</module>
        <module>webartifacts/servlet</module>
        <!-- TODO: implement or remove optional webservices12/webservices13 tests -->
        <!--        <module>webservices12</module>-->
        <!--        <module>webservices13</module>-->
        <module>websocket</module>
        <module>xa</module>

    </modules>

    <properties>
        <ant.version>1.10.11</ant.version>
        <arquillian.version>1.7.0.Alpha10</arquillian.version>
        <!-- CDI -->
        <cdi-api.version>4.0.0</cdi-api.version>
        <!-- Jakarta Concurrency -->
        <concurrent-api.version>2.0.0</concurrent-api.version>
        <!-- Jakarta Persistence -->
        <jakarta-persistence-api.version>3.2.0-M2</jakarta-persistence-api.version>
        <jakarta.activation-api.version>2.0.0</jakarta.activation-api.version>

        <jakarta.annotation-api.version>2.1.1</jakarta.annotation-api.version>
        <jakarta.authentication-api.version>2.0.0</jakarta.authentication-api.version>
        <jakarta.authorization-api.version>2.1.0</jakarta.authorization-api.version>
        <!-- Jakarta Batch -->
        <jakarta.batch-api.version>2.0.0</jakarta.batch-api.version>
        <!-- Jakarta Enterprise beans -->
        <jakarta.ejb-api.version>4.0.0</jakarta.ejb-api.version>
        <jakarta.el-api.version>6.0.0-M1</jakarta.el-api.version>
        <jakarta.faces-api.version>3.0.0</jakarta.faces-api.version>
        <jakarta.inject-api.version>2.0.1</jakarta.inject-api.version>
        <!-- Jakarta Interceptors -->
        <jakarta.interceptor-api.version>2.1.0</jakarta.interceptor-api.version>
        <jakarta.jws-api.version>3.0.0</jakarta.jws-api.version>
        <jakarta.mail-api.version>2.0.0</jakarta.mail-api.version>
        <!-- Jakarta Connectors -->
        <jakarta.resource-api.version>2.0.0</jakarta.resource-api.version>
        <!-- Jakarta EE Security + Authentication/Authorization -->
        <jakarta.security.enterprise-api.version>2.0.0</jakarta.security.enterprise-api.version>
        <jakarta.servlet-api.version>6.0.0</jakarta.servlet-api.version>
        <!-- Jakarta Transactions -->
        <jakarta.transaction-api.version>2.0.0</jakarta.transaction-api.version>
        <jakarta.validation-api.version>3.0.0</jakarta.validation-api.version>

        <jakarta.ws.rs-api.version>3.1.0</jakarta.ws.rs-api.version>
        <jakarta.xml.bind-api.version>3.0.0</jakarta.xml.bind-api.version>
        <jakarta.xml.soap-api.version>3.0.0</jakarta.xml.soap-api.version>
        <jakarta.xml.ws-api.version>4.0.0</jakarta.xml.ws-api.version>
        <javatest.version>5.0</javatest.version>
        <jaxb-osgi.version>3.0.0</jaxb-osgi.version>
        <!-- Jakarta Messaging -->
        <jms-api.version>3.1.0</jms-api.version>
        <json.bind-api.version>3.0.0</json.bind-api.version>
        <!-- Jakarta JSON -->
        <jsonp-api.version>2.1.1</jsonp-api.version>
        <!-- Jakarta Server Pages -->
        <jsp-api.version>3.1.0</jsp-api.version>
        <!-- Jakarta Standard Tag Library -->
        <jstl-api.version>2.0.0</jstl-api.version>
        <maven.compiler.release>17</maven.compiler.release>
        <maven.compiler.testRelease>${maven.compiler.release}</maven.compiler.testRelease>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <slf4j.version>2.0.0</slf4j.version>
        <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests>
        <webservices-api-osgi.version>3.0.0</webservices-api-osgi.version>
        <webservices-api.version>3.0.0</webservices-api.version>
        <webservices-osgi.version>3.0.0</webservices-osgi.version>
        <webservices-tools.version>3.0.0</webservices-tools.version>
        <!-- Jakarta WebSocket -->
        <websocket-api.version>2.2.0</websocket-api.version>
        <websocket-client-api.version>2.2.0</websocket-client-api.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>appclient</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>runtime</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>assembly</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>common</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>ejb30</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>ejb30-ws</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>ejb32</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>ejb</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>concurrency</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>connector</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>el</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>integration</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>internal</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jacc</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jaspic</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>javaee</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>javamail</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jaxrs-platform-tck</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jaxws</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jaxws-common</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jdbc</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jms</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jpa</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jsf</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jsonb</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jsonp</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jsp</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jstl</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jta</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jws</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>jws-common</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>libutil</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>saaj</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>samples</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>securityapi</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>servlet</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>signaturetest</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>webservices12</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>webservices13</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>websocket</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>xa</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>3.1</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>javatest</groupId>
                <artifactId>javatest</artifactId>
                <version>${javatest.version}</version>
                <scope>compile</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>web-servlet</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>web-jsp</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>5.9.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${arquillian.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.activation</groupId>
                <artifactId>jakarta.activation-api</artifactId>
                <version>${jakarta.activation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${jakarta.annotation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant</artifactId>
                <version>${ant.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.10.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.9</version>
            </dependency>
            <dependency>
                <groupId>jakarta.authentication</groupId>
                <artifactId>jakarta.authentication-api</artifactId>
                <version>${jakarta.authentication-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.authorization</groupId>
                <artifactId>jakarta.authorization-api</artifactId>
                <version>${jakarta.authorization-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.batch</groupId>
                <artifactId>jakarta.batch-api</artifactId>
                <version>${jakarta.batch-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ejb</groupId>
                <artifactId>jakarta.ejb-api</artifactId>
                <version>${jakarta.ejb-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${jakarta.el-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${cdi-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise.concurrent</groupId>
                <artifactId>jakarta.enterprise.concurrent-api</artifactId>
                <version>${concurrent-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.faces</groupId>
                <artifactId>jakarta.faces-api</artifactId>
                <version>${jakarta.faces-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>${jakarta.inject-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.jws</groupId>
                <artifactId>jakarta.jws-api</artifactId>
                <version>${jakarta.jws-api.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.interceptor</groupId>
                <artifactId>jakarta.interceptor-api</artifactId>
                <version>${jakarta.interceptor-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.jms</groupId>
                <artifactId>jakarta.jms-api</artifactId>
                <version>${jms-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.json.bind</groupId>
                <artifactId>jakarta.json.bind-api</artifactId>
                <version>${json.bind-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.json</groupId>
                <artifactId>jakarta.json-api</artifactId>
                <version>${jsonp-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.mail</groupId>
                <artifactId>jakarta.mail-api</artifactId>
                <version>${jakarta.mail-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.persistence</groupId>
                <artifactId>jakarta.persistence-api</artifactId>
                <version>${jakarta-persistence-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.resource</groupId>
                <artifactId>jakarta.resource-api</artifactId>
                <version>${jakarta.resource-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.security.enterprise</groupId>
                <artifactId>jakarta.security.enterprise-api</artifactId>
                <version>${jakarta.security.enterprise-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${jakarta.servlet-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet.jsp</groupId>
                <artifactId>jakarta.servlet.jsp-api</artifactId>
                <version>${jsp-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet.jsp.jstl</groupId>
                <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
                <version>${jstl-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.transaction</groupId>
                <artifactId>jakarta.transaction-api</artifactId>
                <version>${jakarta.transaction-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${jakarta.validation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.websocket</groupId>
                <artifactId>jakarta.websocket-client-api</artifactId>
                <version>${websocket-client-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.websocket</groupId>
                <artifactId>jakarta.websocket-api</artifactId>
                <version>${websocket-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>${jakarta.ws.rs-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.soap</groupId>
                <artifactId>jakarta.xml.soap-api</artifactId>
                <version>${jakarta.xml.soap-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.ws</groupId>
                <artifactId>jakarta.xml.ws-api</artifactId>
                <version>${jakarta.xml.ws-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jakarta.xml.bind-api.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-osgi</artifactId>
                <version>${jaxb-osgi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.metro</groupId>
                <artifactId>webservices-api</artifactId>
                <version>${webservices-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.metro</groupId>
                <artifactId>webservices-api-osgi</artifactId>
                <version>${webservices-api-osgi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.metro</groupId>
                <artifactId>webservices-osgi</artifactId>
                <version>${webservices-osgi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.metro</groupId>
                <artifactId>webservices-tools</artifactId>
                <version>${webservices-tools.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.spec.javax.rmi</groupId>
                <artifactId>jboss-rmi-api_1.0_spec</artifactId>
                <version>1.0.6.Final</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <pluginRepositories>
        <pluginRepository>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <id>oss.sonatype.org</id>
            <name>Jetty Snapshot Repository</name>
            <url>https://oss.sonatype.org/content/repositories/jetty-snapshots/</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.12.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>com.sun.xml.ws</groupId>
                    <artifactId>jaxws-maven-plugin</artifactId>
                    <version>4.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <mavenExecutorId>forked-path</mavenExecutorId>
                        <preparationGoals>clean install</preparationGoals>
                        <arguments>-Drelease -Dtck-audit</arguments>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.netbeans.tools</groupId>
                    <artifactId>sigtest-maven-plugin</artifactId>
                    <version>1.5</version>
                </plugin>
                <!-- Plugin versions since ee4j parent no longer declares them-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.1.1</version>
                    <configuration>
                        <doclint>none</doclint>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.6.0</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>3.0.0-M1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>tck-extract-tests-maven-plugin</artifactId>
                    <version>1.2.0-SNAPSHOT</version>
                    <configuration>
                        <tckTestsFile>${project.build.outputDirectory}/META-INF/tck-tests.txt</tckTestsFile>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <!-- Sets minimal Maven version to 3.6.3 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>3.6.3</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.diffplug.spotless</groupId>
                <artifactId>spotless-maven-plugin</artifactId>
                <version>2.36.0</version>
                <configuration>
                    <pom>
                        <includes>
                            <include>pom.xml</include>
                        </includes>
                        <sortPom>
                            <nrOfIndentSpace>4</nrOfIndentSpace>
                            <!-- default see https://github.com/Ekryd/sortpom/wiki/PredefinedSortOrderProfiles -->
                            <predefinedSortOrder>recommended_2008_06</predefinedSortOrder>
                            <!-- Sort properties -->
                            <sortProperties>true</sortProperties>
                            <!-- Sort modules -->
                            <sortModules>true</sortModules>
                            <!-- Sort plugin executions -->
                            <sortExecutions>true</sortExecutions>
                        </sortPom>
                    </pom>
                </configuration>
                <executions>
                    <execution>
                        <id>check-spotless-poms</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>validate</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>glassfish-runner</id>
            <modules>
                <module>glassfish-runner</module>
            </modules>
        </profile>
        <profile>
            <id>release</id>
            <distributionManagement>
                <repository>
                    <id>ossrh</id>
                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
                <snapshotRepository>
                    <id>ossrh</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                </snapshotRepository>
            </distributionManagement>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-release-plugin</artifactId>
                        <inherited>true</inherited>
                        <configuration>
                            <autoVersionSubmodules>true</autoVersionSubmodules>
                            <pushChanges>false</pushChanges>
                            <localCheckout>true</localCheckout>
                            <preparationGoals>clean install</preparationGoals>
                            <releaseProfiles>gpg-sign</releaseProfiles>
                            <tagNameFormat>@{project.version}</tagNameFormat>
                        </configuration>
                    </plugin>
                    <plugin>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <doclet>nl.talsmasoftware.umldoclet.UMLDoclet</doclet>
                            <docletArtifact>
                                <groupId>nl.talsmasoftware</groupId>
                                <artifactId>umldoclet</artifactId>
                                <version>2.0.18</version>
                            </docletArtifact>
                            <useStandardDocletOptions>true</useStandardDocletOptions>
                            <charset>UTF-8</charset>
                            <encoding>UTF-8</encoding>
                            <docencoding>UTF-8</docencoding>
                            <breakiterator>true</breakiterator>
                            <version>true</version>
                            <author>true</author>
                            <keywords>true</keywords>
                            <additionalOptions>
                                <additionalOption>-sourceclasspath ${project.build.outputDirectory}</additionalOption>
                            </additionalOptions>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
