<?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
  
  http://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.
--><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">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.directory.project</groupId>
    <artifactId>project</artifactId>
    <version>18</version>
  </parent>

  <groupId>org.apache.directory.shared</groupId>
  <artifactId>shared-parent</artifactId>
  <name>Apache Directory Shared</name>
  <packaging>pom</packaging>
  <version>0.9.20-SNAPSHOT</version>

  <properties>
    <projectName>ApacheDS-Shared</projectName>
    <distMgmtSiteUrl>scpexe://people.apache.org/www/directory.apache.org/shared/gen-docs/${project.version}/</distMgmtSiteUrl>
    
    <!-- Set versions for depending projects -->
    <skin.version>1.0.2</skin.version>
    <org.apache.directory.junit.junit-addons.version>0.1-SNAPSHOT</org.apache.directory.junit.junit-addons.version>
    <org.apache.directory.shared.version>0.9.20-SNAPSHOT</org.apache.directory.shared.version>
    <org.apache.directory.checkstyle-configuration.version>0.2-SNAPSHOT</org.apache.directory.checkstyle-configuration.version>
    
    <!-- Set versions for depending jars -->
    <antlr.version>2.7.7</antlr.version>
    <commons.collections.version>3.2.1</commons.collections.version>
    <commons.io.version>1.4</commons.io.version>
    <commons.lang.version>2.5</commons.lang.version>
    <commons.pool.version>1.5.4</commons.pool.version>
    <dom4j.version>1.6.1</dom4j.version>
    <junit.version>4.8.1</junit.version>
    <log4j.version>1.2.16</log4j.version>
    <mina.core.version>2.0.1</mina.core.version>
    <slf4j.api.version>1.5.11</slf4j.api.version>
    <slf4j.log4j12.version>1.5.11</slf4j.log4j12.version>
    <xml.apis.version>1.0.b2</xml.apis.version>
    <xpp3.version>1.1.4c</xpp3.version>
    <findbugs.annotations.version>1.0.0</findbugs.annotations.version>
  </properties>
  
  <distributionManagement>
    <site>
      <id>apache.directory.shared</id>
      <url>${distMgmtSiteUrl}</url>
    </site>
  </distributionManagement>

  <issueManagement>
    <system>JIRA</system>
    <url>http://issues.apache.org/jira/browse/DIRSHARED</url>
  </issueManagement>

  <modules>
    <module>integ</module>
    <module>i18n</module>
    <module>all</module>
    <module>ldap</module>
    <module>ldap-schema</module>
    <module>ldap-client-api</module>
    <module>dsml-parser</module>
    <module>dsml-engine</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>org.apache.directory.buildtools</groupId>
            <artifactId>checkstyle-configuration</artifactId>
            <version>${org.apache.directory.checkstyle-configuration.version}</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>

  <dependencyManagement>
    <dependencies>
      <!-- Project sub-modules dependencies -->
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>shared-dsml-engine</artifactId>
        <version>${project.version}</version>
      </dependency>
      
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>shared-dsml-parser</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>shared-i18n</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>shared-ldap</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>ldap-client-api</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>shared-ldap-schema</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- Mina dependencies -->

      <dependency>
        <groupId>org.apache.mina</groupId>
        <artifactId>mina-core</artifactId>
        <version>${mina.core.version}</version>
      </dependency>

      <!-- Commons dependencies -->

      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${commons.collections.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons.io.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons.lang.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-pool</groupId>
        <artifactId>commons-pool</artifactId>
        <version>${commons.pool.version}</version>
      </dependency>
      
      <!-- Test dependencies -->

      <dependency>
        <groupId>org.apache.directory.junit</groupId>
        <artifactId>junit-addons</artifactId>
        <version>${org.apache.directory.junit.junit-addons.version}</version>
      </dependency>

      <!-- Logging dependencies -->

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.api.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.log4j12.version}</version>
      </dependency>

      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      
      <!-- Other dependencies -->

      <dependency>
        <groupId>antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>${antlr.version}</version>
      </dependency>
      
      <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>${dom4j.version}</version>
      </dependency>

      <dependency>
        <groupId>findbugs</groupId>
        <artifactId>annotations</artifactId>
        <version>${findbugs.annotations.version}</version>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
      </dependency>
      
      <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>${xml.apis.version}</version>
      </dependency>
      
      <dependency>
        <groupId>xpp3</groupId>
        <artifactId>xpp3</artifactId>
        <version>${xpp3.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- for Java5 findbugs annotations are required in each module at compile time -->
    <dependency>
      <groupId>findbugs</groupId>
      <artifactId>annotations</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- common logging interface -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>

    <!-- logging implementation used for unit tests -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <reporting>
    <excludeDefaults>true</excludeDefaults>
    <plugins>
      <!--
        Note to myself: 
        Plugin configuration in pluginManagement section are *not* applied to reporting plugins!
        See http://jira.codehaus.org/browse/MSITE-443
       -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <aggregate>true</aggregate>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.2</version>
        <configuration>
    	    <aggregate>true</aggregate>
        </configuration>
      </plugin>
 
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <linkXref>true</linkXref>
          <sourceEncoding>utf-8</sourceEncoding>
          <minimumTokens>100</minimumTokens>
          <targetJdk>1.5</targetJdk>
          <aggregate>true</aggregate>
        </configuration>
      </plugin>

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

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <tags>
            <tag>TODO</tag>
            <tag>@todo</tag>
            <tag>@deprecated</tag>
            <tag>FIXME</tag>
          </tags>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.7</version>
        <configuration>
          <minmemory>512m</minmemory>
          <maxmemory>1g</maxmemory>
          <linksource>true</linksource>
          <tags>
            <tag>
              <name>todo</name>
              <!-- todo tag for all places -->
              <placement>a</placement>
              <head>To do:</head>
            </tag>
          </tags>
          <source>1.5</source>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>aggregate</report>
              <report>test-aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>2.3.1</version>
        <configuration>
          <xrefLocation>${project.reporting.outputDirectory}/../xref</xrefLocation>
          <xrefTestLocation>${project.reporting.outputDirectory}/../xref-test</xrefTestLocation>
          <!-- required by dashboard plugin and hudson -->
          <xmlOutput>true</xmlOutput>
          <effort>Max</effort>
          <findbugsXmlOutput>true</findbugsXmlOutput>
          <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <instrumentation>
            <excludes>
              <exclude>org/apache/directory/shared/**/*Constants.class</exclude>
            </excludes>
          </instrumentation>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <configLocation>directory-checks.xml</configLocation>
          <suppressionsLocation>${basedir}/src/checkstyle/suppressions.xml</suppressionsLocation>
          <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
          <xrefLocation>${project.reporting.outputDirectory}/../xref</xrefLocation>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>1.2</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>dependency-updates-report</report>
              <report>plugin-updates-report</report>
              <report>property-updates-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>0.7</version>
        <configuration>
          <excludeSubProjects>false</excludeSubProjects>
          <excludes>
            <!-- MAVEN_DEFAULT_EXCLUDES -->
            <exclude>**/target/**/*</exclude>
            <exclude>**/cobertura.ser</exclude>
            <!-- ECLIPSE_DEFAULT_EXCLUDES -->
            <exclude>**/.classpath</exclude>
            <exclude>**/.project</exclude>
            <exclude>**/.settings/**/*</exclude>
            <!-- IDEA_DEFAULT_EXCLUDES -->
            <exclude>**/*.iml</exclude>
            <exclude>**/*.ipr</exclude>
            <exclude>**/*.iws</exclude>
            <!-- MANIFEST_MF_EXCLUDES -->
            <exclude>**/MANIFEST.MF</exclude>
            <!-- Generated ldif files -->
            <exclude>ldap-schema/src/main/resources/schema/**</exclude>
            <exclude>ldap-schema/src/main/resources/schema-all.ldif</exclude>
            <exclude>src/main/resources/schema/**</exclude>
            <exclude>src/main/resources/schema-all.ldif</exclude>
            <!-- Files having a Bouncy Castle license -->
            <exclude>ldap/src/main/java/org/apache/directory/shared/asn1/der/*.java</exclude>
            <exclude>src/main/java/org/apache/directory/shared/asn1/der/*.java</exclude>
          </excludes>
        </configuration>
      </plugin>

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

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

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <onlyCurrentVersion>true</onlyCurrentVersion>
          <resolutionIds>Fixed</resolutionIds>
          <statusIds>Resolved,Closed</statusIds>
          <columnNames>Type,Key,Summary,Status,Resolution,Fix Version</columnNames>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>jira-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>dashboard-maven-plugin</artifactId>
        <version>1.0.0-beta-1</version>
      </plugin>
    </plugins>
  </reporting>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/directory/shared/trunk</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/directory/shared/trunk</developerConnection>
    <url>http://svn.apache.org/viewvc/directory/shared/trunk</url>
  </scm>

</project>
