<?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>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-project</artifactId>
  <version>9.4.36.v20210114</version>
  <name>Jetty :: Project</name>
  <description>The Eclipse Jetty Project</description>
  <packaging>pom</packaging>
  <url>https://eclipse.org/jetty</url>
  <inceptionYear>1995</inceptionYear>

  <properties>
    <compiler.source>1.8</compiler.source>
    <compiler.target>1.8</compiler.target>
    <jetty.url>https://eclipse.org/jetty</jetty.url>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <build-support.version>1.5</build-support.version>
    <checkstyle.version>8.37</checkstyle.version>
    <slf4j.version>1.7.30</slf4j.version>
    <log4j2.version>2.11.2</log4j2.version>
    <disruptor.version>3.4.2</disruptor.version>
    <logback.version>1.2.3</logback.version>
    <jetty-test-policy.version>1.2</jetty-test-policy.version>
    <alpn.api.version>1.1.3.v20160715</alpn.api.version>
    <jsp.version>8.5.54</jsp.version>
    <infinispan.version>9.4.8.Final</infinispan.version>
    <infinispan.protostream.version>4.3.4.Final</infinispan.protostream.version>
    <gson.version>2.8.6</gson.version>
    <alpn.agent.version>2.0.10</alpn.agent.version>
    <conscrypt.version>2.5.1</conscrypt.version>
    <asm.version>9.0</asm.version>
    <jmh.version>1.26</jmh.version>
    <jmhjar.name>benchmarks</jmhjar.name>
    <tycho-version>2.1.0</tycho-version>
    <junit.version>5.7.0</junit.version>
    <maven.version>3.6.3</maven.version>
    <maven.resolver.version>1.6.1</maven.resolver.version>
    <javax.servlet.api.version>3.1.0</javax.servlet.api.version>
    <weld.version>3.1.5.Final</weld.version>
    <jboss.logging.version>3.4.1.Final</jboss.logging.version>
    <jetty.perf-helper.version>1.0.6</jetty.perf-helper.version>
    <ant.version>1.10.9</ant.version>
    <unix.socket.tmp></unix.socket.tmp>
    <!-- enable or not TestTracker junit5 extension i.e log message when test method is starting -->
    <jetty.testtracker.log>false</jetty.testtracker.log>
    <jpms-module-name>${bundle-symbolic-name}</jpms-module-name>

    <!-- some maven plugins versions -->
    <maven.surefire.version>3.0.0-M5</maven.surefire.version>
    <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
    <maven.dependency.plugin.version>3.1.2</maven.dependency.plugin.version>
    <maven.resources.plugin.version>3.2.0</maven.resources.plugin.version>
    <maven.source.plugin.version>3.2.1</maven.source.plugin.version>
    <maven.war.plugin.version>3.3.1</maven.war.plugin.version>
    <maven.plugin-tools.version>3.6.0</maven.plugin-tools.version>
    <maven.install.plugin.version>3.0.0-M1</maven.install.plugin.version>
    <maven.deploy.plugin.version>3.0.0-M1</maven.deploy.plugin.version>

    <pmd.verbose>true</pmd.verbose>
    <pmd.skip>false</pmd.skip>

    <!-- testing -->
    <it.debug>false</it.debug>
    <jetty.test.version>5.5</jetty.test.version>
    <spring-boot.version>2.1.1.RELEASE</spring-boot.version>
    <jsr250-api.version>1.0</jsr250-api.version>
    <javax.annotation-api>1.3.2</javax.annotation-api>
    <localRepoPath>${project.build.directory}/local-repo</localRepoPath>
    <settingsPath>src/it/settings.xml</settingsPath>
    <surefire.rerunFailingTestsCount>0</surefire.rerunFailingTestsCount>
    <testcontainers.version>1.15.1</testcontainers.version>
    <maria.version>2.7.0</maria.version>
  </properties>

  <licenses>
    <license>
      <name>Apache Software License - Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0</url>
    </license>
    <license>
      <name>Eclipse Public License - Version 1.0</name>
      <url>https://www.eclipse.org/org/documents/epl-v10.php</url>
    </license>
  </licenses>

  <scm>
    <connection>scm:git:https://github.com/eclipse/jetty.project.git</connection>
    <developerConnection>scm:git:git@github.com:eclipse/jetty.project.git</developerConnection>
    <url>https://github.com/eclipse/jetty.project</url>
  </scm>

  <modules>
    <module>build-resources</module>
    <module>jetty-ant</module>
    <module>jetty-util</module>
    <module>jetty-jmx</module>
    <module>jetty-io</module>
    <module>jetty-http</module>
    <module>jetty-http2</module>
    <module>jetty-continuation</module>
    <module>jetty-server</module>
    <module>jetty-xml</module>
    <module>jetty-security</module>
    <module>jetty-openid</module>
    <module>jetty-servlet</module>
    <module>jetty-webapp</module>
    <module>jetty-fcgi</module>
    <module>jetty-websocket</module>
    <module>jetty-servlets</module>
    <module>jetty-util-ajax</module>
    <module>apache-jsp</module>
    <module>apache-jstl</module>
    <module>jetty-maven-plugin</module>
    <module>jetty-jspc-maven-plugin</module>
    <module>jetty-deploy</module>
    <module>jetty-start</module>
    <module>jetty-plus</module>
    <module>jetty-annotations</module>
    <module>jetty-jndi</module>
    <module>jetty-jaas</module>
    <module>jetty-cdi</module>
    <module>jetty-spring</module>
    <module>jetty-client</module>
    <module>jetty-proxy</module>
    <module>jetty-jaspi</module>
    <module>jetty-rewrite</module>
    <module>jetty-nosql</module>
    <module>jetty-infinispan</module>
    <module>jetty-gcloud</module>
    <module>jetty-memcached</module>
    <module>jetty-hazelcast</module>
    <module>jetty-unixsocket</module>
    <module>jetty-jmh</module>
    <module>tests</module>
    <module>examples</module>
    <module>jetty-quickstart</module>
    <module>jetty-distribution</module>
    <module>jetty-runner</module>
    <module>jetty-http-spi</module>
    <module>jetty-osgi</module>
    <module>jetty-alpn</module>
    <module>jetty-home</module>
    <module>jetty-bom</module>
    <module>jetty-documentation</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-java</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[3.0.0,)</version>
                  <message>[ERROR] OLD MAVEN [${maven.version}] in use, Jetty ${project.version} requires Maven 3.0.0 or newer</message>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>[1.8,)</version>
                  <message>[ERROR] OLD JDK [${java.version}] in use. Jetty ${project.version} requires JDK 1.8.0 or newer</message>
                </requireJavaVersion>
                <versionTxtRule implementation="org.eclipse.jetty.toolchain.enforcer.rules.VersionTxtRule" />
                <versionOsgiRule implementation="org.eclipse.jetty.toolchain.enforcer.rules.RequireOsgiCompatibleVersionRule" />
                <versionRedhatRule implementation="org.eclipse.jetty.toolchain.enforcer.rules.RequireRedhatCompatibleVersionRule" />
                <versionDebianRule implementation="org.eclipse.jetty.toolchain.enforcer.rules.RequireDebianCompatibleVersionRule" />
                <requireUpperBoundDeps>
                  <excludes>
                    <exclude>javax.enterprise:cdi-api</exclude>
                  </excludes>
                </requireUpperBoundDeps>
              </rules>
            </configuration>
          </execution>
          <execution>
            <id>ban-junit-dep.jar</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>junit:junit-dep:*:jar</exclude>
                  </excludes>
                  <searchTransitive>true</searchTransitive>
                  <message>We use junit.jar, not junit-dep.jar (as of junit 4.11, hamcrest is no longer embedded)</message>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.jetty.toolchain</groupId>
            <artifactId>jetty-build-support</artifactId>
            <version>${build-support.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <configuration>
          <excludes>
            <!-- build tools -->
            <exclude>**/org/eclipse/jetty/ant/**</exclude>
            <exclude>**/org/eclipse/jetty/maven/**</exclude>
            <exclude>**/org/eclipse/jetty/jspc/**</exclude>
            <!-- example code / documentation -->
            <exclude>**/org/eclipse/jetty/embedded/**</exclude>
            <exclude>**/org/eclipse/jetty/asyncrest/**</exclude>
            <exclude>**/org/eclipse/jetty/demo/**</exclude>
            <!-- special environments / late integrations -->
            <exclude>**/org/eclipse/jetty/gcloud/**</exclude>
            <exclude>**/org/eclipse/jetty/infinispan/**</exclude>
            <exclude>**/org/eclipse/jetty/osgi/**</exclude>
            <exclude>**/org/eclipse/jetty/spring/**</exclude>
            <exclude>**/org/eclipse/jetty/http/spi/**</exclude>
            <!-- test classes -->
            <exclude>**/org/eclipse/jetty/tests/**</exclude>
            <exclude>**/org/eclipse/jetty/test/**</exclude>
          </excludes>
        </configuration>
        <executions>
          <execution>
            <id>jacoco-initialize</id>
            <phase>initialize</phase>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>jacoco-site</id>
            <phase>package</phase>
            <goals>
              <goal>report</goal>
            </goals>
            <configuration>
              <!-- list of classes that you want to see in the report.
                   Specify a narrow list of multi-module project
                   classes you want to see here.
                   This is useful to remove 3rd party library classes
                   from the report. -->
              <includes>
                <include>**/org/eclipse/jetty/**</include>
              </includes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-pmd-plugin</artifactId>
        <executions>
          <execution>
            <id>named-logging-enforcement</id>
            <phase>compile</phase>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <skip>${pmd.skip}</skip>
              <verbose>${pmd.verbose}</verbose>
              <printFailingErrors>${pmd.verbose}</printFailingErrors>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <linkXRef>false</linkXRef>
          <targetJdk>1.8</targetJdk>
          <rulesets>
            <ruleset>jetty/pmd_logging_ruleset.xml</ruleset>
          </rulesets>
          <analysisCache>true</analysisCache>
          <showPmdLog>false</showPmdLog>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.jetty.toolchain</groupId>
            <artifactId>jetty-build-support</artifactId>
            <version>${build-support.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <useReleaseProfile>false</useReleaseProfile>
          <goals>javadoc:aggregate-jar deploy</goals>
          <arguments>-Peclipse-release</arguments>
          <preparationGoals>clean install</preparationGoals>
          <mavenExecutorId>forked-path</mavenExecutorId>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <executions>
          <execution>
            <phase>generate-resources</phase>
            <goals>
              <goal>process</goal>
            </goals>
            <configuration>
              <resourceBundles>
                <resourceBundle>org.eclipse.jetty.toolchain:jetty-artifact-remote-resources:1.2</resourceBundle>
              </resourceBundles>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- The source maven plugin creates the source bundle and adds manifest -->
      <!-- if removing this we need to add it back in eclipse-release profile -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <inherited>true</inherited>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>package</phase>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <failIfMissing>true</failIfMissing>
          <aggregate>true</aggregate>
          <strictCheck>true</strictCheck>
          <properties>
            <copyright-range>${project.inceptionYear}-2020</copyright-range>
          </properties>
        </configuration>
        <executions>
          <execution>
            <id>check-java-headers</id>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <header>header-template-java.txt</header>
              <mapping>
                <java>DOUBLESLASH_STYLE</java>
              </mapping>
              <includes>
                <include>**/*.java</include>
              </includes>
              <excludes>
                <exclude>jetty-util/src/main/java/org/eclipse/jetty/util/security/UnixCrypt.java</exclude>
                <exclude>jetty-policy/src/main/java/org/eclipse/jetty/policy/loader/DefaultPolicyLoader.java</exclude>
                <exclude>jetty-policy/src/main/java/org/eclipse/jetty/policy/loader/PolicyFileScanner.java</exclude>
                <exclude>jetty-ant/**</exclude>
                <exclude>jetty-infinispan/**</exclude>
                <exclude>tests/test-sessions/test-infinispan-sessions/**</exclude>
              </excludes>
            </configuration>
          </execution>
          <execution>
            <id>check-doc-headers</id>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <header>header-template-doc.txt</header>
              <mapping>
                <adoc>DOUBLESLASH_STYLE</adoc>
              </mapping>
              <includes>
                <include>**/*.adoc</include>
              </includes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <executions>
          <execution>
            <phase>process-classes</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!-- Build helper maven plugin sets the parsedVersion.osgiVersion property -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>set-osgi-version</id>
            <phase>validate</phase>
            <goals>
              <goal>parse-version</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.jetty.toolchain</groupId>
        <artifactId>jetty-version-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-version</id>
            <phase>process-resources</phase>
            <goals>
              <goal>attach-version-text</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>3.1.1</version>
        <configuration>
          <configLocation>jetty-checkstyle.xml</configLocation>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
          <violationSeverity>warning</violationSeverity>
          <consoleOutput>true</consoleOutput>
          <sourceDirectories>
            <!-- only scan source directory (not generated, filtered, or copied source) -->
            <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
            <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
          </sourceDirectories>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>build-resources</artifactId>
            <version>${project.version}</version>
          </dependency>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>${checkstyle.version}</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>checkstyle-check</id>
            <phase>validate</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.3.0</version>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.jetty.toolchain</groupId>
              <artifactId>jetty-assembly-descriptors</artifactId>
              <version>1.0</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven.compiler.plugin.version}</version>
          <configuration>
            <source>${compiler.source}</source>
            <target>${compiler.target}</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${maven.dependency.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${maven.deploy.plugin.version}</version>
          <configuration>
            <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>2.10</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.0.0-M3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${maven.surefire.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-invoker-plugin</artifactId>
          <version>3.2.1</version>
          <configuration>
            <mergeUserSettings>true</mergeUserSettings>
            <writeJunitReport>true</writeJunitReport>
            <junitPackageName>org.eclipse.jetty.maven.its</junitPackageName>
            <debug>${it.debug}</debug>
            <javaHome>${java.home}</javaHome>
            <environmentVariables>
              <JAVA_HOME>${java.home}</JAVA_HOME>
            </environmentVariables>
            <projectsDirectory>src/it</projectsDirectory>
            <timeoutInSeconds>300</timeoutInSeconds>
            <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
            <localRepositoryPath>${localRepoPath}</localRepositoryPath>
            <settingsFile>${settingsPath}</settingsFile>
            <skipInvocation>${skipTests}</skipInvocation>
            <pomIncludes>
              <pomInclude>*/pom.xml</pomInclude>
            </pomIncludes>
            <filterProperties>
              <localRepo>${localRepoPath}</localRepo>
            </filterProperties>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>${maven.install.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.2.0</version>
          <configuration>
            <archive>
              <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
              <manifestEntries>
                <Automatic-Module-Name>${jpms-module-name}</Automatic-Module-Name>
                <Implementation-Version>${project.version}</Implementation-Version>
                <Implementation-Vendor>Eclipse Jetty Project</Implementation-Vendor>
                <url>${jetty.url}</url>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.2.0</version>
          <configuration>
            <source>8</source>
            <charset>UTF-8</charset>
            <docencoding>UTF-8</docencoding>
            <encoding>UTF-8</encoding>
            <docfilessubdirs>true</docfilessubdirs>
            <detectLinks>false</detectLinks>
            <detectJavaApiLink>false</detectJavaApiLink>
            <show>protected</show>
            <attach>true</attach>
            <excludePackageNames>com.*:org.slf4j*:org.mortbay*:*.jmh*:org.eclipse.jetty.embedded*:org.eclipse.jetty.example.asyncrest*:org.eclipse.jetty.test*</excludePackageNames>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>3.6.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>3.14.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.1.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <version>1.7.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${maven.resources.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>3.2.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.9.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>${maven.source.plugin.version}</version>
          <configuration>
            <archive>
              <manifestEntries>
                <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
                <Bundle-Name>${project.name}</Bundle-Name>
                <Bundle-SymbolicName>${bundle-symbolic-name}.source</Bundle-SymbolicName>
                <Bundle-Vendor>Eclipse Jetty Project</Bundle-Vendor>
                <Bundle-Version>${parsedVersion.osgiVersion}</Bundle-Version>
                <Eclipse-SourceBundle>${bundle-symbolic-name};version="${parsedVersion.osgiVersion}";roots:="."</Eclipse-SourceBundle>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven.surefire.version}</version>
          <configuration>
            <rerunFailingTestsCount>${surefire.rerunFailingTestsCount}</rerunFailingTestsCount>
            <forkedProcessTimeoutInSeconds>3600</forkedProcessTimeoutInSeconds>
            <argLine>@{argLine} -Dfile.encoding=UTF-8 -Duser.language=en -Duser.region=US -showversion -Xmx6g -Xms2g -XX:+PrintGCDetails</argLine>
            <failIfNoTests>false</failIfNoTests>
            <forkCount>1</forkCount>
            <reuseForks>true</reuseForks> <!-- to work around crash at https://github.com/junit-team/junit5/issues/801 -->
            <systemPropertyVariables>
              <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
              <unix.socket.tmp>${unix.socket.tmp}</unix.socket.tmp>
              <junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
              <jetty.testtracker.log>${jetty.testtracker.log}</jetty.testtracker.log>
            </systemPropertyVariables>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>${maven.war.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.jetty.toolchain</groupId>
          <artifactId>jetty-version-maven-plugin</artifactId>
          <version>2.6</version>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>0.8.6</version>
        </plugin>
        <plugin>
          <groupId>com.agilejava.docbkx</groupId>
          <artifactId>docbkx-maven-plugin</artifactId>
          <version>2.0.17</version>
        </plugin>
        <plugin>
          <groupId>com.mycila</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>3.5.1</version>
          <extensions>true</extensions>
          <configuration>
            <supportedProjectTypes>
              <supportedProjectType>jar</supportedProjectType>
              <supportedProjectType>maven-plugin</supportedProjectType>
            </supportedProjectTypes>
            <instructions>
              <Bundle-SymbolicName>${bundle-symbolic-name}</Bundle-SymbolicName>
              <Bundle-Description>Jetty module for ${project.name}</Bundle-Description>
              <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
              <Bundle-DocURL>${jetty.url}</Bundle-DocURL>
              <Bundle-Vendor>Eclipse Jetty Project</Bundle-Vendor>
              <Bundle-Classpath>.</Bundle-Classpath>
              <Bundle-Copyright>Copyright (c) 2008-2020 Mort Bay Consulting Pty Ltd and others.</Bundle-Copyright>
              <_provider-policy><![CDATA[$<range;[===,=+)>]]></_provider-policy>
              <_consumer-policy><![CDATA[$<range;[===,+)>]]></_consumer-policy>
            </instructions>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.servicemix.tooling</groupId>
          <artifactId>depends-maven-plugin</artifactId>
          <version>1.4.0</version>
        </plugin>
        <plugin>
          <groupId>org.asciidoctor</groupId>
          <artifactId>asciidoctor-maven-plugin</artifactId>
          <version>2.1.0</version>
          <dependencies>
            <dependency>
              <groupId>org.asciidoctor</groupId>
              <artifactId>asciidoctorj-diagram</artifactId>
              <version>2.0.5</version>
            </dependency>
          </dependencies>
          <configuration>
            <backend>html5</backend>
            <requires>
              <require>asciidoctor-diagram</require>
            </requires>
            <attributes>
              <JDURL>http://www.eclipse.org/jetty/javadoc/${project.version}</JDURL>
              <JXURL>http://download.eclipse.org/jetty/stable-9/xref</JXURL>
              <SRCDIR>${basedir}/..</SRCDIR>
              <GITBROWSEURL>https://github.com/eclipse/jetty.project/tree/jetty-9.4.x</GITBROWSEURL>
              <GITDOCURL>https://github.com/eclipse/jetty.project/tree/jetty-10.0.x-doc-refactor/jetty-documentation/src/main/asciidoc</GITDOCURL>
              <MVNCENTRAL>http://central.maven.org/maven2</MVNCENTRAL>
              <VERSION>${project.version}</VERSION>
              <TIMESTAMP>${maven.build.timestamp}</TIMESTAMP>
              <toc>left</toc>
              <icons>font</icons>
            </attributes>
          </configuration>
          <executions>
            <execution>
              <id>index</id>
              <phase>generate-resources</phase>
              <goals>
                <goal>process-asciidoc</goal>
              </goals>
              <configuration>
                <sourceDirectory>src/main/asciidoc</sourceDirectory>
                <sourceDocumentName>index.adoc</sourceDocumentName>
                <outputDirectory>${project.build.directory}/html</outputDirectory>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>appassembler-maven-plugin</artifactId>
          <version>2.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>buildnumber-maven-plugin</artifactId>
          <version>1.4</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.eclipse.jetty.toolchain</groupId>
                    <artifactId>jetty-version-maven-plugin</artifactId>
                    <versionRange>[1.0.3,)</versionRange>
                    <goals>
                      <goal>attach-version-text</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <versionRange>[2.1,)</versionRange>
                    <goals>
                      <goal>unpack</goal>
                      <goal>unpack-dependencies</goal>
                      <goal>copy-dependencies</goal>
                      <goal>copy</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.ops4j.pax.exam</groupId>
                    <artifactId>maven-paxexam-plugin</artifactId>
                    <versionRange>
                      [1.2.0,)
                    </versionRange>
                    <goals>
                      <goal>
                        generate-depends-file
                      </goal>
                      <goal>generate-config</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.4,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.sonatype.maven.plugin</groupId>
                    <artifactId>emma-maven-plugin</artifactId>
                    <versionRange>[1.1,)</versionRange>
                    <goals>
                      <goal>instrument</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-plugin-plugin</artifactId>
                    <versionRange>[2.5,)</versionRange>
                    <goals>
                      <goal>default-descriptor</goal>
                      <goal>descriptor</goal>
                      <goal>xdoc</goal>
                      <goal>helpmojo</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>native-maven-plugin</artifactId>
                    <versionRange>[1.0-alpha-7,)</versionRange>
                    <goals>
                      <goal>initialize</goal>
                      <goal>javah</goal>
                      <goal>compile</goal>
                      <goal>unzipinc</goal>
                      <goal>link</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <versionRange>[2.8,)</versionRange>
                    <goals>
                      <goal>jar</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <versionRange>[2.5,)</versionRange>
                    <goals>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <versionRange>[1.0,)</versionRange>
                    <goals>
                      <goal>process</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <versionRange>[1.0,)</versionRange>
                    <goals>
                      <goal>enforce</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>h2spec-maven-plugin</artifactId>
          <version>1.0.3</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.eclipse.jetty.toolchain</groupId>
      <artifactId>jetty-test-helper</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${javax.servlet.api.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.websocket</groupId>
        <artifactId>javax.websocket-api</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>javax.websocket</groupId>
        <artifactId>javax.websocket-client-api</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>${javax.annotation-api}</version>
      </dependency>
      <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm</artifactId>
        <version>${asm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm-commons</artifactId>
        <version>${asm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm-tree</artifactId>
        <version>${asm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm-analysis</artifactId>
        <version>${asm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.orbit</groupId>
        <artifactId>javax.security.auth.message</artifactId>
        <version>1.0.0.v201108011116</version>
      </dependency>
      <!-- JSP Deps -->
      <dependency>
        <groupId>org.eclipse.jetty.toolchain</groupId>
        <artifactId>jetty-schemas</artifactId>
        <version>3.1.2</version>
      </dependency>
      <dependency>
        <groupId>org.mortbay.jasper</groupId>
        <artifactId>apache-jsp</artifactId>
        <version>${jsp.version}</version>
      </dependency>
      <!-- JSTL Impl -->
      <dependency>
        <groupId>org.apache.taglibs</groupId>
        <artifactId>taglibs-standard-impl</artifactId>
        <version>1.2.5</version>
      </dependency>
      <!-- JSTL API -->
      <dependency>
        <groupId>org.apache.taglibs</groupId>
        <artifactId>taglibs-standard-spec</artifactId>
        <version>1.2.5</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.orbit</groupId>
        <artifactId>javax.activation</artifactId>
        <version>1.1.0.v201105071233</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.orbit</groupId>
        <artifactId>javax.mail.glassfish</artifactId>
        <version>1.4.1.v201005082020</version>
      </dependency>
      <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>javax.transaction-api</artifactId>
        <version>1.3</version>
        <scope>provided</scope>
      </dependency>
      <!-- maven deps -->
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-component-annotations</artifactId>
        <version>2.1.0</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>3.3.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-artifact</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-tools-api</artifactId>
        <version>${maven.plugin-tools.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <version>${maven.plugin-tools.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${junit.version}</version>
      </dependency>
      <!-- Test Container Deps -->
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers</artifactId>
        <version>${testcontainers.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${testcontainers.version}</version>
      </dependency>
      <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna</artifactId>
        <version>5.6.0</version>
      </dependency>
      <!-- Old Deps -->
      <dependency>
        <groupId>org.eclipse.jetty.toolchain</groupId>
        <artifactId>jetty-test-helper</artifactId>
        <version>${jetty.test.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.toolchain</groupId>
        <artifactId>jetty-perf-helper</artifactId>
        <version>${jetty.perf-helper.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl104-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.logging</groupId>
        <artifactId>jboss-logging</artifactId>
        <version>${jboss.logging.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.jnr</groupId>
        <artifactId>jnr-unixsocket</artifactId>
        <version>0.38.3</version>
      </dependency>
      <!-- avoid depending on a range dependency from a transitive dependency -->
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-core</artifactId>
        <version>1.33.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>${ant.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant-launcher</artifactId>
        <version>${ant.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <profiles>
    <profile>
      <id>errorprone</id>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                <showWarnings>true</showWarnings>
                <compilerArgs combine.children="append">
                  <arg>-XDcompilePolicy=simple</arg>
                  <arg>-Xplugin:ErrorProne -XepAllErrorsAsWarnings</arg>
                </compilerArgs>
                <annotationProcessorPaths>
                  <path>
                    <groupId>com.google.errorprone</groupId>
                    <artifactId>error_prone_core</artifactId>
                    <version>2.4.0</version>
                  </path>
                </annotationProcessorPaths>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>checkstyle</id>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>3.1.1</version>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <reportSets>
              <reportSet>
                <reports>
                  <report>checkstyle</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.9.1</version>
            <executions>
              <execution>
                <id>build-site</id>
                <goals>
                  <goal>site</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>jdk11</id>
      <activation>
        <jdk>[11,)</jdk>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-javadoc-plugin</artifactId>
              <configuration>
                <additionalJOption>--no-module-directories</additionalJOption>
                <additionalOptions>-html5</additionalOptions>
                <excludePackageNames>com.*:org.slf4j*:org.mortbay*:*.jmh*:org.eclipse.jetty.embedded*:org.eclipse.jetty.example.asyncrest*:org.eclipse.jetty.test*</excludePackageNames>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>config</id>
      <activation>
        <file>
          <exists>src/main/config</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <descriptorRefs>
                    <descriptorRef>config</descriptorRef>
                  </descriptorRefs>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>eclipse-release</id>
      <modules>
        <module>aggregates/jetty-all</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-enforcer-plugin</artifactId>
            <executions>
              <execution>
                <id>enforce-java</id>
                <goals>
                  <goal>enforce</goal>
                </goals>
                <configuration>
                  <rules>
                    <requireJavaVersion>
                      <version>[11,)</version>
                      <message>[ERROR] OLD JDK [${java.version}] in use. Jetty Release ${project.version} MUST use JDK 11 or newer</message>
                    </requireJavaVersion>
                  </rules>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <inherited>true</inherited>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <configuration>
              <updateReleaseInfo>true</updateReleaseInfo>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>ci</id>
      <properties>
        <settingsPath>${env.GLOBAL_MVN_SETTINGS}</settingsPath>
        <surefire.rerunFailingTestsCount>3</surefire.rerunFailingTestsCount>
        <spotbugs.failOnError>false</spotbugs.failOnError>
        <!-- Defines a SpotBugs threshold. Use "Low" to discover low-priority bugs -->
        <spotbugs.threshold>Medium</spotbugs.threshold>
        <!-- Defines a SpotBugs effort. Use "Max" to maximize the scan depth -->
        <spotbugs.effort>Default</spotbugs.effort>
        <spotbugs.skip>false</spotbugs.skip>
        <spotbugs.onlyAnalyze>org.eclipse.jetty.*</spotbugs.onlyAnalyze>
        <pmd.verbose>false</pmd.verbose>
      </properties>
      <modules>
        <module>aggregates/jetty-all</module>
      </modules>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>com.github.spotbugs</groupId>
              <artifactId>spotbugs-maven-plugin</artifactId>
              <version>4.1.4</version>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>${maven.surefire.version}</version>
              <configuration>
                <excludedGroups>external, large-disk-resource</excludedGroups>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>spotbugs</id>
                <goals>
                  <goal>check</goal>
                </goals>
                <phase>verify</phase>
                <configuration>
                  <skip>${spotbugs.skip}</skip>
                  <failOnError>${spotbugs.failOnError}</failOnError>
                  <xmlOutput>true</xmlOutput>
                  <spotbugsXmlOutput>false</spotbugsXmlOutput>
                  <effort>${spotbugs.effort}</effort>
                  <threshold>${spotbugs.threshold}</threshold>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>update-version</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.jetty.toolchain</groupId>
            <artifactId>jetty-version-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>gen-versiontxt</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>update-version-text</goal>
                  <goal>tag</goal>
                </goals>
                <configuration>
                  <refreshTags>true</refreshTags>
                  <copyGenerated>true</copyGenerated>
                  <attachArtifact>false</attachArtifact>
                  <updateDate>true</updateDate>
                  <versionTagHeader>Tag for release: jetty-${project.version}</versionTagHeader>
                  <filenameExcludes>
                    <filenameExclude>jetty-documentation/.*</filenameExclude>
                    <filenameExclude>examples/.*</filenameExclude>
                    <filenameExclude>aggregates/.*</filenameExclude>
                    <filenameExclude>.*/test-.*</filenameExclude>
                    <filenameExclude>.*/.*-test/.*</filenameExclude>
                    <filenameExclude>.*/.*-tests/.*</filenameExclude>
                    <filenameExclude>.*/src/test/.*</filenameExclude>
                    <filenameExclude>\.git.*</filenameExclude>
                    <filenameExclude>.*\.md$</filenameExclude>
                    <filenameExclude>.*\.txt$</filenameExclude>
                    <filenameExclude>Jenkinsfile</filenameExclude>
                  </filenameExcludes>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>compact3</id>
      <modules>
        <module>aggregates/jetty-all-compact3</module>
      </modules>
    </profile>
    <profile>
      <id>eclipse-sign</id>
      <activation>
        <property>
          <name>eclipse-sign</name>
        </property>
      </activation>
      <properties>
        <cbi-plugins.version>1.1.7</cbi-plugins.version>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
              <execution>
                <id>pack200-normalize</id>
                <goals>
                  <goal>normalize</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>${cbi-plugins.version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <phase>package</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
              <execution>
                <id>pack200-pack</id>
                <goals>
                  <goal>pack</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <pluginRepositories>
        <pluginRepository>
          <id>cbi-releases</id>
          <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    <profile>
      <id>jdk9</id>
      <activation>
        <jdk>[1.9,)</jdk>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <release>8</release>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>snapshot-repositories</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <repositories>
        <repository>
          <id>jetty-snapshots</id>
          <name>jetty-snapshots</name>
          <url>https://oss.sonatype.org/content/repositories/jetty-snapshots</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
        <!--repository>
          <id>apache.snapshots</id>
          <url>https://repository.apache.org/content/repositories/snapshots</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository-->
        <repository>
          <id>oss.snapshots</id>
          <name>OSS Snapshots</name>
          <url>https://oss.sonatype.org/content/repositories/snapshots</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>fast</id>
      <properties>
        <skipTests>true</skipTests>
        <pmd.skip>true</pmd.skip>
        <checkstyle.skip>true</checkstyle.skip>
        <enforcer.skip>true</enforcer.skip>
        <license.skip>true</license.skip>
      </properties>
    </profile>
  </profiles>

  <issueManagement>
    <system>github</system>
    <url>https://github.com/eclipse/jetty.project/issues</url>
  </issueManagement>

  <mailingLists>
    <mailingList>
      <name>Jetty Developer Mailing List</name>
      <archive>https://dev.eclipse.org/mhonarc/lists/jetty-dev/maillist.html</archive>
      <subscribe>https://dev.eclipse.org/mailman/listinfo/jetty-dev</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/jetty-dev</unsubscribe>
    </mailingList>
    <mailingList>
      <name>Jetty Commit Mailing List</name>
      <archive>https://dev.eclipse.org/mhonarc/lists/jetty-commit/maillist.html</archive>
      <subscribe>https://dev.eclipse.org/mailman/listinfo/jetty-commit</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/jetty-commit</unsubscribe>
    </mailingList>
    <mailingList>
      <name>Jetty Users Mailing List</name>
      <archive>https://dev.eclipse.org/mhonarc/lists/jetty-users/maillist.html</archive>
      <subscribe>https://dev.eclipse.org/mailman/listinfo/jetty-users</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/jetty-users</unsubscribe>
    </mailingList>
    <mailingList>
      <name>Jetty Announce Mailing List</name>
      <archive>https://dev.eclipse.org/mhonarc/lists/jetty-announce/maillist.html</archive>
      <subscribe>https://dev.eclipse.org/mailman/listinfo/jetty-announce</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/jetty-announce</unsubscribe>
    </mailingList>
  </mailingLists>

  <developers>
    <developer>
      <id>gregw</id>
      <name>Greg Wilkins</name>
      <email>gregw@webtide.com</email>
      <organization>Webtide, LLC</organization>
      <organizationUrl>https://webtide.com</organizationUrl>
      <timezone>10</timezone>
    </developer>
    <developer>
      <id>janb</id>
      <name>Jan Bartel</name>
      <email>janb@webtide.com</email>
      <organization>Webtide, LLC</organization>
      <organizationUrl>https://webtide.com</organizationUrl>
      <timezone>10</timezone>
    </developer>
    <developer>
      <id>jesse</id>
      <name>Jesse McConnell</name>
      <email>jesse.mcconnell@gmail.com</email>
      <organization>Webtide, LLC</organization>
      <organizationUrl>https://webtide.com</organizationUrl>
      <timezone>-6</timezone>
    </developer>
    <developer>
      <id>joakime</id>
      <name>Joakim Erdfelt</name>
      <email>joakim.erdfelt@gmail.com</email>
      <organization>Webtide, LLC</organization>
      <organizationUrl>https://webtide.com</organizationUrl>
      <timezone>-7</timezone>
    </developer>
    <developer>
      <id>sbordet</id>
      <name>Simone Bordet</name>
      <email>simone.bordet@gmail.com</email>
      <organization>Webtide, LLC</organization>
      <organizationUrl>https://webtide.com</organizationUrl>
      <timezone>1</timezone>
    </developer>
    <developer>
      <id>djencks</id>
      <name>David Jencks</name>
      <email>david.a.jencks@gmail.com</email>
      <organization>IBM</organization>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>olamy</id>
      <name>Olivier Lamy</name>
      <email>oliver.lamy@gmail.com</email>
      <organization>Webtide, LLC</organization>
      <organizationUrl>https://webtide.com</organizationUrl>
      <timezone>Australia/Brisbane</timezone>
    </developer>
    <developer>
      <id>lorban</id>
      <name>Ludovic Orban</name>
      <email>lorban@bitronix.be</email>
      <organization>Webtide, LLC</organization>
      <organizationUrl>https://webtide.com</organizationUrl>
      <timezone>1</timezone>
    </developer>
  </developers>

  <organization>
    <name>Webtide</name>
    <url>https://webtide.com</url>
  </organization>

  <distributionManagement>
    <repository>
      <id>oss.sonatype.org</id>
      <name>Jetty Staging Repository</name>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
    <snapshotRepository>
      <id>oss.sonatype.org</id>
      <name>Jetty Snapshot Repository</name>
      <url>https://oss.sonatype.org/content/repositories/jetty-snapshots/</url>
    </snapshotRepository>
    <site>
      <id>jetty.eclipse.website</id>
      <url>scp://build.eclipse.org:/home/data/httpd/download.eclipse.org/jetty/${project.version}/</url>
    </site>
  </distributionManagement>

  <!-- comment this until if we do not need some Apache maven plugins SNAPSHOT versions -->
<!--  <pluginRepositories>-->
<!--    <pluginRepository>-->
<!--      <id>apache.snapshots</id>-->
<!--      <url>https://repository.apache.org/content/repositories/snapshots</url>-->
<!--      <releases>-->
<!--        <enabled>false</enabled>-->
<!--      </releases>-->
<!--      <snapshots>-->
<!--        <enabled>true</enabled>-->
<!--      </snapshots>-->
<!--    </pluginRepository>-->
<!--    <pluginRepository>-->
<!--      <id>plexus-snapshots</id>-->
<!--      <url>https://oss.sonatype.org/content/repositories/plexus-snapshots</url>-->
<!--      <releases>-->
<!--        <enabled>false</enabled>-->
<!--      </releases>-->
<!--      <snapshots>-->
<!--        <enabled>true</enabled>-->
<!--      </snapshots>-->
<!--    </pluginRepository>-->
<!--  </pluginRepositories>-->

</project>
