<?xml version="1.0" encoding="UTF-8"?>
<project>
  <extend>${basedir}/../project.xml</extend>
  <artifactId>apacheds-core</artifactId>
  <name>ApacheDS Core</name>
  <inceptionYear>2002</inceptionYear>
  <shortDescription>Server's Core</shortDescription>
  <description>
    Server's core contains all backend subsystems.  It depends on 
    protocol and uses it with seda to service LDAP requests.  The core 
    contains the JNDI provider, interceptor framework, interceptor services,
    the schema subsystem and the database subsystem.  Hence the core is the
    heart of the server. 
  </description>
  <dependencies>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.0</version>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.1</version>
    </dependency>
    <dependency>
      <groupId>commons-primitives</groupId>
      <artifactId>commons-primitives</artifactId>
      <version>20041207.202534</version>
    </dependency>
    <dependency>
      <groupId>regexp</groupId>
      <artifactId>regexp</artifactId>
      <version>1.2</version>
      <url>http://jakarta.apache.org/regexp/index.html</url>
      <properties>
        <gump.project>jakarta-regexp</gump.project>
      </properties>
    </dependency>
    <dependency>
      <groupId>oro</groupId>
      <artifactId>oro</artifactId>
      <version>2.0.7</version>
      <url>http://jakarta.apache.org/oro</url>
      <properties>
        <gump.project>jakarta-oro</gump.project>
      </properties>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>1.0</version>
      <url>http://jakarta.apache.org/commons/io</url>
    </dependency>
    <dependency>
      <groupId>antlr</groupId>
      <artifactId>antlr</artifactId>
      <version>2.7.2</version>
      <url>http://antlr.org/</url>
    </dependency>
    <dependency>
      <groupId>jdbm</groupId>
      <artifactId>jdbm</artifactId>
      <version>1.0</version>
      <url>http://jdbm.sourceforge.net</url>
    </dependency>
    <dependency>
      <groupId>directory-shared</groupId>
      <artifactId>ldap-common</artifactId>
      <version>0.9.3-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>apacheds-shared</artifactId>
      <version>${pom.currentVersion}</version>
    </dependency>

    <!-- The Directory Maven Plugin -->
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>maven-directory-plugin</artifactId>
      <version>${pom.currentVersion}</version>
      <type>plugin</type>
    </dependency>
  </dependencies>

  <build>
  </build>

  <reports>
    <report>maven-changes-plugin</report>
    <report>maven-tasklist-plugin</report>
    <report>maven-junit-report-plugin</report>
    <report>maven-jdepend-plugin</report>
    <report>maven-simian-plugin</report>
    <report>maven-javadoc-plugin</report>
    <report>maven-jxr-plugin</report>
    <report>maven-license-plugin</report>
    <report>maven-multiproject-plugin</report>
  </reports>
</project>

