<?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
  
  https://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     -->
<!-- https://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>27</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>47-SNAPSHOT</version>
  <url>https://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>jenkins</system>
    <url>https://builds.apache.org/view/A-D/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 Alliance List</name>
      <subscribe>alliance-subscribe@directory.apache.org</subscribe>
      <unsubscribe>alliance-unsubscribe@directory.apache.org</unsubscribe>
      <post>alliance@directory.apache.org</post>
      <archive>https://mail-archives.apache.org/mod_mbox/directory-alliance</archive>
      <otherArchives>
        <otherArchive>https://www.mail-archive.com/alliance@directory.apache.org/</otherArchive>
      </otherArchives>
    </mailingList>

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

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

    <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>https://mail-archives.apache.org/mod_mbox/directory-dev</archive>
      <otherArchives>
        <otherArchive>https://www.mail-archive.com/dev@directory.apache.org/</otherArchive>
      </otherArchives>
    </mailingList>

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

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

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

    <mailingList>
      <name>The Directory Private List</name>
      <subscribe>private-subscribe@directory.apache.org</subscribe>
      <unsubscribe>private-unsubscribe@directory.apache.org</unsubscribe>
      <post>private@directory.apache.org</post>
      <archive>https://mail-archives.apache.org/mod_mbox/private-notifications</archive>
      <otherArchives>
        <otherArchive>https://www.mail-archive.com/private@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>https://mail-archives.apache.org/mod_mbox/directory-users</archive>
      <otherArchives>
        <otherArchive>https://www.mail-archive.com/users@directory.apache.org/</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

  <developers>
    <!-- PMC Chair -->
    <developer>
      <id>smckinney</id>
      <name>Shawn McKinney</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Chairman</role>
      </roles>
    </developer>

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

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

    <developer>
      <id>cpike</id>
      <name>Chris Pike</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

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

    <developer>
      <id>coheiga</id>
      <name>Colm O hEigeartaigh</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

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

    <developer>
      <id>drankye</id>
      <name>Kai Zheng</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

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

    <developer>
      <id>lucastheisen</id>
      <name>Lucas Theisen</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC member</role>
      </roles>
    </developer>

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

    <developer>
      <id>pierresmits</id>
      <name>Pierre Smits</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>pamarcelot</id>
      <name>Pierre-Arnaud Marcelot</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>plusplusjiajia</id>
      <name>plusplusjiajia</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>semancik</id>
      <name>Radovan Semancik</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>smckinney</id>
      <name>Shawn McKinney</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>

    <developer>
      <id>seelmann</id>
      <name>Stefan Seelmann</name>
      <organization>ASF</organization>
      <organizationUrl>https://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>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    
    <!-- Committers -->
    <developer>
      <id>admirhodzic</id>
      <name>    Admir Hodzic</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>adc</id>
      <name>Alan Cabrera</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

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

    <developer>
      <id>aphaskell</id>
      <name>Alex Haskell</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

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

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

    <developer>
      <id>bloritsch</id>
      <name>Berin Loritsch</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    
    <developer>
      <id>bdemers</id>
      <name>Brian Demers</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>charm</id>
      <name>Christopher Harm</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

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

    <developer>
      <id>zenglinx</id>
      <name>Franck Zeng</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

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

    <developer>
      <id>gg</id>
      <name>Gerard Gagliano</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>gokturk</id>
      <name>Göktürk Gezer</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>
    
    <developer>
      <id>rjan</id>
      <name>Jan S. Rellermeyer</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>sindberg</id>
      <name>Jan Sindberg</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>liujiayi771</id>
      <name>Jiayi Liu</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>jconlon</id>
      <name>John E. Conlon</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>lhaeger</id>
      <name>Lothar Haeger</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>hazel</id>
      <name>Lin Chen</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

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

    <developer>
      <id>rmf</id>
      <name>Richard Feezel</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

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

    <developer>
      <id>ussmith</id>
      <name>Shawn E Smith</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>smoyer1</id>
      <name>Steve Moyer</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>tbennett</id>
      <name>Timothy Bennett</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>littlezhou</id>
      <name>Wei Zhou</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>yaning</id>
      <name>Yaning Xu</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

    <developer>
      <id>yudhiks</id>
      <name>Yudhi Karunia Surtan</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Committer</role>
      </roles>
    </developer>

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

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

    <developer>
      <id>ersiner</id>
      <name>Ersin Er</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>
    
    <developer>
      <id>felixk</id>
      <name>Felix Knecht</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
      <timezone>+1</timezone>
    </developer>

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

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

    <developer>
      <id>jmachols</id>
      <name>John Peacock</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

    <developer>
      <id>hennejg</id>
      <name>Joerg Henne</name>
      <organization>ASF</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>Emeritus</role>
      </roles>
    </developer>

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

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

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

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

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

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

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

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

  </developers>

  <scm>
    <connection>scm:git:https://gitbox.apache.org/repos/asf/directory-project.git</connection>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/directory-project.git</developerConnection>
    <url>https://github.com/apache/directory-project.git/tree/{project.scm.tag}</url>
    <tag>master</tag>
  </scm>

  <prerequisites>
    <maven>3.5.4</maven>
  </prerequisites>

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

    <!-- activate Reproducible Builds -->
    <project.build.outputTimestamp>1659019042</project.build.outputTimestamp>

    <!-- ================================================ -->
    <!-- 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>
    <project.build.outputTimestamp>10</project.build.outputTimestamp>
    <skin.version>1.0.3</skin.version>
    <org.apache.directory.checkstyle-configuration.version>2.0.1</org.apache.directory.checkstyle-configuration.version>

    <!-- Overload the miminum maven version  requirement -->
    <minimalMavenBuildVersion>3.8.0</minimalMavenBuildVersion>
  </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>
          <!-- Get from https://repo.maven.apache.org/maven2/org/codehaus/mojo/antlr-maven-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>3.1.0</version>
        </plugin>

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

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

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>3.1.2</version>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>9.3</version>
            </dependency>
            <dependency>
              <groupId>org.apache.directory.buildtools</groupId>
              <artifactId>checkstyle-configuration</artifactId>
              <version>${org.apache.directory.checkstyle-configuration.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <configLocation>directory-checks.xml</configLocation>
          </configuration>
        </plugin>

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

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.10.1</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <optimize>true</optimize>
            <showDeprecations>true</showDeprecations>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>

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

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

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

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

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>2.10</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>3.2.1</version>
        </plugin>

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

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

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

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

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

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

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

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

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

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>3.0.0-M6</version>
          <configuration>
            <tagNameFormat>@{project.version}</tagNameFormat>
          </configuration>
        </plugin>

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

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

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

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

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

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

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

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

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

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

        <!-- Don't use 2.5.4: https://issues.apache.org/jira/browse/FELIX-4882 -->
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>5.1.7</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.14</version>
          <configuration>
            <excludeSubProjects>false</excludeSubProjects>
            <excludes>
              <!-- project excludes -->
              <exclude>README.md</exclude>
              <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>4.21</version>
        </plugin>

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

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

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

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>2.7</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>3.0.5</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.1</version>
        </plugin>

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

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>l10n-maven-plugin</artifactId>
          <version>1.0.0</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>taglist-maven-plugin</artifactId>
          <version>3.0.0</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>2.11.0</version>
        </plugin>
  
        <plugin>
          <groupId>com.agilejava.docbkx</groupId>
          <artifactId>docbkx-maven-plugin</artifactId>
          <version>2.0.17</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.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <inherited>true</inherited>
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting>

  <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>
    
    <profile>
      <id>activate-checkstyle-supression</id>
      <activation>
        <file>
          <exists>${basedir}/src/checkstyle/suppressions.xml</exists>
        </file>
      </activation>
      <properties>
        <checkstyle.suppressions.location>${basedir}/src/checkstyle/suppressions.xml</checkstyle.suppressions.location>
      </properties>
    </profile>
  </profiles>

</project>
