<?xml version="1.0" ?>
<ivy-module version="1.0">
  <info organisation="org.apache.hadoop" module="${ant.project.name}">
    <license name="Apache 2.0"/>
    <ivyauthor name="Apache Hadoop Team" url="http://hadoop.apache.org"/>
    <description>
        Apache Hadoop Chukwa
    </description>
  </info>
  <configurations defaultconfmapping="default">
    <!--these match the Maven configurations-->
    <conf name="default" extends="master,runtime"/>
    <conf name="master" description="contains the artifact but no dependencies"/>
    <conf name="runtime" description="runtime but not the artifact" />
    <conf name="mandatory" description="contains the critical  dependencies"
      extends="commons-logging,log4j"/>
    <conf name="jetty" description="Jetty provides the in-VM HTTP daemon" extends="commons-logging"/>

    <!--Private configurations. -->
    <conf name="commons-logging" visibility="private"/>
    <conf name="common" visibility="private" 
      extends="jetty"
      description="artifacts needed to compile/test the application"/>
    <conf name="jetty" visibility="private" />
    <conf name="releaseaudit" visibility="private"
	description="Artifacts required for releaseaudit target"/>
    <conf name="log4j" visibility="private"/>
    <conf name="jdiff" visibility="private" extends="log4j,jetty"/>
    <conf name="javadoc" visibility="private" description="artiracts required while performing doc generation"
      extends="common,mandatory,jetty"/>
 
  </configurations>

  <publications>
    <!--get the artifact from our module name-->
    <artifact conf="master"/>
  </publications>
  <dependencies>
    <dependency org="jdiff"
      name="jdiff"
      rev="${jdiff.version}"
      conf="jdiff->default"/>
    <dependency org="xerces"
      name="xerces"
      rev="${xerces.version}"
      conf="jdiff->default"/>
   <dependency org="commons-fileupload"
      name="commons-fileupload"
      rev="${commons-fileupload.version}"
      conf="common->default"/>
   <dependency org="commons-httpclient"
      name="commons-httpclient"
      rev="${commons-httpclient.version}"
      conf="common->master"/>  
    <dependency org="commons-io"
      name="commons-io"
      rev="${commons-io.version}"
      conf="common->default"/>  
    <dependency org="commons-logging"
      name="commons-logging"
      rev="${commons-logging.version}"
      conf="common->default"/>
    <dependency org="commons-codec"
      name="commons-codec"
      rev="${commons-codec.version}"
      conf="common->master"/>   
  <dependency org="commons-logging"
      name="commons-logging-api"
      rev="${commons-logging-api.version}"
      conf="common->master"/>   
   <dependency org="commons-net"
      name="commons-net"
      rev="${commons-net.version}"
      conf="common->master"/> 
    <dependency org="tomcat"
      name="servlet-api"
      rev="${servlet-api.version}"
      conf="common->default"/>   
    <dependency org="org.mortbay.jetty"
      name="jetty"
      rev="${jetty.version}"
      conf="common->default"/>   
<!-- Not able to figureout the version - resolving loaclly  -->
<!--
    <dependency org="org.json"
      name="json"
      rev="${json.version}"
      conf="common->default"/>  
    <dependency org="org.apache.tomcat"
      name="jsp-api"
      rev="${jsp-api.version}"
      conf="common->default"/>
    <dependency org="taglibs"
      name="application"
      rev="${taglibs.version}"
      conf="common->default"/> -->
    <dependency org="org.mortbay.jetty"
      name="jetty-util"
      rev="${jetty-util.version}"
      conf="common->default"/>
    <dependency org="junit"
      name="junit"
      rev="${junit.version}"
      conf="common->default"/> 
    <dependency org="tomcat"
      name="servlet"
      rev="${servlet.version}"
      conf="common->default"/>   
    <dependency org="log4j"
      name="log4j"
      rev="${log4j.version}"
      conf="common->master"/>
    <dependency org="taglibs"
      name="standard"
      rev="${taglibs.version}"
      conf="common->default"/>
    <dependency org="jspapi"
      name="jsp-api"
      rev="${jsp-api.version}"
      conf="common->default"/>
    <dependency org="jstl"
      name="jstl"
      rev="${jstl.version}"
      conf="common->default"/>
    <dependency org="mysql"
      name="mysql-connector-java"
      rev="${mysql-connector.version}"
      conf="common->default"/>
    <!-- dependency org="org.apache.hadoop"
      name="hadoop-core"
      rev="${hadoop.version}"
      conf="common->default"/ -->
    <dependency org="com.google.code.p.arat"
      name="rat-lib"
      rev="${rats-lib.version}"
      conf="releaseaudit->default"/>
    <dependency org="commons-lang"
      name="commons-lang"
      rev="${commons-lang.version}"
      conf="common->default"/>
    <dependency org="commons-collections"
      name="commons-collections"
      rev="${commons-collections.version}"
      conf="common->default"/>
    <dependency org="net.sf.ezmorph"
      name="ezmorph"
      rev="${ezmorph.version}"
      conf="common->default"/>
    <dependency org="commons-beanutils"
      name="commons-beanutils"
      rev="${commons-beanutils.version}"
      conf="common->default"/>
  </dependencies>
</ivy-module>
