

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <!-- for more information, see the documentation of this POM: http://maven.apache.org/pom/maven/ -->
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>17</version>
    <relativePath>../asf/pom.xml</relativePath>
  </parent>

  <groupId>org.apache.maven</groupId>
  <artifactId>maven-parent</artifactId>
  <version>27</version>
  <packaging>pom</packaging>

  <name>Apache Maven</name>
  <description>Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.</description>
  <url>http://maven.apache.org/</url>
  <inceptionYear>2002</inceptionYear>

  <!-- Developers listed by PMC Chair, PMC, Committers, Contributers, all alphabetical-->
  <developers>
    <developer>
      <id>hboutemy</id>
      <name>Hervé Boutemy</name>
      <email>hboutemy@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Chair</role>
      </roles>
      <timezone>Europe/Paris</timezone>
    </developer>
    <developer>
      <id>aheritier</id>
      <name>Arnaud Héritier</name>
      <email>aheritier@apache.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>baerrach</id>
      <name>Barrie Treloar</name>
      <email>baerrach@apache.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>Australia/Adelaide</timezone>
    </developer>
    <developer>
      <id>bimargulies</id>
      <name>Benson Margulies</name>
      <email>bimargulies@apache.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>America/New_York</timezone>
    </developer>
    <developer>
      <id>brett</id>
      <name>Brett Porter</name>
      <email>brett@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+10</timezone>
    </developer>
    <developer>
      <id>brianf</id>
      <name>Brian Fox</name>
      <email>brianf@apache.org</email>
      <organization>Sonatype</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>carlos</id>
      <name>Carlos Sanchez</name>
      <email>carlos@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>cstamas</id>
      <name>Tamas Cservenak</name>
      <organization>Sonatype</organization>
      <email>cstamas@apache.org</email>
      <timezone>+1</timezone>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>dennisl</id>
      <name>Dennis Lundberg</name>
      <email>dennisl@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>dkulp</id>
      <name>Daniel Kulp</name>
      <email>dkulp@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>evenisse</id>
      <name>Emmanuel Venisse</name>
      <email>evenisse@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>jdcasey</id>
      <name>John Casey</name>
      <email>jdcasey@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>-6</timezone>
    </developer>
    <developer>
      <id>jvanzyl</id>
      <name>Jason van Zyl</name>
      <email>jason@maven.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>khmarbaise</id>
      <name>Karl Heinz Marbaise</name>
      <email>khmarbaise@apache.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>krosenvold</id>
      <name>Kristian Rosenvold</name>
      <email>krosenvold@apache.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>markh</id>
      <name>Mark Hobson</name>
      <email>markh@apache.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>0</timezone>
    </developer>
    <developer>
      <id>mkleint</id>
      <name>Milos Kleint</name>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>oching</id>
      <name>Maria Odea B. Ching</name>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>olamy</id>
      <name>Olivier Lamy</name>
      <email>olamy@apache.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>Australia/Melbourne</timezone>
    </developer>
    <developer>
      <id>rfscholte</id>
      <name>Robert Scholte</name>
      <email>rfscholte@apache.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>Europe/Amsterdam</timezone>
    </developer>
    <developer>
      <id>rgoers</id>
      <name>Ralph Goers</name>
      <email>rgoers@apache.org</email>
      <organization>Intuit</organization>
      <timezone>-8</timezone>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>snicoll</id>
      <name>Stephane Nicoll</name>
      <email>snicoll@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>stephenc</id>
      <name>Stephen Connolly</name>
      <email>stephenc@apache.org</email>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>0</timezone>
    </developer>
    <developer>
      <id>vsiveton</id>
      <name>Vincent Siveton</name>
      <email>vsiveton@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>wfay</id>
      <name>Wayne Fay</name>
      <email>wfay@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>-6</timezone>
    </developer>

    <!--Committers-->
    <developer>
      <id>agudian</id>
      <name>Andreas Gudian</name>
      <email>agudian@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>Europe/Berlin</timezone>
    </developer>
    <developer>
      <id>andham</id>
      <name>Anders Hammar</name>
      <email>andham@apache.org</email>
      <timezone>+1</timezone>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    <developer>
      <id>bdemers</id>
      <name>Brian Demers</name>
      <organization>Sonatype</organization>
      <email>bdemers@apache.org</email>
      <timezone>-5</timezone>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    <developer>
      <id>bellingard</id>
      <name>Fabrice Bellingard</name>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    <developer>
      <id>bentmann</id>
      <name>Benjamin Bentmann</name>
      <email>bentmann@apache.org</email>
      <organization>Sonatype</organization>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>chrisgwarp</id>
      <name>Chris Graham</name>
      <email>chrisgwarp@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>Australia/Melbourne</timezone>
    </developer>
    <developer>
      <id>dantran</id>
      <name>Dan Tran</name>
      <email>dantran@apache.org</email>
      <timezone>-8</timezone>      
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    <developer>
      <id>dbradicich</id>
      <name>Damian Bradicich</name>
      <organization>Sonatype</organization>
      <email>dbradicich@apache.org</email>
      <timezone>-5</timezone>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    <developer>
      <id>dfabulich</id>
      <name>Daniel Fabulich</name>
      <email>dfabulich@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>fgiust</id>
      <name>Fabrizio Giustina</name>
      <email>fgiust@apache.org</email>
      <organization>openmind</organization>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>godin</id>
      <name>Evgeny Mandrikov</name>
      <organization>SonarSource</organization>
      <email>godin@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>+3</timezone>
    </developer>
    <developer>
      <id>handyande</id>
      <name>Andrew Williams</name>
      <email>handyande@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>0</timezone>
    </developer>
    <developer>
      <id>ifedorenko</id>
      <name>Igor Fedorenko</name>
      <email>igor@ifedorenko.com</email>
      <organization>Sonatype</organization>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>imod</id>
      <name>Dominik Bartholdi</name>
      <email>imod@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>Europe/Zurich</timezone>
    </developer>     
    <developer>
      <id>jjensen</id>
      <name>Jeff Jensen</name>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    <developer>
      <id>ltheussl</id>
      <name>Lukas Theussl</name>
      <email>ltheussl@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>mauro</id>
      <name>Mauro Talevi</name>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    <developer>
      <id>mfriedenhagen</id>
      <name>Mirko Friedenhagen</name>
      <email>mfriedenhagen@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>michaelo</id>
      <name>Michael Osipov</name>
      <email>michaelo@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>Europe/Berlin</timezone>
    </developer>
    <developer>
      <id>mmoser</id>
      <name>Manfred Moser</name>
      <email>mmoser@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>nicolas</id>
      <name>Nicolas de Loof</name>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    <developer>
      <id>pgier</id>
      <name>Paul Gier</name>
      <email>pgier@apache.org</email>
      <organization>Red Hat</organization>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>-6</timezone>
    </developer>
    <developer>
      <id>ptahchiev</id>
      <name>Petar Tahchiev</name>
      <email>ptahchiev@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>+2</timezone>
    </developer>
    <developer>
      <id>rafale</id>
      <name>Raphaël Piéroni</name>
      <email>rafale@apache.org</email>
      <organization>Dexem</organization>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>simonetripodi</id>
      <name>Simone Tripodi</name>
      <email>simonetripodi@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>struberg</id>
      <name>Mark Struberg</name>
      <email>struberg@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    <developer>
      <id>tchemit</id>
      <name>Tony Chemit</name>
      <email>tchemit@apache.org</email>
      <organization>CodeLutin</organization>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>Europe/Paris</timezone>
    </developer>
    <developer>
      <id>tibordigana</id>
      <name>Tibor Digaňa</name>
      <email>tibordigana@apache.org</email>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>Europe/Bratislava</timezone>
    </developer>
    <developer>
      <id>vmassol</id>
      <name>Vincent Massol</name>
      <email>vmassol@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>Committer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <!--End Committers-->

    <developer>
      <id>aramirez</id>
      <name>Allan Q. Ramirez</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>bayard</id>
      <name>Henri Yandell</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>chrisjs</id>
      <name>Chris Stevenson</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>dblevins</id>
      <name>David Blevins</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>dlr</id>
      <name>Daniel Rall</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>epunzalan</id>
      <name>Edwin Punzalan</name>
      <email>epunzalan@apache.org</email>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>felipeal</id>
      <name>Felipe Leme</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>jmcconnell</id>
      <name>Jesse McConnell</name>
      <email>jmcconnell@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>-6</timezone>
    </developer>
    <developer>
      <id>joakime</id>
      <name>Joakim Erdfelt</name>
      <email>joakime@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>jruiz</id>
      <name>Johnny Ruiz III</name>
      <email>jruiz@apache.org</email>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>jstrachan</id>
      <name>James Strachan</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>jtolentino</id>
      <name>Ernesto Tolentino Jr.</name>
      <email>jtolentino@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>+8</timezone>
    </developer>
    <developer>
      <id>kenney</id>
      <name>Kenney Westerhof</name>
      <email>kenney@apache.org</email>
      <organization>Neonics</organization>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>mperham</id>
      <name>Mike Perham</name>
      <email>mperham@gmail.com</email>
      <organization>IBM</organization>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>-6</timezone>
    </developer>
    <developer>
      <id>ogusakov</id>
      <name>Oleg Gusakov</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>pschneider</id>
      <name>Patrick Schneider</name>
      <email>pschneider@gmail.com</email>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>-6</timezone>
    </developer>
    <developer>
      <id>rinku</id>
      <name>Rahul Thakur</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>shinobu</id>
      <name>Shinobu Kuwai</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>smorgrav</id>
      <name>Torbjorn Eikli Smorgrav</name>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    <developer>
      <id>trygvis</id>
      <name>Trygve Laugstol</name>
      <email>trygvis@apache.org</email>
      <organization>ASF</organization>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>wsmoak</id>
      <name>Wendy Smoak</name>
      <email>wsmoak@apache.org</email>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>-7</timezone>
    </developer>
  </developers>

  <mailingLists>
    <mailingList>
      <name>Maven User List</name>
      <subscribe>users-subscribe@maven.apache.org</subscribe>
      <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
      <post>users@maven.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive>
        <otherArchive>http://maven.40175.n5.nabble.com/Maven-Users-f40176.html</otherArchive>
        <otherArchive>http://maven-users.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Maven Developer List</name>
      <subscribe>dev-subscribe@maven.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
      <post>dev@maven.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/dev@maven.apache.org/</otherArchive>
        <otherArchive>http://maven.40175.n5.nabble.com/Maven-Developers-f142166.html</otherArchive>
        <otherArchive>http://maven-dev.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Maven Issues List</name>
      <subscribe>issues-subscribe@maven.apache.org</subscribe>
      <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/issues@maven.apache.org</otherArchive>
        <otherArchive>http://maven.40175.n5.nabble.com/Maven-Issues-f219593.html</otherArchive>
        <otherArchive>http://maven-issues.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Maven Commits List</name>
      <subscribe>commits-subscribe@maven.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-commits/</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/commits@maven.apache.org</otherArchive>
        <otherArchive>http://maven.40175.n5.nabble.com/Maven-Commits-f277168.html</otherArchive>
        <otherArchive>http://maven-commits.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Maven Announcements List</name>
      <post>announce@maven.apache.org</post>
      <subscribe>announce-subscribe@maven.apache.org</subscribe>
      <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/announce@maven.apache.org</otherArchive>
        <otherArchive>http://maven.40175.n5.nabble.com/Maven-Announcements-f326045.html</otherArchive>
        <otherArchive>http://maven-announce.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Maven Notifications List</name>
      <subscribe>notifications-subscribe@maven.apache.org</subscribe>
      <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/notifications@maven.apache.org</otherArchive>
        <otherArchive>http://maven.40175.n5.nabble.com/Maven-Notifications-f301718.html</otherArchive>
        <otherArchive>http://maven-notifications.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-27</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-27</developerConnection>
    <url>http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-27</url>
  </scm>

  <ciManagement>
    <system>Jenkins</system>
    <url>https://builds.apache.org/view/M-R/view/Maven</url>
    <notifiers>
      <notifier>
        <type>mail</type>
        <configuration>
          <address>notifications@maven.apache.org</address>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>
  <distributionManagement>
    <site>
      <id>apache.website</id>
      <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/components/${maven.site.path}</url>
    </site>
  </distributionManagement>

  <properties>
    <javaVersion>6</javaVersion>
    <maven.compiler.source>1.${javaVersion}</maven.compiler.source>
    <maven.compiler.target>1.${javaVersion}</maven.compiler.target>    
    <sonar.host.url>https://analysis.apache.org/</sonar.host.url>
    <maven.site.cache>${user.home}/maven-sites</maven.site.cache>
    <maven.site.path>../..</maven.site.path><!-- to be overridden -->
    <mavenPluginToolsVersion>3.4</mavenPluginToolsVersion>
    <!-- don't fail check for some rules that are too hard to enforce (could even be told broken for some) -->
    <checkstyle.violation.ignore>RedundantThrows,NewlineAtEndOfFile,ParameterNumber,MethodLength,FileLength</checkstyle.violation.ignore>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-component-annotations</artifactId>
        <version>1.5.5</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <version>${mavenPluginToolsVersion}</version>
        <scope>provided</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <repositories>
    <repository>
      <id>apache.snapshots</id>
      <name>Apache Snapshot Repository</name>
      <url>http://repository.apache.org/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>

  <build>
    <pluginManagement>
      <plugins>
        <!-- The Maven universe targets Java 5 minimum, with generics -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>${mavenPluginToolsVersion}</version>
          <configuration>
            <useJava5>true</useJava5>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.modello</groupId>
          <artifactId>modello-maven-plugin</artifactId>
          <version>1.8.1</version>
          <configuration>
            <useJava5>true</useJava5>
          </configuration>
        </plugin>
        <!-- site publishing configuration -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <configuration>
            <!-- for multi-modules site staging -->
            <topSiteURL>scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/components/${maven.site.path}</topSiteURL>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-publish-plugin</artifactId>
          <configuration>
            <checkoutDirectory>${maven.site.cache}/${maven.site.path}</checkoutDirectory>
            <tryUpdate>true</tryUpdate>
          </configuration>
        </plugin>
        <!-- Plexus description generator is either plexus-maven-plugin or plexus-component-metadata -->
        <plugin>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-maven-plugin</artifactId>
          <version>1.3.8</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-component-metadata</artifactId>
          <version>1.5.5</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>2.15</version>
          <configuration>
            <configLocation>config/maven_checks.xml</configLocation>
            <headerLocation>config/maven-header.txt</headerLocation>
            <!-- workaround to avoid analysing generated content (Modello, plugin help mojo, ...) -->
            <sourceDirectory>src/main/java</sourceDirectory>
            <testSourceDirectory>src/test/java</testSourceDirectory>
          </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.5</version>
          <configuration>
            <targetJdk>${maven.compiler.target}</targetJdk>
            <rulesets>
              <ruleset>rulesets/maven.xml</ruleset>
            </rulesets>
            <excludeRoots>
              <excludeRoot>${project.build.directory}/generated-sources/modello</excludeRoot>
              <excludeRoot>${project.build.directory}/generated-sources/plugin</excludeRoot>
            </excludeRoots>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>2.8.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.2</version>
          <configuration>
            <useReleaseProfiles>true</useReleaseProfiles>
            <releaseProfiles>apache-release</releaseProfiles>
            <goals>deploy</goals>
            <arguments>${arguments}</arguments>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-toolchains-plugin</artifactId>
          <version>1.1</version>
        </plugin>
        <!--remove when apache-parent updates this plugin -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>1.6</version>
        </plugin>        
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>2.5.5</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>taglist-maven-plugin</artifactId>
          <version>2.4</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <executions>
          <execution>
            <id>checkstyle-check</id>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-bytecode-version</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <enforceBytecodeVersion>
                  <maxJdkVersion>${maven.compiler.target}</maxJdkVersion>
                </enforceBytecodeVersion>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
          <execution>
            <id>ban-known-bad-maven-versions</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[3.0.4,)</version>
                  <message>Maven 3.0 through 3.0.3 inclusive do not pass correct settings.xml to Maven Release Plugin.</message>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>extra-enforcer-rules</artifactId>
            <version>1.0-beta-3</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <executions>
          <execution>
            <id>rat-check</id>
            <goals>
              <goal>check</goal>
            </goals>
            <!--
                 The following configuration is needed otherwise 
                 a release source package can't be built without
                 changing it.
                 https://issues.apache.org/jira/browse/RAT-184
            -->
            <configuration>
              <excludes>
                <exclude>DEPENDENCIES</exclude>
              </excludes>
            </configuration>
          </execution>
        </executions>
      </plugin>      
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <configuration>
          <dependencyLocationsEnabled>false</dependencyLocationsEnabled><!-- waiting for MPIR-267 -->
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>index</report>
              <report>summary</report>
              <report>dependency-info</report>
              <report>modules</report>
              <report>project-team</report>
              <report>scm</report>
              <report>issue-tracking</report>
              <report>mailing-list</report>
              <report>dependency-management</report>
              <report>dependencies</report>
              <report>dependency-convergence</report>
              <report>cim</report>
              <report>plugin-management</report>
              <report>plugins</report>
              <report>distribution-management</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>jdk-toolchain</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-toolchains-plugin</artifactId>
            <configuration>
              <toolchains>
                <jdk>
                  <version>${maven.compiler.target}</version>
                </jdk>
              </toolchains>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>toolchain</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>quality-checks</id>
      <activation>
        <property>
          <name>quality-checks</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <!--<plugin>
          Clirr needs to be more flexble before we can force this everywhere. New releases that don't have previous artifacts to compare cause Clirr to blow up. And Clirr needs to be smart enough to only look at the previous release artifact so we can make this work during snapshot builds, otherwise it just blows up when you try to do a release.
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>clirr-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>clirr-check</id>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>-->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <executions>
              <execution>
                <id>cpd-check</id>
                <phase>verify</phase>
                <goals>
                  <goal>cpd-check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>reporting</id>
      <reporting>
        <plugins>
        <!-- plugin versions and configuration can be moved to pluginManagement when we don't target Maven 2 any more -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <reportSets>
              <reportSet>
                <id>default</id>
                <reports>
                  <report>checkstyle</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
            <reportSets>
              <reportSet>
                <id>default</id>
                <reports>
                  <report>jxr</report>
                  <report>test-jxr</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
          <!-- Taglist Plugin must be executed after JXR Plugin -->
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>taglist-maven-plugin</artifactId>
            <configuration>
              <tagListOptions>
                <tagClasses>
                  <tagClass>
                    <displayName>FIXME Work</displayName>
                    <tags>
                      <tag>
                        <matchString>fixme</matchString>
                        <matchType>ignoreCase</matchType>
                      </tag>
                      <tag>
                        <matchString>@fixme</matchString>
                        <matchType>ignoreCase</matchType>
                      </tag>
                    </tags>
                  </tagClass>
                  <tagClass>
                    <displayName>Todo Work</displayName>
                    <tags>
                      <tag>
                        <matchString>todo</matchString>
                        <matchType>ignoreCase</matchType>
                      </tag>
                      <tag>
                        <matchString>@todo</matchString>
                        <matchType>ignoreCase</matchType>
                      </tag>
                    </tags>
                  </tagClass>
                  <tagClass>
                    <displayName>Deprecated Work</displayName>
                    <tags>
                      <tag>
                        <matchString>@deprecated</matchString>
                        <matchType>ignoreCase</matchType>
                      </tag>
                    </tags>
                  </tagClass>
                </tagClasses>
              </tagListOptions>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <notimestamp>true</notimestamp>
              <quiet>true</quiet>
              <links>
                <link>http://commons.apache.org/proper/commons-collections/javadocs/api-release</link>
                <link>http://junit.org/javadoc/4.10/</link>
                <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
                <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
              </links>
              <detectLinks>true</detectLinks>
              <tagletArtifacts>
                <tagletArtifact>
                  <groupId>org.apache.maven.plugin-tools</groupId>
                  <artifactId>maven-plugin-tools-javadoc</artifactId>
                  <version>${mavenPluginToolsVersion}</version>
                </tagletArtifact>
                <tagletArtifact>
                  <groupId>org.codehaus.plexus</groupId>
                  <artifactId>plexus-javadoc</artifactId>
                  <version>1.0</version>
                </tagletArtifact>
              </tagletArtifacts>
            </configuration>
            <reportSets>
              <reportSet>
                <id>default</id>
                <reports>
                  <report>javadoc</report>
                  <report>test-javadoc</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
          <!--plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>clirr-maven-plugin</artifactId>
            <version>2.2.2</version>
          </plugin-->
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.codehaus.sonar-plugins</groupId>
            <artifactId>maven-report</artifactId>
            <version>0.1</version>
          </plugin>
        </plugins>
      </reporting>
    </profile>
  </profiles>
</project>
