<?xml version="1.0" encoding="UTF-8"?>

<!--
  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.
-->

<!-- ===================================================-->
<!-- The customize snapshot and site deployment see     -->
<!-- http://cwiki.apache.org/confluence/x/zbEB          -->
<!-- ================================================== -->

<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.apache</groupId>
    <artifactId>apache</artifactId>
    <version>15</version>
    <relativePath />
  </parent>

  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.directory.project</groupId>
  <artifactId>project</artifactId>
  <packaging>pom</packaging>
  <name>Apache Directory Project</name>
  <version>33-SNAPSHOT</version>
  <url>http://directory.apache.org/</url>

  <description>
    The Apache Directory Project provides directory solutions entirely written in Java. These include a directory server, which has been certified as LDAP v3 compliant 
    by the Open Group (Apache Directory Server), and Eclipse-based directory tools (Apache Directory Studio).
  </description>

  <ciManagement>
    <system>hudson</system>
    <url>https://hudson.apache.org/hudson/view/A-F/view/Directory</url>
    <!-- Comment notifiers -> No default notifier is taken by a CI system, but must be configured
                              by the CI system 
    <notifiers>
      <notifier>
        <type>mail</type>
        <sendOnError>true</sendOnError>
        <sendOnFailure>true</sendOnFailure>
        <sendOnSuccess>true</sendOnSuccess>
        <sendOnWarning>false</sendOnWarning>
        <configuration>
          <address>commits@directory.apache.org</address>
        </configuration>
      </notifier>
    </notifiers>
    -->
  </ciManagement>

  <inceptionYear>2003</inceptionYear>

  <mailingLists>
    <mailingList>
      <name>The Directory Developers List</name>
      <subscribe>dev-subscribe@directory.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@directory.apache.org</unsubscribe>
      <post>dev@directory.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/directory-dev</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/dev@directory.apache.org/</otherArchive>
      </otherArchives>
    </mailingList>

    <mailingList>
      <name>The Directory Users List</name>
      <subscribe>users-subscribe@directory.apache.org</subscribe>
      <unsubscribe>users-unsubscribe@directory.apache.org</unsubscribe>
      <post>users@directory.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/directory-users</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/users@directory.apache.org/</otherArchive>
      </otherArchives>
    </mailingList>

    <mailingList>
      <name>The Directory Commits (SVN) List</name>
      <subscribe>commits-subscribe@directory.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@directory.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/directory-commits</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/commits@directory.apache.org/</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

  <developers>
    <!-- PMC Chair -->
    <developer>
      <id>pamarcelot</id>
      <name>Pierre-Arnaud Marcelot</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Chairman</role>
      </roles>
    </developer>

    <!-- PMC -->
    <developer>
      <id>akarasulu</id>
      <name>Alex Karasulu</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Chairman</role>
      </roles>
    </developer>

    <developer>
      <id>ccustine</id>
      <name>Chris Custine</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>ckoppelt</id>
      <name>Christine Koppelt</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>elecharny</id>
      <name>Emmanuel Lecharny</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>felixk</id>
      <name>Felix Knecht</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+1</timezone>
    </developer>

    <developer>
      <id>kayyagari</id>
      <name>Kiran Ayyagari</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>noel</id>
      <name>Noel Bergman</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>seelmann</id>
      <name>Stefan Seelmann</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>+1</timezone>
    </developer>    

    <developer>
      <id>szoerner</id>
      <name>Stefan Zoerner</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    
    <!-- Committers -->
    <developer>
      <id>adc</id>
      <name>Alan Cabrera</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>aadomowski</id>
      <name>Aleksender Adamowski</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>agariboldi</id>
      <name>Andrea Amerigo Aristodemo Gariboldi</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>antoine</id>
      <name>Antoine Levy Lambert</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>djencks</id>
      <name>David Jencks</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>gokturk</id>
      <name>G&ouml;kt&uuml;rk Gezer</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>lucastheisen</id>
      <name>Lucas Theisen</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>malderson</id>
      <name>Martin Alderson</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>pierresmits</id>
      <name>Pierre Smits</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>rjan</id>
      <name>Jan S. Rellermeyer</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>saya</id>
      <name>Selcuk Aya</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>smckinney</id>
      <name>Shawn McKinney</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <!--  Emeritus -->
    <developer>
      <id>brett</id>
      <name>Brett Porter</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>erodriguez</id>
      <name>Enrique Rodriguez</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>ersiner</id>
      <name>Ersin Er</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>mcconnell</id>
      <name>Jesse McConnell</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>jim</id>
      <name>Jim Jagielski</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>jmachols</id>
      <name>Jeff Machols</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>hennejg</id>
      <name>J&ouml;rg Henne</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>niclas</id>
      <name>Niclas Hedman</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>nicolaken</id>
      <name>Nicola Ken Barozzi</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>nhope</id>
      <name>Norval Hope</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>oersoy</id>
      <name>Ole K. Ersoy</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>psteitz</id>
      <name>Philippe Steitz</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>rscott</id>
      <name>G. Richard Scott</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>trustin</id>
      <name>Trustin Lee</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>vtence</id>
      <name>Vincent Tence</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>wesmckean</id>
      <name>Wes McKean</name>
      <organization>ASF</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

  </developers>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/directory/project/trunk</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/directory/project/trunk</developerConnection>
    <url>http://svn.apache.org/viewvc/directory/project/trunk</url>
  </scm>
  
  <prerequisites>
    <maven>3.0.0</maven>
  </prerequisites>

  <properties>
    <!-- Mandatory... -->
    <arguments />

    <!-- ================================================ -->
    <!-- Set default encoding for reports and generated   -->
    <!-- source files                                     -->
    <!-- http://docs.codehaus.org/x/FQAgBQ                -->
    <!-- http://docs.codehaus.org/x/GQAFAw                -->
    <!-- ================================================ -->
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <skin.version>1.0.2</skin.version>
  </properties>

  <build>
    <!-- =======================  WARNING ========================== -->
    <!-- Only put pluginManagement info in this pom for plugins      -->
    <!-- shared among shared, apacheds, and studio subprojects       -->
    <!-- dependencyManagement is likely to change too quickly to be  -->
    <!-- useful in this pom                                          -->
    <!-- =======================  WARNING ========================== -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>antlr-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.7</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.4</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-changes-plugin</artifactId>
          <version>2.6</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>2.10</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>2.4.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.1</version>
          <configuration>
            <source>1.6</source>
            <target>1.6</target>
            <optimize>true</optimize>
            <showDeprecations>true</showDeprecations>
            <encoding>ISO-8859-1</encoding>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.8</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.1</version>
          <inherited>true</inherited>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-docck-plugin</artifactId>
          <version>1.0</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-ear-plugin</artifactId>
          <version>2.6</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>2.9</version>
          <inherited>true</inherited>
          <configuration>
            <downloadSources>true</downloadSources>
            <downloadJavadocs>true</downloadJavadocs>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-ejb-plugin</artifactId>
          <version>2.3</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>1.3.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>1.5</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.5</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.9.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>2.4</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>2.9</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>2.6</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>2.4</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <version>1.2.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.6</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-plugin</artifactId>
          <version>1.5</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>2.3</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.3</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>2.2.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-stage-plugin</artifactId>
          <version>1.0-alpha-2</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>2.17</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.17</version>
          <configuration>
            <argLine>-Xmx1024m</argLine>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.1.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>2.5.0</version>
        </plugin>

        <plugin>
          <groupId>org.apache.geronimo.genesis.plugins</groupId>
          <artifactId>tools-maven-plugin</artifactId>
          <version>1.4</version>
        </plugin>

        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
	  <version>0.11</version>
          <configuration>
            <excludeSubProjects>false</excludeSubProjects>
            <excludes>
              <!-- project excludes -->
              <exclude>**/resources/svn_ignore.txt</exclude>
              <exclude>**/resources/Reveal in Finder.launch</exclude>
            </excludes>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.xbean</groupId>
          <artifactId>maven-xbean-plugin</artifactId>
          <version>3.8</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.modello</groupId>
          <artifactId>modello-maven-plugin</artifactId>
          <version>1.5</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.7</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>clirr-maven-plugin</artifactId>
          <version>2.3</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>2.5.1</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>dashboard-maven-plugin</artifactId>
          <version>1.0.0-beta-1</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>2.5.4</version>
          <configuration>
            <xmlOutput>false</xmlOutput>
            <!--
              <xmlOutput>true|false</xmlOutput>
              <xmlOutputDirectory>directory location of xml findbugs report</xmlOutputDirectory>
              <threshold>High|Normal|Low|Exp|Ignore</threshold>
              <effort>Min|Default|Max</effort>
              <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
              <includeFilterFile>findbugs-include.xml</includeFilterFile>
              <visitors>FindDeadLocalStores,UnreadFields</visitors>
              <omitVisitors>FindDeadLocalStores,UnreadFields</omitVisitors>
              <onlyAnalyze>org.codehaus.mojo.findbugs.*</onlyAnalyze>
              <pluginList>/libs/fb-contrib/fb-contrib-2.8.0.jar</pluginList>
              <debug>true|false</debug>
              <relaxed>true|false</relaxed>
            -->
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>javancss-maven-plugin</artifactId>
          <version>2.0</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>jdepend-maven-plugin</artifactId>
          <version>2.0-beta-2</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>l10n-maven-plugin</artifactId>
          <version>1.0-alpha-2</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>taglist-maven-plugin</artifactId>
          <version>2.4</version>
          <configuration>
            <tags>
              <tag>TODO</tag>
              <tag>@todo</tag>
              <tag>@deprecated</tag>
              <tag>FIXME</tag>
            </tags>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <version>1.2</version>
        </plugin>
  
        <plugin>
          <groupId>com.agilejava.docbkx</groupId>
          <artifactId>docbkx-maven-plugin</artifactId>
          <version>2.0.13</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.geronimo.genesis.plugins</groupId>
        <artifactId>tools-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>verify-legal-files</id>
            <phase>verify</phase>
            <goals>
              <goal>verify-legal-files</goal>
            </goals>
            <configuration>
              <!-- Fail the build if no legal files were found -->
              <strict>true</strict>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <configuration>
          <reportPlugins>
            <reportPlugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-project-info-reports-plugin</artifactId>
            </reportPlugin>
            <reportPlugin>
              <groupId>org.apache.rat</groupId>
              <artifactId>apache-rat-plugin</artifactId>
            </reportPlugin>
            <reportPlugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>versions-maven-plugin</artifactId>
            </reportPlugin>
          </reportPlugins>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <inherited>true</inherited>
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <!-- Specific profile used to append a string to project name -->
    <profile>
      <id>append-to-project-name</id>
      <activation>
        <property>
          <name>append.to.project.name</name>
        </property>
      </activation>
      <build>
         <plugins>
          <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <configuration>
              <projectNameTemplate>[artifactId]-${append.to.project.name}</projectNameTemplate>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
 
   <!-- Override of the 'apache-release' profile used to launch the Apache RAT plugin -->
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
