<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">
  <parent>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-parent</artifactId>
    <version>25</version>
  </parent>

  <modelVersion>4.0.0</modelVersion>
  <artifactId>jetty-project</artifactId>
  <version>9.3.19-SNAPSHOT</version>
  <name>Jetty :: Project</name>
  <url>http://www.eclipse.org/jetty</url>
  <packaging>pom</packaging>

  <properties>
    <jetty.url>http://www.eclipse.org/jetty</jetty.url>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <build-support-version>1.4</build-support-version>
    <slf4j-version>1.6.6</slf4j-version>
    <jetty-test-policy-version>1.2</jetty-test-policy-version>
    <alpn.api.version>1.1.3.v20160715</alpn.api.version>
    <jsp.version>8.0.33</jsp.version>
    <!-- default values are unsupported, but required to be defined for reactor sanity reasons -->
    <alpn.version>undefined</alpn.version>
  </properties>

  <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>
    <tag>jetty-9.3.13.M0</tag>
  </scm>

  <build>
    <defaultGoal>install</defaultGoal>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <testSource>1.8</testSource>
          <testTarget>1.8</testTarget>
          <verbose>false</verbose>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>
        </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.1</resourceBundle>
              </resourceBundles>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- source maven plugin creates the source bundle and adds manifest -->
      <plugin>
        <inherited>true</inherited>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>process-classes</phase>
            <goals>
              <goal>jar</goal>
            </goals>
            <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.org - Jetty</Bundle-Vendor>
                  <Bundle-Version>${parsedVersion.osgiVersion}</Bundle-Version>
                  <Eclipse-SourceBundle>${bundle-symbolic-name};version="${parsedVersion.osgiVersion}";roots:="."</Eclipse-SourceBundle>
                </manifestEntries>
              </archive>
            </configuration>
          </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>
      <!-- Enforcer Plugin -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.1</version>
        <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.0,)</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" />
             </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>
        <version>0.7.8</version>
        <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>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <executions>
          <execution>
            <id>named-logging-enforcement</id>
            <phase>compile</phase>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <verbose>true</verbose>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <targetJdk>1.8</targetJdk>
          <rulesets>
            <ruleset>jetty/pmd_logging_ruleset.xml</ruleset>
          </rulesets>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.jetty.toolchain</groupId>
            <artifactId>jetty-build-support</artifactId>
            <version>${build-support-version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <inherited>false</inherited>
        <groupId>com.mycila.maven-license-plugin</groupId>
        <artifactId>maven-license-plugin</artifactId>
        <version>1.10.b1</version>
        <configuration>
          <header>header-template.txt</header>
          <failIfMissing>true</failIfMissing>
          <aggregate>true</aggregate>
          <strictCheck>true</strictCheck>
          <properties>
             <copyright-range>${project.inceptionYear}-2017</copyright-range>
          </properties>
          <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>
        <executions>
          <execution>
            <id>check-headers</id>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </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>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
         <archive>
            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
         </archive>
        </configuration>
     </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.0.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-dependency-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
          <configuration>
            <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
          <configuration>
            <archive>
              <manifestEntries>
                <Implementation-Version>${project.version}</Implementation-Version>
                <Implementation-Vendor>Eclipse.org - Jetty</Implementation-Vendor>
                <url>${jetty.url}</url>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.10.4</version>
          <configuration>
            <charset>UTF-8</charset>
            <docencoding>UTF-8</docencoding>
            <encoding>UTF-8</encoding>
            <docfilessubdirs>true</docfilessubdirs>
            <detectLinks>false</detectLinks>
            <detectJavaApiLink>true</detectJavaApiLink>
            <excludePackageNames>com.acme.*;org.slf4j.*;org.mortbay.*</excludePackageNames>
            <links>
              <link>http://docs.oracle.com/javase/8/docs/api/</link>
              <link>http://docs.oracle.com/javaee/7/api/</link>
              <link>http://junit.org/junit4/javadoc/latest/</link>
              <link>http://download.eclipse.org/jetty/stable-9/apidocs/</link>
            </links>
            <tags>
              <tag>
                <name>org.apache.xbean.XBean</name>
                <placement>X</placement>
                <head />
              </tag>
              <tag>
                <name>phase</name>
                <placement>t</placement>
                <head>Phase:</head>
              </tag>
              <tag>
                <name>goal</name>
                <placement>t</placement>
                <head>Goal:</head>
              </tag>
              <tag>
                <name>description</name>
                <placement>a</placement>
                <head>Description:</head>
              </tag>
              <tag>
                <name>parameter</name>
                <placement>f</placement>
                <head>Parameter:</head>
              </tag>
              <tag>
                <name>required</name>
                <placement>f</placement>
                <head>Required:</head>
              </tag>
              <tag>
                <name>readonly</name>
                <placement>f</placement>
                <head>Read-Only:</head>
              </tag>
              <tag>
                <name>execute</name>
                <placement>X</placement>
                <head />
              </tag>
              <tag>
                <name>requiresDependencyResolution</name>
                <placement>X</placement>
                <head />
              </tag>
              <tag>
                <name>requiresProject</name>
                <placement>X</placement>
                <head />
              </tag>
              <tag>
                <name>threadSafe</name>
                <placement>X</placement>
                <head />
              </tag>
            </tags>
            <header>
              <![CDATA[
                  <script type="text/javascript">
                    var _gaq = _gaq || [];
                    _gaq.push(['_setAccount', 'UA-1149868-7']);
                    _gaq.push(['_trackPageview']);
                    (function() {
                      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                    })();
                 </script>
              ]]>
            </header>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>2.5</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>3.7</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.19.1</version>
          <configuration>
            <argLine>@{argLine} -Dfile.encoding=UTF-8 -Duser.language=en -Duser.region=US -showversion -Xmx1g -Xms1g -XX:+PrintGCDetails</argLine>
            <failIfNoTests>false</failIfNoTests>
            <forkCount>1</forkCount>
            <systemProperties>
              <property>
                <name>java.io.tmpdir</name>
                <value>${project.build.directory}</value>
              </property>
            </systemProperties>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.jetty.toolchain</groupId>
          <artifactId>jetty-version-maven-plugin</artifactId>
          <version>2.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>3.0.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>
              <Export-Package>${bundle-symbolic-name}.*;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}"</Export-Package>
              <Bundle-Copyright>Copyright (c) 2008-2017 Mort Bay Consulting Pty. Ltd.</Bundle-Copyright>
              <Import-Package>javax.servlet*;version="[2.6.0,3.2)",javax.transaction*;version="[1.1,1.3)",org.eclipse.jetty*;version="[$(version;===;${parsedVersion.osgiVersion}),$(version;==+;${parsedVersion.osgiVersion}))",*</Import-Package>
            </instructions>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <configuration>
            <findbugsXmlOutput>true</findbugsXmlOutput>
            <xmlOutput>true</xmlOutput>
            <effort>Max</effort>
            <onlyAnalyze>org.eclipse.jetty.*</onlyAnalyze>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <maxmemory>512m</maxmemory>
          <docfilessubdirs>true</docfilessubdirs>
          <detectLinks>true</detectLinks>
          <detectJavaApiLink>true</detectJavaApiLink>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <configuration>
          <targetJdk>1.7</targetJdk>
          <rulesets>
            <ruleset>jetty/pmd_ruleset.xml</ruleset>
          </rulesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting>

  <modules>
    <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-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>tests</module>
    <module>examples</module>
    <module>jetty-quickstart</module>
    <module>jetty-distribution</module>
    <module>jetty-runner</module>
    <module>jetty-monitor</module>
    <module>jetty-http-spi</module>
    <module>jetty-osgi</module>
    <module>jetty-alpn</module>
    <module>jetty-bom</module>
    <module>jetty-documentation</module>
    <!-- modules that need fixed and added back, or simply dropped and not maintained -->
    <!--<module>jetty-rhttp</module>-->
    <!--<module>jetty-overlay-deployer</module>-->
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>javax.servlet-api</artifactId>
         <version>3.1.0</version>
      </dependency>
      <dependency>
         <groupId>javax.websocket</groupId>
         <artifactId>javax.websocket-api</artifactId>
         <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm</artifactId>
        <version>5.0.1</version>
      </dependency>
      <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm-commons</artifactId>
        <version>5.0.1</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</version>
      </dependency>

      <dependency>
        <groupId>org.mortbay.jasper</groupId>
        <artifactId>apache-jsp</artifactId>
        <version>${jsp.version}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.jdt.core.compiler</groupId>
        <artifactId>ecj</artifactId>
       <version>4.4.2</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.2</version>
        <scope>provided</scope>
      </dependency>

      <!-- Old Deps -->
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-tools-api</artifactId>
        <version>2.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.toolchain</groupId>
        <artifactId>jetty-test-helper</artifactId>
        <version>4.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty.toolchain</groupId>
        <artifactId>jetty-perf-helper</artifactId>
        <version>1.0.5</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>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>1.3</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-library</artifactId>
        <version>1.3</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <!--
    Usage:
    configure settings.xml for jetty.eclipse.website server entry
    > mvn -Paggregate-site javadoc:aggregate jxr:jxr
    then
    > mvn -N site:deploy
    or
    > mvn -N site:sshdeploy     (for ssh users w/passphrase and ssh-agent)
   -->
  <profiles>
    <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-compiler-plugin</artifactId>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>ci</id>
      <modules>
        <module>aggregates/jetty-all</module>
      </modules>
    </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>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>maven-3</id>
      <activation>
        <file>
          <!--  This employs that the basedir expression is only recognized by Maven 3.x (see MNG-2363) -->
          <exists>${basedir}</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-site-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-descriptor</id>
                <goals>
                  <goal>attach-descriptor</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>aggregate-site</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
            <configuration>
              <aggregate>true</aggregate>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>compact3</id>
      <modules>
        <module>aggregates/jetty-all-compact3</module>
      </modules>
    </profile>
    <profile>
      <id>api-change</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>clirr-maven-plugin</artifactId>
            <version>2.5</version>
            <executions>
              <execution>
                <id>compare-api</id>
                <phase>package</phase>
                <goals>
                  <goal>clirr</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <minSeverity>info</minSeverity>
              <comparisonVersion>9.0.3.v20130506</comparisonVersion>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>8u00</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.0.v20141016</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u05</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_05</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.0.v20141016</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u11</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_11</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.0.v20141016</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u20</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_20</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.0.v20141016</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u25</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_25</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.2.v20141202</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u31</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_31</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.3.v20150130</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u40</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_40</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.3.v20150130</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u45</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_45</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.3.v20150130</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u51</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_51</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.4.v20150727</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u60</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_60</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.5.v20150921</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u65</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_65</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.6.v20151105</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u66</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_66</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.6.v20151105</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u71</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_71</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.7.v20160121</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u72</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_72</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.7.v20160121</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u73</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_73</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.7.v20160121</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u74</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_74</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.7.v20160121</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u77</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_77</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.7.v20160121</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u91</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_91</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.7.v20160121</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u92</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_92</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.8.v20160420</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u101</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_101</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.9.v20160720</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u102</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_102</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.9.v20160720</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u111</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_111</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.9.v20160720</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u112</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_112</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.10.v20161026</alpn.version>
      </properties>
    </profile>
    <profile>
      <id>8u121</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_121</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.11.v20170118</alpn.version>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <!-- Required for Java 8u121 or later -->
              <additionalparam>&#45;&#45;allow-script-in-comments</additionalparam>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>8u131</id>
      <activation>
        <property>
          <name>java.version</name>
          <value>1.8.0_131</value>
        </property>
      </activation>
      <properties>
        <alpn.version>8.1.11.v20170118</alpn.version>
      </properties>
    </profile>
  </profiles>
</project>
