<!--
  Copyright (C) 2009-2013, JoshuaTree. All Rights Reserved.
  Licensed to Joshua Tree Software, LLC under New BSD license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  JTS licenses this file to You under the New BSD License
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://jts.us/License

   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.
-->
<ivy-module version="2.0">
    <info organisation="org.apache" module="openldap-fortress-realm"/>
    <dependencies>
        <dependency org="us.joshuatreesoftware" name="fortress" rev="1.0-RC35"  conf="default->master"/>
        <dependency org="commons-lang" name="commons-lang" rev="2.4" conf="default->master"/>
        <dependency org="commons-configuration" name="commons-configuration" rev="1.6" conf="default->master"/>
        <dependency org="commons-lang" name="commons-lang" rev="2.4" conf="default->master"/>
        <dependency org="commons-collections" name="commons-collections" rev="3.2.1" conf="default->master"/>
        <dependency org="commons-pool" name="commons-pool" rev="1.5.2" conf="default->master"/>
        <dependency org="commons-logging" name="commons-logging" rev="1.1.1" conf="default->master"/>
        <dependency org="com.unboundid" name="unboundid-ldapsdk" rev="2.1.0" conf="default->master"/>
        <dependency org="junit" name="junit" rev="4.9" conf="default->master"/>
        <dependency org="log4j" name="log4j" rev="1.2.17" conf="default->master"/>
        <dependency org="org.jasypt" name="jasypt" rev="1.8" conf="default->master"/>
        <dependency org="org.jgrapht" name="jgrapht-jdk1.5" rev="0.7.3" conf="default->master"/>
        <dependency org="net.sf.ehcache" name="ehcache-core" rev="2.6.5" conf="default->master"/>
        <dependency org="org.slf4j" name="slf4j-api" rev="1.7.5" conf="default->master"/>
        <dependency org="org.slf4j" name="slf4j-jcl" rev="1.7.5" conf="default->master"/>
        <dependency org="org.apache.directory.server" name="apacheds-all" rev="2.0.0-M15" conf="default->master"/>

        <dependency org="org.apache.tomcat" name="tomcat-catalina" rev="7.0.22" conf="default->master">
            <artifact name="tomcat-catalina" type="jar" />
        </dependency>
        <dependency org="org.apache.tomcat" name="catalina" rev="6.0.33" conf="default->master">
            <artifact name="catalina" type="jar" />
        </dependency>
    </dependencies>
</ivy-module>
