<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-parent</artifactId>
    <version>25</version>
  </parent>
  <artifactId>jetty-project</artifactId>
  <version>9.3.7.v20160115</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.2.v20150522</alpn.api.version>
    <jsp.version>8.0.27</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:http://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project.git</connection>
    <developerConnection>scm:git:ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project.git</developerConnection>
    <url>http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree</url>
    <tag>HEAD</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.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}-2016</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.eclipse.jetty.toolchain</groupId>
          <artifactId>jetty-version-maven-plugin</artifactId>
          <version>1.0.10</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>
          <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-surefire-plugin</artifactId>
          <version>2.18.1</version>
          <configuration>
            <argLine>-showversion -Xmx1g -Xms1g -XX:+PrintGCDetails</argLine>
            <failIfNoTests>false</failIfNoTests>
            <runMode>random</runMode>
            <systemProperties>
              <!--
              <property>
                <name>org.eclipse.jetty.io.AbstractBuffer.boundsChecking</name>
                <value>true</value>
              </property>
              -->
              <property>
                <name>java.io.tmpdir</name>
                <value>${project.build.directory}</value>
              </property>
            </systemProperties>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <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-2016 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.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.jetty.toolchain</groupId>
              <artifactId>jetty-assembly-descriptors</artifactId>
              <version>1.0</version>
            </dependency>
          </dependencies>
        </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>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
        </plugin>
        <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>
            <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/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-pmd-plugin</artifactId>
          <version>3.4</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.1</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.8</version>
        <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>
        <version>2.7.1</version>
        <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>
        <version>2.5.2</version>
      </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>

    <!-- 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>3.1</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>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>1.9.5</version>
        <exclusions>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
          </exclusion>
        </exclusions>
      </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>
                </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>
  </profiles>
</project>
