<?xml version="1.0" ?>

<!--
   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="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>
        Hadoop Core
    </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"
      extends="client,server,s3-server,kfs"/>

    <conf name="mandatory" description="contains the critical  dependencies"
      extends="commons-logging,log4j"/>

    <!--
    These public configurations contain the core dependencies for running hadoop client or server.
    The server is effectively a superset of the client.
    -->
    <conf name="client" description="client-side dependencies"
      extends="mandatory,httpclient"/>
    <conf name="server" description="server-side dependencies"
      extends="client"/>
    <conf name="s3-client" description="dependencies for working with S3/EC2 infrastructure"
      extends="client"/>
    <conf name="s3-server" description="dependencies for running on S3/EC2 infrastructure"
      extends="s3-client,server"/>
    <conf name="kfs" description="dependencies for KFS file system support"/>
    <conf name="ftp" description="dependencies for workign with FTP filesytems"
              extends="mandatory"/>
   <conf name="jetty" description="Jetty provides the in-VM HTTP daemon" extends="commons-logging"/>

    <!--Private configurations. -->

    <conf name="common" visibility="private" extends="runtime,mandatory,httpclient,ftp,jetty"
		      description="common artifacts"/>
    <conf name="javadoc" visibility="private" description="artiracts required while performing doc generation"
      extends="common,mandatory,jetty,lucene"/>
    <!--Testing pulls in everything-->
    <conf name="test" extends="common,default,s3-server,kfs" visibility="private"
      description="the classpath needed to run tests"/>
    <conf name="releaseaudit" visibility="private"
	description="Artifacts required for releaseaudit target"/>
     
    <conf name="commons-logging" visibility="private"/>
    <conf name="httpclient" visibility="private" extends="commons-logging"/>
    <conf name="log4j" visibility="private"/>
    <conf name="lucene" visibility="private"/>
    <conf name="jdiff" visibility="private" extends="log4j,s3-client,jetty,server"/>
    <conf name="checkstyle" visibility="private"/>
    <conf name="packaging" visibility="private"/>
  </configurations>

  <publications>
    <!--get the artifact from our module name-->
    <artifact conf="master"/>
  </publications>
  <dependencies>

 <!--used client side-->
    <dependency org="commons-cli"
      name="commons-cli"
      rev="${commons-cli.version}"
      conf="client->default"/>

    <dependency org="commons-io"
      name="commons-io"
      rev="${commons-io.version}"
      conf="client->default"/>

    <dependency org="checkstyle"
      name="checkstyle"
      rev="${checkstyle.version}"
      conf="checkstyle->default"/>
    <dependency org="jdiff"
      name="jdiff"
      rev="${jdiff.version}"
      conf="jdiff->default"/>
    <dependency org="xerces"
      name="xerces"
      rev="${xerces.version}"
      conf="jdiff->default">
    </dependency>

    <dependency org="xmlenc"
      name="xmlenc"
      rev="${xmlenc.version}"
      conf="server->default"/>

    <!--Configuration: httpclient-->

    <!--
    commons-httpclient asks for too many files.
    All it needs is commons-codec and commons-logging JARs
    -->
    <dependency org="commons-httpclient"
      name="commons-httpclient"
      rev="${commons-httpclient.version}"
      conf="httpclient->master">
    </dependency>

    <dependency org="commons-codec"
      name="commons-codec"
      rev="${commons-codec.version}"
      conf="httpclient->default"/>

    <dependency org="commons-net"
      name="commons-net"
      rev="${commons-net.version}"
      conf="ftp->default"/>

    <dependency org="commons-configuration"
      name="commons-configuration"
      rev="${commons-configuration.version}"
      conf="common->default"/>

    <dependency org="org.apache.commons"
      name="commons-math"
      rev="${commons-math.version}"
      conf="common->default"/>

    <dependency org="org.apache.commons"
      name="commons-compress"
      rev="${commons-compress.version}"
      conf="common->default"/>

    <!--Configuration: Jetty -->

