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

    Copyright (c) 2010, 2024 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.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.9</version>
    </parent>

    <groupId>org.glassfish.jersey</groupId>
    <artifactId>project</artifactId>
    <packaging>pom</packaging>
    <version>3.1.7</version>
    <name>jersey</name>
    <description>
        Eclipse Jersey is the open source (under dual EPL+GPL license) Jakarta RESTful WebServices 3.0
        production quality Reference Implementation for building RESTful Web Services.
    </description>

    <url>https://projects.eclipse.org/projects/ee4j.jersey</url>

    <!-- prerequisites -->

    <issueManagement>
        <system>JIRA</system>
        <url>https://github.com/eclipse-ee4j/jersey/issues</url>
    </issueManagement>

    <ciManagement>
        <system>Hudson</system>
        <url>http://hudson.glassfish.org/job/Jersey-trunk-multiplatform/</url>
    </ciManagement>

    <inceptionYear>2010</inceptionYear>

    <mailingLists>
        <mailingList>
            <name>Users List</name>
            <post>jersey-dev@eclipse.org</post>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <name>Jorge Bescos Gascon</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Lukas Jungmann</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Dmitry Kornilov</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
            <url>https://dmitrykornilov.net</url>
        </developer>
        <developer>
            <name>David Kral</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Tomas Kraus</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Tomas Langer</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Maxim Nesen</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Santiago Pericas-Geertsen</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </developer>
        <developer>
            <name>Jan Supol</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
            <url>http://blog.supol.info</url>
        </developer>
    </developers>

    <contributors>
        <contributor>
            <name>Petr Bouda</name>
        </contributor>
        <contributor>
            <name>Pavel Bucek</name>
            <organization>Oracle Corporation</organization>
            <url>http://u-modreho-kralika.net/</url>
        </contributor>
        <contributor>
            <name>Michal Gajdos</name>
            <url>http://blog.dejavu.sk</url>
        </contributor>
        <contributor>
            <name>Petr Janouch</name>
        </contributor>
        <contributor>
            <name>Libor Kramolis</name>
        </contributor>
        <contributor>
            <name>Adam Lindenthal</name>
        </contributor>
        <contributor>
            <name>Jakub Podlesak</name>
            <organization>Oracle Corporation</organization>
            <organizationUrl>http://www.oracle.com/</organizationUrl>
        </contributor>
        <contributor>
            <name>Marek Potociar</name>
        </contributor>
        <contributor>
            <name>Stepan Vavra</name>
        </contributor>
        <contributor>
            <name>Dmytro Dovnar</name>
        </contributor>
    </contributors>

    <licenses>
        <license>
            <name>EPL 2.0</name>
            <url>http://www.eclipse.org/legal/epl-2.0</url>
            <distribution>repo</distribution>
            <comments>Except for 3rd content and examples.
                      See also https://github.com/eclipse-ee4j/jersey/blob/master/NOTICE.md</comments>
        </license>
        <license>
            <name>GPL2 w/ CPE</name>
            <url>https://www.gnu.org/software/classpath/license.html</url>
            <distribution>repo</distribution>
            <comments>Except for 3rd content and examples.
                      See also https://github.com/eclipse-ee4j/jersey/blob/master/NOTICE.md</comments>
        </license>
        <license>
            <name>EDL 1.0</name>
            <url>http://www.eclipse.org/org/documents/edl-v10.php</url>
            <distribution>repo</distribution>
            <comments>The examples except bookstore-webapp example</comments>
        </license>
        <license>
            <name>BSD 2-Clause</name>
            <url>https://opensource.org/licenses/BSD-2-Clause</url>
            <distribution>repo</distribution>
            <comments>The bookstore-webapp example</comments>
        </license>
        <license>
            <name>Apache License, 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
            <distribution>repo</distribution>
            <comments>Google Guava @ org.glassfish.jersey.internal.guava,
                      Dropwizard Monitoring inspired classes @ org.glassfish.jersey.server.internal.monitoring.core,
                      Hibernate Validation classes @ org.glassfish.jersey.server.validation.internal.hibernate, and
                      Jackson JAX-RS Providers @ org.glassfish.jersey.jackson.internal.jackson.jaxrs</comments>
        </license>
        <license>
            <name>Public Domain</name>
            <url>https://creativecommons.org/publicdomain/zero/1.0/</url>
            <distribution>repo</distribution>
            <comments>JSR-166 Extension to JEP 266 @ org.glassfish.jersey.internal.jsr166</comments>
        </license>
        <license>
            <name>Modified BSD</name>
            <url>https://asm.ow2.io/license.html</url>
            <distribution>repo</distribution>
            <comments>ASM @ jersey.repackaged.org.objectweb.asm</comments>
        </license>
        <license>
            <name>jQuery license</name>
            <url>jquery.org/license</url>
            <distribution>repo</distribution>
            <comments>jQuery v1.12.4</comments>
        </license>
        <license>
            <name>MIT license</name>
            <url>http://www.opensource.org/licenses/mit-license.php</url>
            <distribution>repo</distribution>
            <comments>AngularJS, Bootstrap v3.3.7,
                      jQuery Barcode plugin 0.3, KineticJS v4.7.1</comments>
        </license>
        <license>
            <name>W3C license</name>
            <url>https://www.w3.org/Consortium/Legal/copyright-documents-19990405</url>
            <distribution>repo</distribution>
            <comments>Content of core-server/etc</comments>
        </license>
    </licenses>

    <scm>
        <connection>scm:git:git@github.com:jersey/jersey.git</connection>
        <developerConnection>scm:git:git@github.com:eclipse-ee4j/jersey.git</developerConnection>
        <url>https://github.com/eclipse-ee4j/jersey</url>
        <tag>HEAD</tag>
    </scm>

    <organization>
        <name>Eclipse Foundation</name>
        <url>https://www.eclipse.org/org/foundation/</url>
    </organization>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.glassfish.jersey.tools.plugins</groupId>
                    <artifactId>jersey-doc-modulelist-maven-plugin</artifactId>
                    <version>1.0.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${enforcer.mvn.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>enforce-versions</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <requireJavaVersion>
                                        <version>${java.version}</version>
                                    </requireJavaVersion>
                                    <dependencyConvergence/>
                                </rules>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${buildhelper.mvn.plugin.version}</version>
                    <executions>
                        <execution>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>add-source</goal>
                            </goals>
                            <configuration>
                                <sources>
                                    <source>${project.build.directory}/generated-sources/rsrc-gen</source>
                                </sources>
                            </configuration>
                        </execution>
                        <execution>
                            <phase>initialize</phase>
                            <id>parse-version</id>
                            <goals>
                                <goal>parse-version</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.sun.istack</groupId>
                    <artifactId>istack-commons-maven-plugin</artifactId>
                    <version>${istack.mvn.plugin.version}</version>
                    <executions>
                        <execution>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>rs-gen</goal>
                            </goals>
                            <configuration>
                                <resources>
                                    <directory>${basedir}/src/main/resources</directory>
                                    <includes>
                                        <include>**/localization.properties</include>
                                    </includes>
                                </resources>
                                <destDir>${project.build.directory}/generated-sources/rsrc-gen</destDir>
                                <localizationUtilitiesPkgName>org.glassfish.jersey.internal.l10n</localizationUtilitiesPkgName>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>${clean.mvn.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${compiler.mvn.plugin.version}</version>
                    <inherited>true</inherited>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <compilerArguments>
                            <!--<Werror />-->
                            <!-- TODO work towards eliminating all warnings in order to be able to enable the -Xlint option -->
                            <!--Xlint/-->
                        </compilerArguments>
                        <showWarnings>false</showWarnings>
                        <fork>false</fork>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${jar.mvn.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>${install.mvn.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${resources.mvn.plugin.version}</version>
                    <extensions>true</extensions>
                    <!-- Add legal information, NOTICE.md and LINCENSE.md to jars -->
                    <executions>
                        <execution>
                            <!-- copy the files to classes folder for maven-jar/war-plugin to grab it -->
                            <id>copy-legaldocs</id>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <phase>process-sources</phase>
                            <configuration>
                                <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>${legal.source.folder}</directory>
                                        <targetPath>META-INF/</targetPath>
                                        <includes>
                                            <include>NOTICE.md</include>
                                            <include>LICENSE.md</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                        <execution>
                            <!-- copy the files to source folder for maven-source-plugin to grab it -->
                            <id>copy-legaldocs-to-sources</id>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <phase>process-sources</phase>
                            <configuration>
                                <outputDirectory>${project.build.directory}/generated-sources/rsrc-gen</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>${legal.source.folder}</directory>
                                        <targetPath>META-INF/</targetPath>
                                        <includes>
                                            <include>NOTICE.md</include>
                                            <include>LICENSE.md</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                        <execution>
                            <!-- copy the files to legal folder for felix plugin to grab it -->
                            <id>copy-legaldocs-to-osgi-bundles</id>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <phase>process-sources</phase>
                            <configuration>
                                <outputDirectory>${project.build.directory}/legal</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>${legal.source.folder}</directory>
                                        <targetPath>META-INF/</targetPath>
                                        <includes>
                                            <include>NOTICE.md</include>
                                            <include>LICENSE.md</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${surefire.mvn.plugin.version}</version>
                    <configuration>
                        <!-- print full stack trace if error -->
                        <trimStackTrace>false</trimStackTrace>
                        <!-- for convenience reasons, 'argLine' should not be overridden in child poms. if needed, a property should be declared and used here -->
                        <argLine>
                            -Xmx${surefire.maxmem.argline}m -Dfile.encoding=UTF8 ${surefire.security.argline} ${surefire.coverage.argline}
                        </argLine>
                        <skipTests>${skip.tests}</skipTests>
                        <properties>
                            <configurationParameters>
                                junit.jupiter.execution.parallel.enabled=true
                                junit.jupiter.execution.parallel.mode.classes.default=same_thread
                                junit.jupiter.execution.parallel.mode.default=same_thread
                            </configurationParameters>
                        </properties>
                        <systemPropertyVariables>
                            <jersey.config.test.container.port>${jersey.config.test.container.port}
                            </jersey.config.test.container.port>
                        </systemPropertyVariables>
                        <threadCount>124</threadCount>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-logger-api</artifactId>
                            <version>${surefire.mvn.plugin.version}</version>
                            <!-- to get around bug https://github.com/junit-team/junit5/issues/1367 -->
                            <optional>true</optional>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-api</artifactId>
                            <version>${surefire.mvn.plugin.version}</version>
                            <optional>true</optional>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${assembly.mvn.plugin.version}</version>
                    <configuration>
                        <tarLongFileMode>posix</tarLongFileMode>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>${dependency.mvn.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${javadoc.mvn.plugin.version}</version>
                    <configuration>
                        <doctitle>Jersey ${jersey.version} API Documentation</doctitle>
                        <windowtitle>Jersey ${jersey.version} API</windowtitle>
                        <bottom>
                            <![CDATA[Copyright &#169; 2007-2024,
                                <a href="http://www.oracle.com">Oracle</a>
                                and/or its affiliates.
                                All Rights Reserved. Use is subject to license terms.]]>
                        </bottom>
                        <links>
                            <link>https://jakartaee.github.io/rest/apidocs/3.0.0/</link>
                            <link>https://javaee.github.io/hk2/apidocs/</link>
                            <link>https://eclipse-ee4j.github.io/jersey.github.io/apidocs/latest/jersey/</link>
                        </links>
                        <excludePackageNames>
                            *.innate:*.innate.*:*.tests:*.tests.*
                        </excludePackageNames>
                        <includeDependencySources>false</includeDependencySources>
                        <dependencySourceIncludes>
                            <dependencySourceInclude>org.glassfish.jersey.*:*</dependencySourceInclude>
                        </dependencySourceIncludes>
                        <sourceFileExcludes>
                            <exclude>bundles/**</exclude>
                            <fileExclude>module-info.java</fileExclude>
                        </sourceFileExcludes>
                        <verbose>true</verbose>
                        <doclint>none</doclint>
                        <maxmemory>256m</maxmemory>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <phase>package</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${source.mvn.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>package</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${deploy.mvn.plugin.version}</version>
                    <configuration>
                        <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.ops4j.pax.exam</groupId>
                    <artifactId>maven-paxexam-plugin</artifactId>
                    <version>${paxexam.mvn.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>generate-config</id>
                            <goals>
                                <goal>generate-depends-file</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <options>
                            <platform>felix</platform>
                        </options>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>${exec.mvn.plugin.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>java</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jxr-plugin</artifactId>
                    <version>${jxr.mvn.plugin.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>jxr</goal>
                            </goals>
                            <phase>validate</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>${checkstyle.mvn.plugin.version}</version>
                    <configuration>
                        <configLocation>etc/config/checkstyle.xml</configLocation>
                        <suppressionsLocation>etc/config/checkstyle-suppressions.xml</suppressionsLocation>
                        <outputFile>${project.build.directory}/checkstyle/checkstyle-result.xml</outputFile>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>${checkstyle.version}</version>
                            <exclusions>
                                <!-- MCHECKSTYLE-156 -->
                                <exclusion>
                                    <groupId>com.sun</groupId>
                                    <artifactId>tools</artifactId>
                                </exclusion>
                            </exclusions>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>${findbugs.mvn.plugin.version}</version>
                    <configuration>
                        <skip>${findbugs.skip}</skip>
                        <threshold>${findbugs.threshold}</threshold>
                        <excludeFilterFile>${findbugs.exclude}</excludeFilterFile>
                        <xmlOutput>true</xmlOutput>
                        <findbugsXmlOutput>true</findbugsXmlOutput>
                        <!-- findbugs detector configuration -->
                        <jvmArgs>-Dfindbugs.glassfish.logging.validLoggerPrefixes=${findbugs.glassfish.logging.validLoggerPrefixes}</jvmArgs>
                        <plugins>
                            <plugin>
                                <groupId>org.glassfish.findbugs</groupId>
                                <artifactId>findbugs-logging-detectors</artifactId>
                                <version>${findbugs.glassfish.version}</version>
                            </plugin>
                        </plugins>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.glassfish.findbugs</groupId>
                            <artifactId>findbugs</artifactId>
                            <version>${findbugs.glassfish.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${failsafe.mvn.plugin.version}</version>
                    <configuration>
                        <!-- print full stack trace if error -->
                        <trimStackTrace>false</trimStackTrace>
                        <skipTests>${skip.tests}</skipTests>
                        <skipITs>${skip.tests}</skipITs>
                        <argLine>${failsafe.coverage.argline}</argLine>
                        <systemPropertyVariables>
                            <jersey.config.test.container.port>${jersey.config.test.container.port}
                            </jersey.config.test.container.port>
                        </systemPropertyVariables>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>${war.mvn.plugin.version}</version>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-ear-plugin</artifactId>
                    <version>${ear.mvn.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.glassfish.embedded</groupId>
                    <artifactId>maven-embedded-glassfish-plugin</artifactId>
                    <version>${gfembedded.mvn.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.glassfish.copyright</groupId>
                    <artifactId>glassfish-copyright-maven-plugin</artifactId>
                    <configuration>
                        <excludeFile>etc/config/copyright-exclude</excludeFile>
                        <!--svn|mercurial|git - defaults to svn-->
                        <scm>git</scm>
                        <!-- turn on/off debugging -->
                        <debug>false</debug>
                        <!-- skip files not under SCM-->
                        <scmOnly>true</scmOnly>
                        <!-- turn off warnings -->
                        <warn>false</warn>
                        <!-- for use with repair -->
                        <update>false</update>
                        <!-- check that year is correct -->
                        <ignoreYear>false</ignoreYear>
                        <templateFile>etc/config/copyright.txt</templateFile>
                        <bsdTemplateFile>etc/config/edl-copyright.txt</bsdTemplateFile>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${felix.mvn.plugin.version}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <instructions>
                            <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
                            <_nodefaultversion>false</_nodefaultversion>
                            <Include-Resource>{maven-resources},${project.build.directory}/legal</Include-Resource>
                        </instructions>
                    </configuration>
                    <executions>
                        <execution>
                            <id>osgi-bundle</id>
                            <phase>package</phase>
                            <goals>
                                <goal>bundle</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <version>${xml.mvn.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.sun.tools.xjc.maven2</groupId>
                    <artifactId>maven-jaxb-plugin</artifactId>
                    <version>1.1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>${buildnumber.mvn.plugin.version}</version>
                </plugin>
                <!-- TODO: remove the old jetty plugin dependencies -->
                <plugin>
                    <groupId>org.eclipse.jetty.ee10</groupId>
                    <artifactId>jetty-ee10-maven-plugin</artifactId>
                    <version>${jetty.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.glassfish.build</groupId>
                    <artifactId>gfnexus-maven-plugin</artifactId>
                    <version>0.16</version>
                    <configuration>
                        <stagingRepos>
                            <stagingRepo>
                                <!--
                                    The reference artifact used to identify the right staging repository
                                -->
                                <ref>org.glassfish.jersey:project:${project.version}:pom</ref>
                                <profile>com.sun.jersey</profile>
                            </stagingRepo>
                        </stagingRepos>
                        <!--
                            Temporary till there is a jersey promotion profile
                        -->
                        <promotionProfile>glassfish-integration</promotionProfile>
                        <message>JERSEY-${project.version}</message>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>${shade.mvn.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>shade-archive</id>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                            <configuration>
                                <minimizeJar>false</minimizeJar>
                                <filters>
                                    <filter>
                                        <artifact>*:*</artifact>
                                        <excludes>
                                            <exclude>module-info.*</exclude>
                                        </excludes>
                                    </filter>
                                </filters>
                            </configuration>
                        </execution>
                    </executions>
                    <configuration>
                        <shadeTestJar>false</shadeTestJar>
                        <minimizeJar>true</minimizeJar>
                        <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
                        <!-- Do not create reduced pom - jaxrs-ri cannot be built when set to true -->
                        <createDependencyReducedPom>false</createDependencyReducedPom>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>${antrun.mvn.plugin.version}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.ant</groupId>
                            <artifactId>ant</artifactId>
                            <version>${mvn.ant.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.commonjava.maven.plugins</groupId>
                <artifactId>directory-maven-plugin</artifactId>
                <version>1.0</version>
                <executions>
                    <execution>
                        <id>directories</id>
                        <goals>
                            <goal>highest-basedir</goal>
                        </goals>
                        <phase>initialize</phase>
                        <configuration>
                            <property>legal.source.folder</property>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.glassfish.jersey.tools.plugins</groupId>
                <artifactId>jersey-doc-modulelist-maven-plugin</artifactId>
                <inherited>false</inherited>
                <configuration>
                    <outputFileName>docs/src/main/docbook/modules.xml</outputFileName>
                    <templateFileName>docs/src/main/docbook/inc/modules.src</templateFileName>
                    <tableHeaderFileName>docs/src/main/docbook/inc/modules_table_header.src</tableHeaderFileName>
                    <tableFooterFileName>docs/src/main/docbook/inc/modules_table_footer.src</tableFooterFileName>
                    <tableRowFileName>docs/src/main/docbook/inc/modules_table_row.src</tableRowFileName>
                    <outputUnmatched>false</outputUnmatched>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <configuration>
                    <portNames>
                        <portName>jersey.config.test.container.port</portName>
                        <portName>jersey.config.test.container.stop.port</portName>
                    </portNames>
                </configuration>
                <executions>
                    <execution>
                        <id>reserve-port</id>
                        <phase>process-test-classes</phase> <!-- pre-integration-test -->
                        <goals>
                            <goal>reserve-network-port</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <executions>
                    <execution>
                        <id>verify</id>
                        <phase>validate</phase>
                        <goals>
                            <!-- Fail the build if checkstyle rules for contributions are not met. -->
                            <goal>check</goal>
                        </goals>
                        <configuration>
                            <configLocation>etc/config/checkstyle-verify.xml</configLocation>
                            <consoleOutput>true</consoleOutput>
                            <failOnViolation>true</failOnViolation>
                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
                            <excludes>**/module-info.java</excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <extensions>
            <extension>
                <groupId>org.glassfish</groupId>
                <artifactId>findbugs</artifactId>
                <version>3.2-b06</version>
            </extension>
        </extensions>
    </build>

    <profiles>
        <profile>
            <!-- Use it with release-perform goal to skip another test run. -->
            <id>testsSkip</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <!-- this is how to align back with maven standards where property 'skipTests' makes maven-surefire-plugin
                (and also maven-failsafe-plugin) skip tests execution -->
                <property>
                    <name>skipTests</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
<!--                <release.tests.args>-Dskip.tests=true</release.tests.args>-->
                <skip.tests>true</skip.tests>
            </properties>
        </profile>
        <profile>
            <id>checkstyleSkip</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
        </profile>
        <profile>
            <id>findbugsSkip</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <findbugs.skip>true</findbugs.skip>
            </properties>
        </profile>
        <profile> <!-- tests module will be automatically included unless tests.excluded env variable is set -->
            <id>testsIncluded</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <property>
                  <name>!tests.excluded</name>
                </property>
            </activation>
            <modules>
                <module>tests</module>
            </modules>
        </profile>
        <profile> <!-- examples module will be automatically included unless examples.excluded env variable is set -->
            <id>examplesIncluded</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <property>
                    <name>!examples.excluded</name>
                </property>
            </activation>
            <modules>
                <module>examples</module>
            </modules>
        </profile>
        <profile> <!-- bundles module will be automatically included unless bundles.excluded env variable is set -->
            <id>bundlesIncluded</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <property>
                    <name>!bundles.excluded</name>
                </property>
            </activation>
            <modules>
                <module>bundles</module>
            </modules>
        </profile>
        <profile> <!-- test-framework module will be automatically included unless test-framework.excluded env variable is set -->
            <id>testFrameworkIncluded</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <property>
                    <name>!test-framework.excluded</name>
                </property>
            </activation>
            <modules>
                <module>test-framework</module>
            </modules>
        </profile>
        <profile>
            <id>pre-release</id>
            <modules>
                <module>docs</module>
            </modules>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>xdk</id>
            <activation>
                <property>
                    <name>xdk</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <!-- add xdk sax parser to the classpath and exclude xerces -->
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <inherited>true</inherited>
                        <configuration>
                            <additionalClasspathElements>
                                <additionalClasspathElement>${xdk.absolute.path}</additionalClasspathElement>
                            </additionalClasspathElements>
                            <classpathDependencyExcludes>
                                <classpathDependencyExcludes>xerces:xercesImpl</classpathDependencyExcludes>
                            </classpathDependencyExcludes>
                        </configuration>
                    </plugin>
                    <plugin>
                        <!-- ensure, that the path to the xdk sax parser has been set -->
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                               <id>enforce-property</id>
                               <goals>
                                   <goal>enforce</goal>
                               </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>xdk.absolute.path</property>
                                            <message>Property 'xdk.absolute.path' has to be specified.</message>
                                            <regex>.*/xmlparserv2.jar$</regex>
                                            <regexMessage>
                                                Property 'xdk.absolute.path' has to point to the xdk parser jar (xmlparserv2.jar).
                                            </regexMessage>
                                        </requireProperty>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>moxy</id>
            <activation>
                <property>
                    <name>moxy</name>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.eclipse.persistence</groupId>
                    <artifactId>org.eclipse.persistence.moxy</artifactId>
                    <version>${moxy.version}</version>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>securityOff</id>
            <properties>
                <surefire.security.argline />
            </properties>
        </profile>
        <profile>
            <id>project-info</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-project-info-reports-plugin</artifactId>
                        <version>${project.info.reports.mvn.plugin.version}</version>
                        <reportSets>
                            <reportSet>
                                <reports>
                                    <report>dependencies</report>
                                    <report>index</report>
                                </reports>
                            </reportSet>
                        </reportSets>
                    </plugin>
                </plugins>
            </reporting>
            <!-- placeholder required for site:stage -->
            <distributionManagement>
                <site>
                    <id>localhost</id>
                    <url>http://localhost</url>
                </site>
            </distributionManagement>
        </profile>
        <profile>
            <id>sbom</id>
            <activation>
                <property>
                    <name>!skipSBOM</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.cyclonedx</groupId>
                        <artifactId>cyclonedx-maven-plugin</artifactId>
                        <version>${cyclonedx.mvn.plugin.version}</version>
                        <inherited>true</inherited>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>makeAggregateBom</goal>
                                </goals>
                                <configuration>
                                    <!--                            <schemaVersion>1.4</schemaVersion>-->
                                    <projectType>framework</projectType>
                                    <excludeTestProject>true</excludeTestProject>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>sonar</id>
            <properties>
                <!-- Sonar/Reporting settings (heavily inspired at http://www.aheritier.net/maven-failsafe-sonar-and-jacoco-are-in-a-boat/ -->

                <!-- Tells Sonar to use jacoco for coverage results -->
                <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>

                <!-- Don't let Sonar execute tests. We will ask it to Maven -->
                <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
                <!-- The system property jacoco.outputDir is based on. This won't work for 'sonar:sonar' (see http://jira.codehaus.org/browse/SONAR-3427), as such a property 'jacoco.outputDir' has to be explicitly specified from a command line -->
                <jacoco.outputDir>${session.executionRootDirectory}/target</jacoco.outputDir>
                <!-- Tells Sonar where the Jacoco coverage result file is located for Unit Tests -->
                <sonar.jacoco.reportPath>${jacoco.outputDir}/jacoco.exec</sonar.jacoco.reportPath>
                <!-- Tells Sonar where the Jacoco coverage result file is located for Integration Tests -->
                <sonar.jacoco.itReportPath>${jacoco.outputDir}/jacoco-it.exec</sonar.jacoco.itReportPath>

                <!-- Force JaCoCo to show 0% coverage if the report is missing -->
                <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>

                <!-- jacoco.agent.*.arg properties are dynamically generated by jacoco:prepare-agent (see bellow) -->
                <surefire.coverage.argline>${jacoco.agent.ut.arg}</surefire.coverage.argline>
                <failsafe.coverage.argline>${jacoco.agent.it.arg}</failsafe.coverage.argline>

                <!-- Maven versions -->
                <jacoco.version>0.7.4.201502262128</jacoco.version>
                <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
                <sonar.version>2.6</sonar.version>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.codehaus.sonar-plugins.java</groupId>
                    <artifactId>sonar-jacoco-listeners</artifactId>
                    <version>${sonar-jacoco-listeners.version}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>${jacoco.version}</version>
                        <executions>
                            <!-- Prepares a variable, jacoco.agent.ut.arg, that contains the info to be passed to the JVM hosting the code being tested. -->
                            <execution>
                                <id>prepare-ut-agent</id>
                                <phase>process-test-classes</phase>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <destFile>${sonar.jacoco.reportPath}</destFile>
                                    <propertyName>jacoco.agent.ut.arg</propertyName>
                                    <append>true</append>
                                </configuration>
                            </execution>
                            <!-- Prepares a variable, jacoco.agent.it.arg, that contains the info to be passed to the JVM hosting the code being tested. -->
                            <execution>
                                <id>prepare-it-agent</id>
                                <phase>pre-integration-test</phase>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <destFile>${sonar.jacoco.itReportPath}</destFile>
                                    <propertyName>jacoco.agent.it.arg</propertyName>
                                    <append>true</append>
                                </configuration>
                            </execution>

                            <!-- Generate reports which may not be complete as the execution won't consider tests of projects that weren't executed during the build yet --><!-- The good thing is that with every module built, we're ensured that integrity of both jacoco .exec files was preserved -->
                            <execution>
                                <id>jacoco-report-unit-tests</id>
                                <phase>test</phase>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                                <configuration>
                                    <!-- Sets the path to the file which contains the execution data. -->
                                    <dataFile>${sonar.jacoco.reportPath}</dataFile>
                                    <!-- Sets the output directory for the code coverage report. -->
                                    <outputDirectory>${project.build.directory}/jacoco</outputDirectory>
                                </configuration>
                            </execution>
                            <execution>
                                <id>jacoco-report-integration-tests</id>
                                <phase>post-integration-test</phase>
                                <goals>
                                    <goal>report-integration</goal>
                                </goals>
                                <configuration>
                                    <!-- Sets the path to the file which contains the execution data. -->
                                    <dataFile>${sonar.jacoco.itReportPath}</dataFile>
                                    <!-- Sets the output directory for the code coverage report. -->
                                    <outputDirectory>${project.build.directory}/jacoco-it</outputDirectory>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>sonar-maven-plugin</artifactId>
                            <version>${sonar.version}</version>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <!-- If possible (in some modules, this has to be disabled due to https://jira.sonarsource.com/browse/SONARJAVA-728), enable coverage details per JUnit test -->
                                <properties>
                                    <property>
                                        <name>listener</name>
                                        <value>org.sonar.java.jacoco.JUnitListener</value>
                                    </property>
                                </properties>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-failsafe-plugin</artifactId>
                            <configuration>
                                <!-- Enable coverage details per JUnit test -->
                                <properties>
                                    <property>
                                        <name>listener</name>
                                        <value>org.sonar.java.jacoco.JUnitListener</value>
                                    </property>
                                </properties>
                                <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in Sonar -->
                                <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>license_check</id>
            <pluginRepositories>
                <pluginRepository>
                    <id>dash-licenses-snapshots</id>
                    <url>https://repo.eclipse.org/content/repositories/dash-licenses-snapshots/</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>dash-licenses-releases</id>
                    <url>https://repo.eclipse.org/content/repositories/dash-licenses-releases/</url>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.eclipse.dash</groupId>
                        <artifactId>license-tool-plugin</artifactId>
                        <version>1.1.0</version>
                        <executions>
                            <execution>
                                <id>license-check</id>
                                <goals>
                                    <goal>license-check</goal>
                                </goals>
                                <configuration>
                                    <summary>DEPENDENCIES</summary>
                                    <failWhenReviewNeeded>true</failWhenReviewNeeded>
                                    <reviewSummary>REVIEW_SUMMARY</reviewSummary>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <reporting>
        <excludeDefaults>true</excludeDefaults>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>${findbugs.mvn.plugin.version}</version>
                <reportSets>
                    <reportSet>
                        <configuration>
                            <skip>${findbugs.skip}</skip>
                            <threshold>${findbugs.threshold}</threshold>
                            <excludeFilterFile>${findbugs.exclude}</excludeFilterFile>
                            <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
                            <!-- findbugs detector configuration -->
                            <jvmArgs>-Dfindbugs.glassfish.logging.validLoggerPrefixes=${findbugs.glassfish.logging.validLoggerPrefixes}</jvmArgs>
                            <plugins>
                                <plugin>
                                    <groupId>org.glassfish.findbugs</groupId>
                                    <artifactId>findbugs-logging-detectors</artifactId>
                                    <version>${findbugs.glassfish.version}</version>
                                </plugin>
                            </plugins>
                        </configuration>
                        <reports>
                            <report>findbugs</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${javadoc.mvn.plugin.version}</version>
                <!-- Run this plugin report sets only in the main Jersey pom -->
                <inherited>false</inherited>
                <configuration>
                    <doctitle>Jersey ${jersey.version} API Documentation</doctitle>
                    <windowtitle>Jersey ${jersey.version} API</windowtitle>
                    <bottom>
                        <![CDATA[Copyright &#169; 2007-2024,
                            <a href="http://www.oracle.com">Oracle</a>
                            and/or its affiliates.
                            All Rights Reserved. Use is subject to license terms.]]>
                    </bottom>
                    <excludePackageNames>
                        com.sun.ws.rs.ext:*.examples.*:*.innate:*.innate.*:*.tests:*.tests.*
                    </excludePackageNames>
                    <links>
                        <link>https://jax-rs.github.io/apidocs/2.1</link>
                        <link>https://javaee.github.io/hk2/apidocs/</link>
                    </links>
                    <doclint>none</doclint>
                    <sourceFileExcludes>
                        <fileExclude>module-info.java</fileExclude>
                    </sourceFileExcludes>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>aggregate</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>

            <!--plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.12</version>
            </plugin-->
            <!--plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <formats>
                        <format>xml</format>
                        <format>html</format>
                    </formats>
                </configuration>
            </plugin-->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>${jxr.mvn.plugin.version}</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>jxr</report>
                        </reports>
                    </reportSet>
                    <reportSet>
                        <!-- Run this report set only in the main Jersey pom -->
                        <inherited>false</inherited>
                        <reports>
                            <report>aggregate</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>${checkstyle.mvn.plugin.version}</version>
                <configuration>
                    <configLocation>etc/config/checkstyle.xml</configLocation>
                    <suppressionsLocation>etc/config/checkstyle-suppressions.xml</suppressionsLocation>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>checkstyle</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>

    <modules>
        <module>archetypes</module>
        <module>bom</module>
        <module>connectors</module>
        <module>containers</module>

        <module>core-common</module>
        <module>core-server</module>
        <module>core-client</module>

        <module>ext</module>
        <module>incubator</module>
        <module>inject</module>
        <module>media</module>
        <module>security</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>${jaxrs.api.impl.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${jakarta.annotation.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${cdi.api.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.transaction</groupId>
                <artifactId>jakarta.transaction-api</artifactId>
                <version>${jta.api.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.activation</groupId>
                <artifactId>jakarta.activation-api</artifactId>
                <version>${jakarta.activation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${servlet6.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.angus</groupId>
                <artifactId>angus-activation</artifactId>
                <version>${jakarta.activation.version}</version>
            </dependency>

            <!--<dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>--> <!-- The latest repackaged guava version is 18.0 -->

            <dependency>
                <groupId>org.glassfish.hk2</groupId>
                <artifactId>hk2-locator</artifactId>
                <version>${hk2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.hk2</groupId>
                <artifactId>hk2-utils</artifactId>
                <version>${hk2.version}</version>
            </dependency>

            <dependency>
                <groupId>org.glassfish.hk2</groupId>
                <artifactId>hk2-api</artifactId>
                <version>${hk2.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>jakarta.inject</groupId>
                        <artifactId>jakarta.inject-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.glassfish.hk2</groupId>
                <artifactId>osgi-resource-locator</artifactId>
                <version>1.0.3</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.main.hk2</groupId>
                <artifactId>hk2-config</artifactId>
                <version>${hk2.config.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>${jakarta.inject.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.hk2.external</groupId>
                <artifactId>aopalliance-repackaged</artifactId>
                <version>${hk2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
            </dependency>

            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-http-server</artifactId>
                <version>${grizzly2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-http2</artifactId>
                <version>${grizzly2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-http-servlet</artifactId>
                <version>${grizzly2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-websockets</artifactId>
                <version>${grizzly2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>connection-pool</artifactId>
                <version>${grizzly2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-http-client</artifactId>
                <version>${grizzly.client.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-npn-api</artifactId>
                <version>${grizzly.npn.version}</version>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>${netty.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents.client5</groupId>
                <artifactId>httpclient5</artifactId>
                <version>${httpclient5.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-util</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-client</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty.http2</groupId>
                <artifactId>jetty-http2-client</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty.http2</groupId>
                <artifactId>jetty-http2-client-transport</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-security</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty.http2</groupId>
                <artifactId>jetty-http2-server</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-alpn-conscrypt-server</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty.ee10</groupId>
                <artifactId>jetty-ee10-webapp</artifactId>
                <version>${jetty.version}</version>
            </dependency>

            <dependency>
                <groupId>org.simpleframework</groupId>
                <artifactId>simple-http</artifactId>
                <version>${simple.version}</version>
             </dependency>

            <dependency>
                <groupId>org.simpleframework</groupId>
                <artifactId>simple-transport</artifactId>
                <version>${simple.version}</version>
            </dependency>

            <dependency>
                <groupId>org.simpleframework</groupId>
                <artifactId>simple-common</artifactId>
                <version>${simple.version}</version>
            </dependency>

            <dependency>
                <groupId>org.codehaus.jettison</groupId>
                <artifactId>jettison</artifactId>
                <version>${jettison.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>stax</groupId>
                        <artifactId>stax-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jakarta.jaxb.api.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>${jaxb.ri.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-osgi</artifactId>
                <version>${jaxb.ri.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.moxy</artifactId>
                <version>${moxy.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.persistence</groupId>
                <artifactId>jakarta.persistence-api</artifactId>
                <version>${jakarta.persistence.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.ejb</groupId>
                <artifactId>jakarta.ejb-api</artifactId>
                <version>${ejb.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.jaxrs</groupId>
                <artifactId>jackson-jaxrs-json-provider</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.jaxrs</groupId>
                <artifactId>jackson-jaxrs-base</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-jaxb-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>${xerces.version}</version>
            </dependency>

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>${osgi.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.compendium</artifactId>
                <version>${osgi.compendium.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.service.cm</artifactId>
                <version>${osgi.service.cm.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.glassfish.main.ejb</groupId>
                <artifactId>ejb-container</artifactId>
                <version>${gf.impl.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.main.common</groupId>
                <artifactId>container-common</artifactId>
                <version>${gf.impl.version}</version>
            </dependency>

            <!-- HV OSGi dependencies. -->
            <dependency>
                <groupId>com.fasterxml</groupId>
                <artifactId>classmate</artifactId>
                <version>${fasterxml.classmate.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${jakarta.el.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.expressly</groupId>
                <artifactId>expressly</artifactId>
                <version>${jakarta.el.impl.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.json</groupId>
                <artifactId>jakarta.json-api</artifactId>
                <version>${jakarta.jsonp.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.parsson</groupId>
                <artifactId>parsson</artifactId>
                <version>${jsonp.ri.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.parsson</groupId>
                <artifactId>parsson-media</artifactId>
                <version>${jsonp.jaxrs.version}</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate.validator</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${validation.impl.version}</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate.validator</groupId>
                <artifactId>hibernate-validator-cdi</artifactId>
                <version>${validation.impl.version}</version>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-jetty-bundle</artifactId>
                <version>${pax.web.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-extender-war</artifactId>
                <version>${pax.web.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-core</artifactId>
                <version>${jmh.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-generator-annprocess</artifactId>
                <version>${jmh.version}</version>
            </dependency>
            <dependency>
                <groupId>com.esotericsoftware</groupId>
                <artifactId>kryo</artifactId>
                <version>${kryo.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${commons.logging.version}</version>
            </dependency>

            <!-- Weld -->
            <dependency>
                <groupId>org.jboss.weld.se</groupId>
                <artifactId>weld-se-core</artifactId>
                <version>${weld.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.servlet</groupId>
                <artifactId>weld-servlet</artifactId>
                <version>${weld.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${jakarta.validation.api.version}</version>
            </dependency>

            <!-- Test scope -->

            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam</artifactId>
                <version>${pax.exam.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-junit4</artifactId>
                <version>${pax.exam.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-forked</artifactId>
                <version>${pax.exam.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-junit-extender-impl</artifactId>
                <version>1.2.4</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-link-mvn</artifactId>
                <version>${pax.exam.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>${junit5.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>3.21.0</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.awaitility</groupId>
                <artifactId>awaitility</artifactId>
                <version>4.1.1</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest</artifactId>
                <version>${hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jmockit</groupId>
                <artifactId>jmockit</artifactId>
                <version>${jmockit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.xmlunit</groupId>
                <artifactId>xmlunit-core</artifactId>
                <version>${xmlunit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${bouncycastle.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcmail-jdk15on</artifactId>
                <version>${bouncycastle.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.framework</artifactId>
                <version>${felix.framework.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.eventadmin</artifactId>
                <version>${felix.eventadmin.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.framework.security</artifactId>
                <version>${felix.framework.security.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.json.bind</groupId>
                <artifactId>jakarta.json.bind-api</artifactId>
                <version>${jsonb.api.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse</groupId>
                <artifactId>yasson</artifactId>
                <version>${yasson.version}</version>
            </dependency>

            <dependency>
               <groupId>com.google.code.gson</groupId>
               <artifactId>gson</artifactId>
               <version>${gson.version}</version>
            </dependency>

            <dependency>
                <groupId>io.opentracing</groupId>
                <artifactId>opentracing-api</artifactId>
                <version>${opentracing.version}</version>
            </dependency>

            <dependency>
                <groupId>io.opentracing</groupId>
                <artifactId>opentracing-util</artifactId>
                <version>${opentracing.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <properties>
        <archetype.mvn.plugin.version>3.2.1</archetype.mvn.plugin.version>

        <findbugs.skip>false</findbugs.skip>
        <findbugs.threshold>Low</findbugs.threshold>
        <!-- the exclude file cannot be here directly, as FindBugs would interpret the path as relative to
        each module; the default exclude filter file is at etc/config/findbugs-exclude.xml -->
        <findbugs.exclude />
        <findbugs.glassfish.logging.validLoggerPrefixes>
            jakarta.enterprise
        </findbugs.glassfish.logging.validLoggerPrefixes>
        <java.version>11</java.version>
<!--        <jersey.repackaged.prefix>jersey.repackaged</jersey.repackaged.prefix>-->
<!--        <netbeans.hint.license>gf-cddl-gpl</netbeans.hint.license>-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!--        <release.tests.args>-Dmaven.test.skip=false</release.tests.args>-->
<!--        <release.preparationGoals>clean install</release.preparationGoals>-->
        <skip.tests>false</skip.tests>
        <xdk.absolute.path />
        <surefire.security.argline />
        <surefire.coverage.argline />
        <surefire.maxmem.argline>1024</surefire.maxmem.argline>
        <failsafe.coverage.argline />
        <server.coverage.argline>${failsafe.coverage.argline}</server.coverage.argline>

        <!-- Versions of Maven plugins -->
        <antrun.mvn.plugin.version>3.1.0</antrun.mvn.plugin.version>
        <mvn.ant.version>1.10.14</mvn.ant.version>
        <assembly.mvn.plugin.version>3.7.1</assembly.mvn.plugin.version>
        <clean.mvn.plugin.version>3.3.2</clean.mvn.plugin.version>
        <enforcer.mvn.plugin.version>3.4.1</enforcer.mvn.plugin.version>
        <exec.mvn.plugin.version>3.2.0</exec.mvn.plugin.version>
        <buildhelper.mvn.plugin.version>3.5.0</buildhelper.mvn.plugin.version>
        <buildnumber.mvn.plugin.version>3.2.0</buildnumber.mvn.plugin.version>
        <checkstyle.mvn.plugin.version>3.3.1</checkstyle.mvn.plugin.version>
        <checkstyle.version>10.16.0</checkstyle.version>
        <compiler.mvn.plugin.version>3.13.0</compiler.mvn.plugin.version>
        <!--
        Special version of the compiler plugin just for the jersey-common. All versions above
        generate too much for OSGi manifest.mf imports (awt etc). The version 3.11.0 however
        introduces the fix for the excludeTests issue. Which makes it preferable for the whole project
        but the jersey-common module which has to have the separate version for OSGi reasons.
         -->
        <compiler.common.mvn.plugin.version>3.9.0</compiler.common.mvn.plugin.version>
        <cyclonedx.mvn.plugin.version>2.8.0</cyclonedx.mvn.plugin.version>
        <dependency.mvn.plugin.version>3.6.1</dependency.mvn.plugin.version>
        <deploy.mvn.plugin.version>3.1.2</deploy.mvn.plugin.version>
        <ear.mvn.plugin.version>3.3.0</ear.mvn.plugin.version>
        <failsafe.mvn.plugin.version>3.2.5</failsafe.mvn.plugin.version>
        <felix.mvn.plugin.version>5.1.9</felix.mvn.plugin.version>
        <findbugs.mvn.plugin.version>3.0.5</findbugs.mvn.plugin.version>
        <gfembedded.mvn.plugin.version>5.1</gfembedded.mvn.plugin.version>
        <install.mvn.plugin.version>3.1.2</install.mvn.plugin.version>
        <istack.mvn.plugin.version>4.2.0</istack.mvn.plugin.version>
        <jar.mvn.plugin.version>3.4.1</jar.mvn.plugin.version>
        <javadoc.mvn.plugin.version>3.6.3</javadoc.mvn.plugin.version>
        <jxr.mvn.plugin.version>3.3.2</jxr.mvn.plugin.version>
        <paxexam.mvn.plugin.version>1.2.4</paxexam.mvn.plugin.version>
        <project.info.reports.mvn.plugin.version>3.5.0</project.info.reports.mvn.plugin.version>
        <resources.mvn.plugin.version>3.3.1</resources.mvn.plugin.version>
        <shade.mvn.plugin.version>3.5.3</shade.mvn.plugin.version>
        <source.mvn.plugin.version>3.3.1</source.mvn.plugin.version>
        <surefire.mvn.plugin.version>3.2.5</surefire.mvn.plugin.version>
        <war.mvn.plugin.version>3.4.0</war.mvn.plugin.version>
        <wiremock.mvn.plugin.version>2.11.0</wiremock.mvn.plugin.version>
        <xml.mvn.plugin.version>1.1.0</xml.mvn.plugin.version>
        <harness.testing.mvn.plugin.version>3.3.0</harness.testing.mvn.plugin.version>
        <!-- END of Versions of Maven plugins -->

        <!-- Dependency versions -->
        <jersey.version>${project.version}</jersey.version>
        <arquillian.version>1.8.0.Final</arquillian.version>
        <arquillian.weld.version>3.0.1.Final</arquillian.weld.version> <!-- 3.0.2.Final fails microprofile TCK tests -->
        <!-- asm is now source integrated - keeping this property to see the version -->
        <!-- see core-server/src/main/java/jersey/repackaged/asm/.. -->
        <asm.version>9.7</asm.version>
        <!--required for spring (ext) modules integration -->
        <aspectj.weaver.version>1.9.22</aspectj.weaver.version>
<!--        <bnd.plugin.version>2.3.6</bnd.plugin.version>-->
        <bouncycastle.version>1.70</bouncycastle.version>
        <commons.io.version>2.16.1</commons.io.version>
        <commons.codec.version>1.16.1</commons.codec.version>
<!--        <commons-lang3.version>3.3.2</commons-lang3.version>-->
        <commons.logging.version>1.3.1</commons.logging.version>
        <fasterxml.classmate.version>1.7.0</fasterxml.classmate.version>
        <felix.eventadmin.version>1.6.4</felix.eventadmin.version>
        <felix.framework.security.version>2.8.4</felix.framework.security.version>
        <felix.framework.version>7.0.5</felix.framework.version>
        <findbugs.glassfish.version>1.7</findbugs.glassfish.version>
        <freemarker.version>2.3.32</freemarker.version>
        <gae.version>2.0.26</gae.version>
        <groovy.version>4.0.21</groovy.version>
        <gson.version>2.10.1</gson.version>

        <!--versions, extracted here due to maven-enforcer-plugin -->
<!--        <commons.codec.version>1.15</commons.codec.version>-->
        <com.uber.jaeger.version>0.27.0</com.uber.jaeger.version>
        <org.codehaus.gmavenplus.version>3.0.2</org.codehaus.gmavenplus.version>
        <!-- end of versions extracted here due to maven-enforcer-plugin -->

        <!-- micrometer -->
        <micrometer.version>1.12.4</micrometer.version>
        <micrometer-tracing.version>1.0.12</micrometer-tracing.version>

        <!-- microprofile -->
        <microprofile.config.version>3.0.3</microprofile.config.version>
        <microprofile.rest.client.version>3.0.1</microprofile.rest.client.version>
        <helidon.config.version>3.2.6</helidon.config.version>
        <helidon.jersey.connector.version>3.2.6</helidon.jersey.connector.version>
        <helidon.config.11.version>1.4.14</helidon.config.11.version> <!-- JDK 11- support -->
        <smallrye.config.version>3.7.1</smallrye.config.version>

        <guava.version>33.1.0-jre</guava.version>
        <hamcrest.version>2.2</hamcrest.version>
        <xmlunit.version>2.10.0</xmlunit.version>
        <httpclient.version>4.5.14</httpclient.version>
        <httpclient5.version>5.3.1</httpclient5.version>
        <jackson.version>2.17.0</jackson.version>
        <javassist.version>3.30.2-GA</javassist.version>
        <jboss.logging.version>3.5.3.Final</jboss.logging.version>
        <jettison.version>1.3.7</jettison.version> <!-- TODO: 1.3.8 doesn't work; AbstractJsonTest complexBeanWithAttributes -->
        <jmh.version>1.37</jmh.version>
        <jmockit.version>1.49</jmockit.version>
        <junit4.version>4.13.2</junit4.version>
        <junit5.version>5.10.2</junit5.version>
        <junit-platform-suite.version>1.10.2</junit-platform-suite.version>
        <junit-platform-suite.legacy.version>1.10.0</junit-platform-suite.legacy.version>
        <kryo.version>4.0.3</kryo.version>
        <mockito.version>4.11.0</mockito.version> <!-- CQ 17673 -->
        <mustache.version>0.9.12</mustache.version>
        <netty.version>4.1.109.Final</netty.version>
        <opentracing.version>0.33.0</opentracing.version>
        <osgi.version>6.0.0</osgi.version>
        <osgi.framework.version>1.10.0</osgi.framework.version>
        <osgi.compendium.version>5.0.0</osgi.compendium.version>
        <osgi.service.cm.version>1.6.0</osgi.service.cm.version>
        <pax.exam.version>4.13.4</pax.exam.version>
        <pax.web.version>0.7.4</pax.web.version><!-- TODO: UPGRADE! -->
        <reactive.streams.version>1.0.4</reactive.streams.version>
        <rxjava.version>1.3.8</rxjava.version>
        <rxjava2.version>2.2.21</rxjava2.version>

        <servlet4.version>4.0.3</servlet4.version>
        <servlet6.version>6.0.0</servlet6.version>

        <simple.version>6.0.1</simple.version>
        <slf4j.version>2.0.13</slf4j.version>
        <spring6.version>6.0.18</spring6.version>
        <testng.version>7.9.0</testng.version>
        <testng6.version>6.9.13.6</testng6.version>
        <thymeleaf.version>3.1.2.RELEASE</thymeleaf.version>
        <!-- Jakartified, eligible for CQ -->
        <weld.version>5.1.1.Final</weld.version>
        <weld3.version>3.1.9.Final</weld3.version>
        <validation.impl.version>8.0.1.Final</validation.impl.version>
        <!-- END of Jakartified, eligible for CQ -->
        <wiremock.version>2.27.2</wiremock.version>
        <xerces.version>2.12.2</xerces.version>

        <!-- Graal VM       -->
        <graalvm.version>20.3.14</graalvm.version>

        <!-- do not need CQs (below this line till the end of version properties)-->
        <gf.impl.version>7.0.6</gf.impl.version>
        <!-- Jakartified -->
        <cdi.api.version>4.0.1</cdi.api.version>
        <cdi.osgi.version>jakarta.enterprise.*;version="[3.0,5)"</cdi.osgi.version>
        <ejb.version>4.0.1</ejb.version>
        <grizzly2.version>4.0.2</grizzly2.version>
        <grizzly.client.version>1.16</grizzly.client.version>
        <grizzly.npn.version>2.0.0</grizzly.npn.version>
        <hk2.version>3.0.6</hk2.version>
        <hk2.osgi.version>org.glassfish.hk2.*;version="[3.0,4)"</hk2.osgi.version>
        <hk2.jvnet.osgi.version>org.jvnet.hk2.*;version="[3.0,4)"</hk2.jvnet.osgi.version>
        <hk2.config.version>7.0.4</hk2.config.version>
        <jsp.version>3.1.1</jsp.version>
        <jstl.version>3.0.0</jstl.version>
        <jta.api.version>2.0.1</jta.api.version>
        <istack.commons.runtime.version>4.1.2</istack.commons.runtime.version>
        <jakarta.activation-api.version>2.1.3</jakarta.activation-api.version>
        <jakarta.activation.version>2.0.2</jakarta.activation.version>
        <jakarta.el.version>5.0.1</jakarta.el.version>
        <jakarta.el.impl.version>5.0.0</jakarta.el.impl.version>
        <jakarta.annotation.osgi.version>jakarta.annotation.*;version="[2.0,3)"</jakarta.annotation.osgi.version>
        <jakarta.annotation.version>2.1.1</jakarta.annotation.version>
        <jakarta.inject.version>2.0.1</jakarta.inject.version>
        <jakarta.interceptor.version>2.1.0</jakarta.interceptor.version>
        <jakarta.jsonp.version>2.1.3</jakarta.jsonp.version>
        <jakarta.persistence.version>3.1.0</jakarta.persistence.version>
        <jakarta.validation.api.version>3.0.2</jakarta.validation.api.version>
        <jakarta.jaxb.api.version>4.0.2</jakarta.jaxb.api.version>
        <jaxb.ri.version>4.0.5</jaxb.ri.version>
        <jaxrs.api.spec.version>3.1</jaxrs.api.spec.version>
        <jaxrs.api.impl.version>3.1.0</jaxrs.api.impl.version>
        <jetty.osgi.version>org.eclipse.jetty.*;version="[11,15)"</jetty.osgi.version>
        <jetty.version>12.0.7</jetty.version>
        <jetty9.version>9.4.54.v20240208</jetty9.version>
        <jetty11.version>11.0.20</jetty11.version>
        <jetty.plugin.version>12.0.8</jetty.plugin.version>
        <jsonb.api.version>3.0.1</jsonb.api.version>
        <jsonp.ri.version>1.1.5</jsonp.ri.version>
        <jsonp.jaxrs.version>1.1.5</jsonp.jaxrs.version>
        <moxy.version>4.0.2</moxy.version>
        <yasson.version>3.0.3</yasson.version>
        <!-- END of Jakartified -->

        <javax.annotation.version>1.3.2</javax.annotation.version> <!--Deprecated, used only for @generated annotation in perf tests -->
        <mimepull.version>1.9.15</mimepull.version>
    </properties>
</project>