<?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-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0</version>
      <url>http://jakarta.apache.org/commons/logging</url>
    </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>0.20-dev</version>
      <url>http://jdbm.sourceforge.net</url>
    </dependency>
    <dependency>
      <groupId>directory-shared</groupId>
      <artifactId>ldap-common</artifactId>
      <version>0.9.1-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>aspectj</groupId>
      <artifactId>aspectjrt</artifactId>
      <version>1.2</version>
      <properties>
        <gump.project>aspectj</gump.project>
        <gump.id>aspectjrt</gump.id>
      </properties>
    </dependency>
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>apacheds-shared</artifactId>
      <version>${pom.currentVersion}</version>
    </dependency>
    <dependency>
      <groupId>directory-protocols</groupId>
      <artifactId>ldap-protocol</artifactId>
      <version>0.9</version>
    </dependency>
    <dependency>
      <groupId>directory-asn1</groupId>
      <artifactId>asn1-codec</artifactId>
      <version>0.3.1-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>directory-shared</groupId>
      <artifactId>apache-ldapber-provider</artifactId>
      <version>0.9</version>
    </dependency>
    <dependency>
      <groupId>directory-asn1</groupId>
      <artifactId>asn1-ber</artifactId>
      <version>0.3</version>
    </dependency>
    <dependency>
      <groupId>directory-network</groupId>
      <artifactId>mina</artifactId>
      <version>0.7.3-SNAPSHOT</version>
    </dependency>

    <!-- The Eve Maven Plugin -->
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>maven-directory-plugin</artifactId>
      <version>${pom.currentVersion}</version>
      <type>plugin</type>
    </dependency>
  </dependencies>

  <build>
    <aspectSourceDirectory>${basedir}/src/main/aspects</aspectSourceDirectory>
  </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-jcoverage-plugin</report> breaks build -->
    <!-- <report>maven-checkstyle-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>