<!-- <dependency org="javax.servlet"
      name="servlet-api"
      rev="${servlet-api.version}"
      conf="jetty->master"/>   -->
    <dependency org="org.mortbay.jetty"
      name="jetty"
      rev="${jetty.version}"
      conf="jetty->default"/>
    <dependency org="org.mortbay.jetty"
      name="jetty-util"
      rev="${jetty-util.version}"
      conf="jetty->master"/>

    <dependency org="asm"
      name="asm"
      rev="${asm.version}"
      conf="jetty->master"/>
    <dependency org="com.sun.jersey"
      name="jersey-core"
      rev="${jersey-core.version}"
      conf="jetty->master"/>
    <dependency org="com.sun.jersey"
      name="jersey-json"
      rev="${jersey-json.version}"
      conf="jetty->master"/>
    <dependency org="com.sun.jersey"
      name="jersey-server"
      rev="${jersey-server.version}"
      conf="jetty->master"/>

    <dependency org="tomcat"
      name="jasper-runtime"
      rev="${jasper.version}"
      conf="jetty->master"/>
    <dependency org="tomcat"
      name="jasper-compiler"
      rev="${jasper.version}"
      conf="jetty->master"/>
<!-- this is resolved locally from the lib folder 
   <dependency org="tomcat"
      name="jsp-api"
      rev="${jsp-api.version}"
      conf="jetty->master"/> -->
    <dependency org="commons-el"
      name="commons-el"
      rev="${commons-el.version}"
      conf="jetty->master"/>

    <!--Configuration: secure datanode -->
    <dependency org="commons-daemon" 
      name="commons-daemon" 
      rev="${commons-daemon.version}"
      conf="server->default" /> 

    <!--Configuration: commons-logging -->

    <!--it is essential that only the master JAR of commons logging
    is pulled in, as its dependencies are usually a mess, including things
    like out of date servlet APIs, bits of Avalon, etc.
    -->
    <dependency org="commons-logging"
      name="commons-logging"
      rev="${commons-logging.version}"
      conf="commons-logging->master"/>


    <!--Configuration: commons-logging -->

    <!--log4J is not optional until commons-logging.properties is stripped out of the JAR -->
    <dependency org="log4j"
      name="log4j"
      rev="${log4j.version}"
      conf="log4j->master"/>

    <!--Configuration: s3-client -->
    <!--there are two jets3t projects in the repository; this one goes up to 0.6 and
    is assumed to be the live one-->
    <dependency org="net.java.dev.jets3t"
      name="jets3t"
      rev="${jets3t.version}"
      conf="s3-client->master"/>
    <dependency org="commons-net"
      name="commons-net"
      rev="${commons-net.version}"
      conf="s3-client->master"/> 

    <!--Configuration: kfs -->

    <!-- This is not in the repository
  <dependency org="org.kosmix"
    name="kfs"
    rev="${kfs.version}"
    conf="kfs->default"/>-->

    <!--Configuration: test -->

    <!--artifacts needed for testing -->
    <dependency org="junit"
      name="junit"
      rev="${junit.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="releaseaudit->default"/>
    <dependency org="commons-collections"
      name="commons-collections"
      rev="${commons-collections.version}"
      conf="releaseaudit->default"/>
<!--<dependency org="hsqldb"
      name="hsqldb"
      rev="${hsqldb.version}"
      conf="common->default"/>
    <dependency org="lucene"
      name="lucene"
      rev="${lucene.version}"
      conf="javadoc->default"/> --> 
    <dependency org="org.apache.lucene"
      name="lucene-core"
      rev="${lucene-core.version}"
      conf="javadoc->default"/> 
    <dependency org="commons-logging"
      name="commons-logging-api"
      rev="${commons-logging-api.version}"
      conf="common->default"/>
    <dependency org="org.slf4j"
      name="slf4j-api"
      rev="${slf4j-api.version}"
      conf="common->master"/>
    <dependency org="org.eclipse.jdt"
      name="core"
      rev="${core.version}"
      conf="common->master"/>
    <dependency org="oro"
      name="oro"
      rev="${oro.version}"
      conf="common->default"/>
    <dependency org="org.slf4j"
      name="slf4j-log4j12"
      rev="${slf4j-log4j12.version}"
      conf="common->master">
    </dependency>
    <dependency org="org.codehaus.jackson"
      name="jackson-mapper-asl"
      rev="${jackson.version}"
      conf="common->default"/>
   <dependency org="org.mockito" 
       name="mockito-all" 
       rev="${mockito-all.version}" 
       conf="common->default">
    </dependency>
    <dependency org="com.jcraft"
      name="jsch"
      rev="${jsch.version}"
      conf="common->default">
    </dependency>
    <dependency org="org.aspectj"
      name="aspectjrt"
      rev="${aspectj.version}"
      conf="common->default">
    </dependency>
    <dependency org="org.aspectj"
      name="aspectjtools"
      rev="${aspectj.version}"
      conf="common->default">
    </dependency>
    <dependency org="org.vafer" 
      name="jdeb" 
      rev="${jdeb.version}"
      conf="common->master">
    </dependency>
 </dependencies>
</ivy-module>
