<?xml version="1.0" encoding="ISO-8859-1"?>

<project>
    <groupId>directory</groupId>
    <artifactId>apacheds</artifactId>
    <currentVersion>0.9.2</currentVersion>
    <name>Apache Directory Project</name>
    <url>http://directory.apache.org</url>
    <logo>http://directory.apache.org/images/apache-directory-logo.png</logo>

    <inceptionYear>2003</inceptionYear>
    
    <issueTrackingUrl>http://issues.apache.org/jira/browse/DIREVE</issueTrackingUrl>

    <siteAddress>minotaur.apache.org</siteAddress>
    <siteDirectory>
      /www/directory.apache.org/subprojects/apacheds
    </siteDirectory>
    <distributionDirectory>
      /www/cvs.apache.org/dist/directory
    </distributionDirectory>

    <gumpRepositoryId>directory</gumpRepositoryId>

    <repository>
      <connection>
        scm:svn:http://svn.apache.org/repos/asf/directory:apacheds/trunk/${module.path}
      </connection>

      <url>
        http://svn.apache.org/viewcvs.cgi/directory/apacheds/trunk/${module.path}/?root=Apache-SVN
      </url>
      
      <developerConnection>
        https://svn.apache.org/repos/asf/directory/apacheds/trunk/${module.path}
      </developerConnection>
    </repository>
  
    <description>
      The Apache Directory Server (ApacheDS) is an embeddable LDAPv3 directory 
      server with other protocol plugins such as kerberos.  It is designed to 
      be completely pluggable in every aspect including backends and frontend 
      handlers making making it an ideal experimentation platform for LDAP 
      protocol testing, and for use in building other tools like like meta 
      directories, and virtual directories.  ApacheDS aims to introduces 
      stored procedures, triggers, views, and queues to the world of LDAP.
    </description>

    <mailingLists>
      <mailingList>
        <name>Apache Directory Developement - use [ApacheDS] prefix</name>
        <subscribe>
          dev-subscribe@directory.apache.org
        </subscribe>
        <unsubscribe>
          dev-unsubscribe@directory.apache.org
        </unsubscribe>
        <archive>
          http://issues.apache.org/eyebrowse/SummarizeList?listId=181
        </archive>
      </mailingList>
    </mailingLists>
    
    <licenses>
      <license>
        <name>Apache 2.0 License</name>
        <url>http://www.apache.org/licenses/LICENSE-2.0</url>
        <distribution>repo</distribution>
      </license>
    </licenses>

    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <url>http://junit.org</url>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>nlog4j</artifactId>
        <version>1.2.14</version>
        <url>http://slf4j.org/nlog4j</url>
      </dependency>
    </dependencies>        
  
    <build>
      <nagEmailAddress>dev@directory.apache.org</nagEmailAddress>
      <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
      <unitTestSourceDirectory>${basedir}/src/test</unitTestSourceDirectory>

      <unitTest>
        <includes>
          <include>**/*Test*</include>
        </includes>
              
        <!-- 
          Need to skip abstract test cases which do not have tests or the build
          fails.
        -->
        <excludes>
          <exclude>**/Abstract*Test*</exclude>
        </excludes>
        
        <resources>
          <resource>
            <directory>${basedir}/src/test/resources</directory>
            <includes> 
              <include>**/*</include>
            </includes>
          </resource>
        </resources>
      </unitTest>
    
    <resources>
      <resource>
        <directory>${basedir}/src/main/resources</directory>
        <includes>
          <include>**/*</include>
        </includes>
      </resource>
              
      <resource>
        <directory>${basedir}</directory>
        <targetPath>META-INF</targetPath>
        <includes>
          <include>LICENSE.txt</include>
          <include>NOTICE.txt</include>
        </includes>
      </resource>
    </resources>
    <jars></jars>
  </build>

  <developers>
    <developer>
      <name>Alex Karasulu</name>
      <id>akarasulu</id>
      <email>akarasulu at apache.org</email>
      <roles>
        <role>Founder</role>
        <role>Architect</role>
        <role>Lead Developer</role>
      </roles>
    </developer>
    <developer>
      <name>Enrique Rodriguez</name>
      <id>erodriguez</id>
      <email>erodriguez at apache.org</email>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
  </developers>
    
  <!-- 
   No need to keep plugins here since we do not generate reports for the parent
   - only the children have reports that are on valid code.  For some reason 
   though site generation seems to want to generate reports even though they 
   are not used in the site.  So I put this single report in here to prevent 
   it from generating several default reports which take more time.
   -->
  <reports>
    <report>maven-license-plugin</report>
  </reports>
</project>


