<?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.
-->
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">

  <info organisation="${ivy.organisation}" module="${project.name}" revision="${project.version}"/>

  <configurations defaultconf="required" defaultconfmapping="*->default">
    <conf name="required"/>
    <conf name="bdbje"/>
    <conf name="jfree"/>
    <conf name="csvjdbc"/>
    <conf name="findbugs"/>
    <conf name="cobertura"/>
    <conf name="bonecp"/>
  </configurations>

  <publications xmlns:e="urn:ant.apache.org:ivy-extras"/>

  <dependencies>
    <dependency org="biz.aQute" name="bnd" rev="0.0.384" transitive="false"/>
    <dependency org="commons-beanutils" name="commons-beanutils-core" rev="1.8.3" transitive="false"/>
    <dependency org="commons-cli" name="commons-cli" rev="1.2" transitive="false"/>
    <dependency org="commons-codec" name="commons-codec" rev="1.6" transitive="false"/>
    <dependency org="commons-collections" name="commons-collections" rev="3.2.1" transitive="false"/>
    <dependency org="commons-configuration" name="commons-configuration" rev="1.8" transitive="false"/>
    <dependency org="commons-digester" name="commons-digester" rev="1.8.1" transitive="false"/>
    <dependency org="commons-lang" name="commons-lang" rev="2.6" transitive="false"/>
    <dependency org="commons-logging" name="commons-logging" rev="1.1.1" transitive="false"/>
    <dependency org="org.apache.derby" name="derby" rev="10.8.2.2" transitive="false"/>
    <dependency org="org.apache.geronimo.framework" name="geronimo-kernel" rev="2.2.1" transitive="false"/>
    <dependency org="org.apache.geronimo.specs" name="geronimo-ejb_3.0_spec" rev="1.0.1" transitive="false"/>
    <dependency org="org.apache.geronimo.specs" name="geronimo-j2ee-connector_1.5_spec" rev="2.0.0" transitive="false"/>
    <dependency org="org.apache.geronimo.specs" name="geronimo-jms_1.1_spec" rev="1.0" transitive="false"/>
    <dependency org="org.apache.geronimo.specs" name="geronimo-jta_1.1_spec" rev="1.1.1" transitive="false"/>
    <dependency org="org.apache.geronimo.specs" name="geronimo-servlet_2.5_spec" rev="1.2" transitive="false"/>
    <dependency org="com.google.code.gson" name="gson" rev="2.0" transitive="false"/>
    <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="1.9.0" transitive="false"/>
    <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="1.9.0" transitive="false"/>
    <dependency org="net.java.dev.javacc" name="javacc" rev="5.0" transitive="false"/>
    <dependency org="junit" name="junit" rev="3.8.1" transitive="false"/>
    <dependency org="org.python" name="jython-standalone" rev="2.5.2" transitive="false"/>
    <dependency org="log4j" name="log4j" rev="1.2.16" transitive="false"/>
    <dependency org="org.apache.maven" name="maven-ant-tasks" rev="2.1.1" transitive="false"/>
    <dependency org="org.mockito" name="mockito-all" rev="1.9.0" transitive="false"/>
    <dependency org="org.slf4j" name="slf4j-api" rev="1.6.4" transitive="false"/>
    <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.4" transitive="false"/>
    <dependency org="org.eclipse.jetty" name="jetty-server" rev="7.6.10.v20130312" transitive="false"/>
    <dependency org="org.eclipse.jetty" name="jetty-websocket" rev="7.6.10.v20130312" transitive="false"/>
    <dependency org="org.eclipse.jetty" name="jetty-continuation" rev="7.6.10.v20130312" transitive="false"/>
    <dependency org="org.eclipse.jetty" name="jetty-io" rev="7.6.10.v20130312" transitive="false"/>
    <dependency org="org.eclipse.jetty" name="jetty-http" rev="7.6.10.v20130312" transitive="false"/>
    <dependency org="org.eclipse.jetty" name="jetty-security" rev="7.6.10.v20130312" transitive="false"/>
    <dependency org="org.eclipse.jetty" name="jetty-servlet" rev="7.6.10.v20130312" transitive="false"/>
    <dependency org="org.eclipse.jetty" name="jetty-util" rev="7.6.10.v20130312" transitive="false"/>
    <dependency org="org.dojotoolkit" name="dojo-war" rev="1.8.3" transitive="false"/>
    <dependency org="xalan" name="xalan" rev="2.7.0" transitive="false"/>
    <dependency org="velocity" name="velocity" rev="1.4" transitive="false"/>
    <dependency org="velocity" name="velocity-dep" rev="1.4" transitive="false"/>

    <!-- The following are optional dependencies, for modules providing optional functionlity or
    for use in optional build/test steps. Their optional status is usually indicative of licences
    which are not compatible with the Apache Licence -->
    <dependency org="com.sleepycat" name="je" rev="5.0.73" transitive="false" conf="bdbje"/>
    <dependency org="jfree" name="jfreechart" rev="1.0.13" transitive="false" conf="jfree"/>
    <dependency org="jfree" name="jcommon" rev="1.0.16" transitive="false" conf="jfree"/>
    <dependency org="com.jolbox" name="bonecp" rev="0.7.1.RELEASE" transitive="false" conf="bonecp"/>
    <dependency org="com.google.guava" name="guava" rev="14.0.1" transitive="false" conf="bonecp"/>
    <dependency org="net.sourceforge.csvjdbc" name="csvjdbc" rev="1.0.8" transitive="false" conf="csvjdbc"/>
    <dependency org="com.google.code.findbugs" name="findbugs-ant" rev="2.0.0" conf="findbugs"/>
    <dependency org="net.sourceforge.cobertura" name="cobertura" rev="1.9.4.1" conf="cobertura">
      <exclude org="org.apache.ant"/>
    </dependency>
  </dependencies>
</ivy-module>
