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

<project>
    <groupId>incubator-directory</groupId>
    <artifactId>apacheds</artifactId>
    <name>Apache Directory Server</name>
    <currentVersion>0.8</currentVersion>
    
    <organization>
      <name>The Apache Incubator</name>
      <url>http://incubator.apache.org</url>
      <logo>http://incubator.apache.org/directory/images/apache-incubator-logo.png</logo>
    </organization>

    <inceptionYear>2003</inceptionYear>
    <package>org.apache.ldap.server</package>
    
    <logo>http://incubator.apache.org/directory/images/apache-directory-logo.png</logo>

    <url>http://incubator.apache.org/directory/apacheds/</url>
    
    <issueTrackingUrl>http://issues.apache.org/jira/browse/DIREVE</issueTrackingUrl>

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

    <gumpRepositoryId>apache-incubator-svn</gumpRepositoryId>

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

      <url>
        http://svn.apache.org/viewcvs.cgi/incubator/directory/apacheds/trunk/${module.path}/?root=Apache-SVN
      </url>
      
      <developerConnection>
        https://svn.apache.org/repos/asf/incubator/directory/apacheds/trunk/${module.path}
      </developerConnection>
    </repository>
  
    <shortDescription>Apache Directory Server</shortDescription>
      
    <description>
      The Apache Directory Server (ApacheDS) is an embeddable LDAPv3 directory 
      server.  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>
          directory-dev-subscribe@incubator.apache.org
        </subscribe>
        <unsubscribe>
          directory-dev-unsubscribe@incubator.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>
    </dependencies>        
  
    <build>
      <nagEmailAddress>directory-dev@incubator.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>
          <include>INCUBATOR-DISCLAIMER.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>


