<?xml version="1.0" encoding="UTF-8"?>
<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.jetty</groupId>
    <artifactId>jetty-project</artifactId>
    <version>12.1.1</version>
  </parent>
  <groupId>org.eclipse.jetty.ee9</groupId>
  <artifactId>jetty-ee9</artifactId>
  <packaging>pom</packaging>
  <name>EE9</name>

  <modules>
    <module>jetty-ee9-annotations</module>
    <module>jetty-ee9-apache-jsp</module>
    <module>jetty-ee9-bom</module>
    <module>jetty-ee9-cdi</module>
    <module>jetty-ee9-demos</module>
    <module>jetty-ee9-fcgi-proxy</module>
    <module>jetty-ee9-glassfish-jstl</module>
    <module>jetty-ee9-home</module>
    <module>jetty-ee9-jaspi</module>
    <module>jetty-ee9-jndi</module>
    <module>jetty-ee9-jspc-maven-plugin</module>
    <module>jetty-ee9-maven-plugin</module>
    <module>jetty-ee9-nested</module>
    <module>jetty-ee9-openid</module>
    <module>jetty-ee9-osgi</module>
    <module>jetty-ee9-plus</module>
    <module>jetty-ee9-proxy</module>
    <module>jetty-ee9-quickstart</module>
    <module>jetty-ee9-security</module>
    <module>jetty-ee9-servlet</module>
    <module>jetty-ee9-servlets</module>
    <module>jetty-ee9-tests</module>
    <module>jetty-ee9-webapp</module>
    <module>jetty-ee9-websocket</module>
  </modules>

  <properties>
    <ee9.jakarta.activation.api.version>2.0.1</ee9.jakarta.activation.api.version>
    <ee9.jakarta.inject.api.version>2.0.1</ee9.jakarta.inject.api.version>
    <ee9.jakarta.json.api.version>2.0.2</ee9.jakarta.json.api.version>
    <ee9.jakarta.mail.api.version>2.0.1</ee9.jakarta.mail.api.version>
    <ee9.jakarta.servlet.jsp.api.version>3.0.0</ee9.jakarta.servlet.jsp.api.version>
    <ee9.jakarta.servlet.jsp.jstl.impl.version>2.0.0</ee9.jakarta.servlet.jsp.jstl.impl.version>
    <ee9.jakarta.validation.api.version>3.0.2</ee9.jakarta.validation.api.version>
    <ee9.jakarta.websocket.api.version>2.0.0</ee9.jakarta.websocket.api.version>
    <ee9.jakarta.xml.bind.impl.version>3.0.2</ee9.jakarta.xml.bind.impl.version>
    <ee9.jakarta.xml.jaxws.impl.version>3.0.2</ee9.jakarta.xml.jaxws.impl.version>
    <ee9.jersey.version>3.0.17</ee9.jersey.version>
    <!-- FIXME we need a separate property for this one -->
    <ee9.jetty.servlet.api.version>5.0.2</ee9.jetty.servlet.api.version>
    <ee9.jsp.impl.version>10.0.27.2</ee9.jsp.impl.version>
    <ee9.weld.version>4.0.3.Final</ee9.weld.version>
    <jersey.version>3.0.18</jersey.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakarta.jakartaee-bom</artifactId>
        <version>${ee9.jakarta.bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>jakarta.mail</artifactId>
        <version>${ee9.jakarta.mail.api.version}</version>
      </dependency>
      <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <version>${ee9.jakarta.xml.jaxws.impl.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.inject</groupId>
        <artifactId>jakarta.inject-api</artifactId>
        <version>${ee9.jakarta.inject.api.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.json</groupId>
        <artifactId>jakarta.json-api</artifactId>
        <version>${ee9.jakarta.json.api.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.validation</groupId>
        <artifactId>jakarta.validation-api</artifactId>
        <version>${ee9.jakarta.validation.api.version}</version>
      </dependency>

      <!-- Jetty EE 9 Dependencies -->
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-annotations</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-apache-jsp</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-cdi</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-fcgi-proxy</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-glassfish-jstl</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-jaspi</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-jndi</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-jspc-maven-plugin</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-maven-plugin</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-nested</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-openid</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-plus</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-proxy</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-quickstart</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-security</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-servlet</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-servlets</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9</groupId>
        <artifactId>jetty-ee9-webapp</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.demos</groupId>
        <artifactId>jetty-ee9-demo-proxy-webapp</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-jakarta-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-jakarta-client-webapp</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-jakarta-common</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-jakarta-server</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-jetty-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-jetty-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-jetty-client-webapp</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-jetty-common</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-jetty-server</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.ee9.websocket</groupId>
        <artifactId>jetty-ee9-websocket-servlet</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.orbit</groupId>
        <artifactId>javax.servlet.jsp.jstl</artifactId>
        <version>${ee9.jakarta.servlet.jsp.jstl.impl.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.eclipse.jetty.orbit</groupId>
            <artifactId>javax.servlet</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.eclipse.jetty.orbit</groupId>
            <artifactId>javax.servlet.jsp</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.toolchain</groupId>
        <artifactId>jetty-jakarta-servlet-api</artifactId>
        <version>${ee9.jetty.servlet.api.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.toolchain</groupId>
        <artifactId>jetty-jakarta-websocket-api</artifactId>
        <version>${ee9.jakarta.websocket.api.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>${ee9.jakarta.xml.bind.impl.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
        <version>${ee9.jersey.version}</version>
        <exclusions>
          <exclusion>
            <groupId>jakarta.annotation</groupId>
            <artifactId>jakarta.annotation-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.inject</groupId>
        <artifactId>jersey-hk2</artifactId>
        <version>${ee9.jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-binding</artifactId>
        <version>${ee9.jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.web</groupId>
        <artifactId>jakarta.servlet.jsp.jstl</artifactId>
        <version>${ee9.jakarta.servlet.jsp.jstl.impl.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mortbay.jasper</groupId>
        <artifactId>mortbay-apache-el</artifactId>
        <version>${ee9.jsp.impl.version}</version>
      </dependency>
      <!-- Jakarta EE 9 Dependencies -->
      <dependency>
        <groupId>org.mortbay.jasper</groupId>
        <artifactId>mortbay-apache-jsp</artifactId>
        <version>${ee9.jsp.impl.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <profiles>
    <profile>
      <!--
        $ mvn -Pdependency-updates-reports validate
        # once done, check the jetty-ee9/target/site/dependency-updates-aggregate-report.html
        -->
      <id>dependency-updates-reports</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>versions-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>ee9-report</id>
                <goals>
                  <goal>dependency-updates-aggregate-report</goal>
                </goals>
                <phase>validate</phase>
                <configuration>
                  <formats>
                    <format>html</format>
                  </formats>
                  <onlyProjectDependencies>true</onlyProjectDependencies>
                  <onlyUpgradable>true</onlyUpgradable>
                  <ruleSet>
                    <rules>
                      <rule>
                        <!-- ignore maven alpha/beta releases -->
                        <groupId>org.apache.maven</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>.+-(alpha|beta).?[0-9]+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- ignore jetty core/root deps -->
                        <groupId>org.eclipse.jetty</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>.+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- ignore all jetty nested deps -->
                        <groupId>org.eclipse.jetty.*</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>.+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.0.x of activation spec -->
                        <groupId>jakarta.activation</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.0.x of annotation spec -->
                        <groupId>jakarta.annotation</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.x of authentication spec -->
                        <groupId>jakarta.authentication</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 4.x of el spec -->
                        <groupId>jakarta.el</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!4.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 3.x of cdi spec -->
                        <groupId>jakarta.enterprise</groupId>
                        <artifactId>jakarta.enterprise.cdi-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!3.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.0.x of interceptor spec -->
                        <groupId>jakarta.interceptor</groupId>
                        <artifactId>jakarta.interceptor-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.0.x of mail spec -->
                        <groupId>jakarta.mail</groupId>
                        <artifactId>jakarta.mail-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 5.x of servlet spec -->
                        <groupId>jakarta.servlet</groupId>
                        <artifactId>jakarta.servlet-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!5.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 3.0.x of jsp spec -->
                        <groupId>jakarta.servlet</groupId>
                        <artifactId>jakarta.servlet.jsp-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!3.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.x of jsp-jstl spec -->
                        <groupId>jakarta.servlet.jsp.jstl</groupId>
                        <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.x of jsp-jstl impl (glassfish) -->
                        <groupId>org.glassfish.web</groupId>
                        <artifactId>jakarta.servlet.jsp.jstl</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 10.0.x of mortbay apache-jsp impl -->
                        <groupId>org.mortbay.jasper</groupId>
                        <artifactId>mortbay-apache-jsp</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!10.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 10.0.x of mortbay apache-el impl -->
                        <groupId>org.mortbay.jasper</groupId>
                        <artifactId>mortbay-apache-el</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!10.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- ignore unstable mina releases -->
                        <groupId>org.apache.mina</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>.+-M[0-9]+$</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                    </rules>
                  </ruleSet>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <!--
        $ mvn -Pupdate-dependencies-ee9 validate
        -->
      <id>update-dependencies-ee9</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>versions-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>ee9-update</id>
                <goals>
                  <goal>update-properties</goal>
                </goals>
                <phase>validate</phase>
                <configuration>
                  <onlyProjectDependencies>true</onlyProjectDependencies>
                  <onlyUpgradable>true</onlyUpgradable>
                  <ruleSet>
                    <rules>
                      <rule>
                        <!-- ignore maven alpha/beta releases -->
                        <groupId>org.apache.maven</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>.+-(alpha|beta).?[0-9]+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- ignore jetty core/root deps -->
                        <groupId>org.eclipse.jetty</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>.+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- ignore all jetty nested deps -->
                        <groupId>org.eclipse.jetty.*</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>.+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.0.x of activation spec -->
                        <groupId>jakarta.activation</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.0.x of annotation spec -->
                        <groupId>jakarta.annotation</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.x of authentication spec -->
                        <groupId>jakarta.authentication</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 4.x of el spec -->
                        <groupId>jakarta.el</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!4.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 3.x of cdi spec -->
                        <groupId>jakarta.enterprise</groupId>
                        <artifactId>jakarta.enterprise.cdi-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!3.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.0.x of interceptor spec -->
                        <groupId>jakarta.interceptor</groupId>
                        <artifactId>jakarta.interceptor-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.0.x of inject spec -->
                        <groupId>jakarta.inject</groupId>
                        <artifactId>jakarta.inject-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.0.x of mail spec -->
                        <groupId>jakarta.mail</groupId>
                        <artifactId>jakarta.mail-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 5.x of servlet spec -->
                        <groupId>jakarta.servlet</groupId>
                        <artifactId>jakarta.servlet-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!5.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 3.0.x of jsp spec -->
                        <groupId>jakarta.servlet</groupId>
                        <artifactId>jakarta.servlet.jsp-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!3.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 2.x of jsp-jstl spec -->
                        <groupId>jakarta.servlet.jsp.jstl</groupId>
                        <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!2.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 3.0.x of ws.rs.api spec -->
                        <groupId>jakarta.ws.rs</groupId>
                        <artifactId>jakarta.ws.rs-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!3.0).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 3.0.x of xml.bind-api -->
                        <groupId>jakarta.xml.bind</groupId>
                        <artifactId>jakarta.xml.bind-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!3.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 3.0.x of xml.bind implementation -->
                        <groupId>org.glassfish.jaxb</groupId>
                        <artifactId>jaxb-runtime</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!3.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 3.0.x of jaxws implementation -->
                        <groupId>com.sun.xml.ws</groupId>
                        <artifactId>jaxws-rt</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!3.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 3.0.x of xml.ws api -->
                        <groupId>jakarta.xml.ws</groupId>
                        <artifactId>jakarta.xml.ws-api</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!3.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 10.0.x of mortbay apache-jsp impl -->
                        <groupId>org.mortbay.jasper</groupId>
                        <artifactId>mortbay-apache-jsp</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!10.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- for ee9, we need to stay on 10.0.x of mortbay apache-el impl -->
                        <groupId>org.mortbay.jasper</groupId>
                        <artifactId>mortbay-apache-el</artifactId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>^(?!10.0.).+</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                      <rule>
                        <!-- ignore unstable mina releases -->
                        <groupId>org.apache.mina</groupId>
                        <ignoreVersions>
                          <ignoreVersion>
                            <type>regex</type>
                            <version>.+-M[0-9]+$</version>
                          </ignoreVersion>
                        </ignoreVersions>
                      </rule>
                    </rules>
                  </ruleSet>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
