Index: ivy.xml
===================================================================
--- ivy.xml	(revision 794587)
+++ ivy.xml	(working copy)
@@ -16,11 +16,11 @@
 -->
 
 <ivy-module version="1.0">
-  <info organisation="org.apache.hadoop" module="${ant.project.name}" revision="${version}">
+  <info organisation="org.apache.hadoop" module="hadoop-mapred" revision="${version}">
     <license name="Apache 2.0"/>
     <ivyauthor name="Apache Hadoop Team" url="http://hadoop.apache.org"/>
     <description>
-        Hadoop Core
+        Hadoop Mapreduce
     </description>
   </info>
   <configurations defaultconfmapping="default">
@@ -52,17 +52,16 @@
 
     <!--Private configurations. -->
 
-    <conf name="common" visibility="private" extends="runtime,mandatory,httpclient,ftp,jetty"
+    <conf name="common" 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,s3-server,kfs" visibility="private"
       description="the classpath needed to run tests"/>
 
-    <conf name="test-hdfswithmr" extends="test" visibility="private"
-      description="the classpath needed to run tests"/>
-
     <conf name="releaseaudit" visibility="private"
 	description="Artifacts required for releaseaudit target"/>
      
@@ -76,20 +75,35 @@
   </configurations>
 
   <publications>
-    <!--get the artifact from our module name-->
-    <artifact conf="master"/>
+    <artifact name="hadoop-mapred" type="jar" ext="jar" conf="common"/>
+    <artifact name="hadoop-mapred-test" type="jar" ext="jar" conf="master,common,test"/>
+    <artifact name="hadoop-mapred-tools" type="jar" ext="jar" conf="master"/>
+    <artifact name="hadoop-mapred-examples" type="jar" ext="jar" conf="master"/>
   </publications>
   <dependencies>
 
  <!--used client side-->
+    <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
     <dependency org="org.apache.mahout.commons"
       name="commons-cli"
       rev="${commons-cli2.version}"
       conf="client->default"/>
-    <dependency org="commons-cli"
-      name="commons-cli"
-      rev="${commons-cli.version}"
-      conf="client->default"/>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="test->test"/>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-hdfs"
+      rev="${hadoop-hdfs.version}"
+      conf="common->common"/>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-hdfs"
+      rev="${hadoop-hdfs.version}"
+      conf="common->common"/>
+
     <dependency org="checkstyle"
       name="checkstyle"
       rev="${checkstyle.version}"
@@ -104,134 +118,6 @@
       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"/>
-
-    <!--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->master"/>
-    <dependency org="org.mortbay.jetty"
-      name="jetty-util"
-      rev="${jetty-util.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"/>
-    <dependency org="org.mortbay.jetty"
-      name="jsp-api-2.1"
-      rev="${jetty.version}"
-      conf="jetty->master"/>
-    <dependency org="org.mortbay.jetty"
-      name="jsp-2.1"
-      rev="${jetty.version}"
-      conf="jetty->master"/>
-    <dependency org="commons-el"
-      name="commons-el"
-      rev="${commons-el.version}"
-      conf="jetty->master"/>
-
-
-    <!--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"/> 
-    <dependency org="org.mortbay.jetty"
-      name="servlet-api-2.5"
-      rev="${servlet-api-2.5.version}"
-      conf="s3-client->master"/>
-    <dependency org="net.sf.kosmosfs"
-      name="kfs"
-      rev="${kfs.version}"
-      conf="kfs->default"/>
-
-    <!--Configuration: test -->
-    <!--artifacts needed for testing -->
-
-    <dependency org="org.apache.ftpserver"
-      name="ftplet-api"
-      rev="${ftplet-api.version}"
-      conf="test->default"/>
-    <dependency org="org.apache.mina"
-      name="mina-core"
-      rev="${mina-core.version}"
-      conf="test->default"/>
-    <dependency org="org.apache.ftpserver"
-      name="ftpserver-core"
-      rev="${ftpserver-core.version}"
-      conf="test->default"/>
-    <dependency org="org.apache.ftpserver"
-      name="ftpserver-deprecated"
-      rev="${ftpserver-deprecated.version}"
-      conf="test->default"/>
-
-    <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}"
@@ -244,35 +130,10 @@
       name="commons-collections"
       rev="${commons-collections.version}"
       conf="releaseaudit->default"/>
-    <dependency org="hsqldb"
-      name="hsqldb"
-      rev="${hsqldb.version}"
-      conf="common->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>
     </dependencies>
-  
 </ivy-module>
Index: ivy/ivysettings.xml
===================================================================
--- ivy/ivysettings.xml	(revision 794587)
+++ ivy/ivysettings.xml	(working copy)
@@ -29,53 +29,61 @@
           http://ibiblio.lsu.edu/main/pub/packages/maven2
           http://www.ibiblio.net/pub/packages/maven2
   -->
-  <property name="repo.maven.org"
-    value="http://repo1.maven.org/maven2/"
-    override="false"/>
-  <property name="snapshot.apache.org"
-    value="http://people.apache.org/repo/m2-snapshot-repository/"
-    override="false"/>
-  <property name="maven2.pattern"
-    value="[organisation]/[module]/[revision]/[module]-[revision]"/>
-  <property name="maven2.pattern.ext"
-    value="${maven2.pattern}.[ext]"/>
-  <!-- pull in the local repository -->
-  <include url="${ivy.default.conf.dir}/ivyconf-local.xml"/>
-  <settings defaultResolver="default"/>
+  <property name="repo.maven.org" value="http://repo1.maven.org/maven2/" override="false"/>
+  <property name="snapshot.apache.org" value="http://people.apache.org/repo/m2-snapshot-repository/"
+        override="false"/>
+
+  <property name="ivy.jar.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]"/>
+  <property name="ivy.xml.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].xml"/>
+
+  <property name="maven.pattern" value="[organisation]/[module]/[revision]/[module]-[revision]"/>
+  <property name="maven2.pattern.ext" value="${maven2.pattern}.[ext]"/>
+      <!-- pull in the local repository -->
+ <include url="${ivy.default.conf.dir}/ivyconf-local.xml"/> 
+ <settings defaultResolver="default"/>
+ <credentials host="host" realm="Sonatype Nexus Repository Manager" username="user" passwd="pass"/> 
   <resolvers>
-    <ibiblio name="maven2"
-      root="${repo.maven.org}"
-      pattern="${maven2.pattern.ext}"
-      m2compatible="true"
-      />
-    <ibiblio name="apache-snapshot"
-      root="${snapshot.apache.org}"
-      pattern="${maven2.pattern.ext}"
-      m2compatible="true"
-      />
+    <!--ibiblio resolvers-->
+    <ibiblio name="maven2" root="${repo.maven.org}" pattern="${maven2.pattern.ext}" m2compatible="true"/>
+
+    <!--local filesytem resolver -->
+    <filesystem name="local"> 
+      <artifact pattern="${ivy.repo.dir}/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]"/>
+      <ivy pattern="${ivy.repo.dir}/[organisation]/[module]/[revision]/[type]s/[artifact].xml"/> 
+    </filesystem>
+
+    <!--url resolver-->
+    <!--
+    <url name="hudson" m2compatible="false">
+     <ivy pattern="${repo_url}/${ivy.xml.pattern}"/>
+     <artifact pattern="${repo_url}/${ivy.jar.pattern}"/>
+    </url>
+    -->
+
+    <!-- ssh resolver -->
+    <ssh name="ssh-resolver" user="${username}" userPassword="${password}" host="people.apache.org">
+      <ivy pattern="/home/${username}/ivyrepo/${ivy.xml.pattern}"/>
+      <artifact pattern="/home/${username}/ivyrepo/${ivy.jar.pattern}"/>
+    </ssh>
+
     <chain name="default" dual="true">
-      <resolver ref="local"/>
+      <resolver ref="ssh-resolver"/>
       <resolver ref="maven2"/>
     </chain>
+
     <chain name="internal">
       <resolver ref="local"/>
+      <resolver ref="ssh-resolver"/>
+      <resolver ref="maven2"/>
     </chain>
+
     <chain name="external">
       <resolver ref="maven2"/>
     </chain>
-    <chain name="external-and-snapshots">
-      <resolver ref="maven2"/>
-      <resolver ref="apache-snapshot"/>
-    </chain>
+
   </resolvers>
+
   <modules>
-    <!--
-    This forces a requirement for other hadoop-artifacts to be built locally
-    rather than look for them online.
-
-    -->
-    <module organisation="org.apache.hadoop" name=".*" resolver="internal"/>
-    <!--until commons cli is external, we need to pull it in from the snapshot repository -if present -->
-    <module organisation="org.apache.commons" name=".*" resolver="external-and-snapshots"/>
+    <module organisation="org.apache.hadoop" name=".*" resolver="${resolver}"/>
   </modules>
 </ivysettings>
Index: ivy/libraries.properties
===================================================================
--- ivy/libraries.properties	(revision 794587)
+++ ivy/libraries.properties	(working copy)
@@ -37,10 +37,14 @@
 ftpserver-core.version=1.0.0
 ftpserver-deprecated.version=1.0.0-M2
 
+hadoop-core.version=0.21.0-dev
+hadoop-mr.version=0.21.0-dev
+hadoop-hdfs.version=0.21.0-dev
+
 hsqldb.version=1.8.0.10
 
 #ivy.version=2.0.0-beta2
-ivy.version=2.0.0-rc2
+ivy.version=2.1.0-rc1
 
 jasper.version=5.5.12
 jsp.version=2.1
@@ -51,6 +55,7 @@
 junit.version=4.5
 jdiff.version=1.0.9
 json.version=1.0
+jsch.version=0.1.38
 
 kfs.version=0.3
 
Index: src/contrib/dynamic-scheduler/ivy.xml
===================================================================
--- src/contrib/dynamic-scheduler/ivy.xml	(revision 794587)
+++ src/contrib/dynamic-scheduler/ivy.xml	(working copy)
@@ -1,21 +1,4 @@
 <?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"/>
@@ -28,48 +11,12 @@
     <!--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="runtime" description="runtime but not the artifact" />
 
-    <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="common" visibility="private" 
+      extends="runtime"
+      description="artifacts needed to compile/test the application"/>
+    <conf name="test" visibility="private" extends="runtime"/>
   </configurations>
 
   <publications>
@@ -77,147 +24,49 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
-
- <!--used client side-->
-
-    <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"/>
-
-    <!--Configuration: Jetty -->
-
-    <dependency org="org.mortbay.jetty"
-      name="jetty"
-      rev="${jetty.version}"
-      conf="jetty->master"/>
-    <dependency org="org.mortbay.jetty"
-      name="jetty-util"
-      rev="${jetty-util.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"/>
-    <dependency org="commons-el"
-      name="commons-el"
-      rev="${commons-el.version}"
-      conf="jetty->master"/>
-
-
-    <!--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="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
+<!--    <dependency org="commons-cli"
+      name="commons-cli"
+      rev="${commons-cli.version}"
+      conf="common->default"/>
     <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 -->
+      conf="common->default"/>
+   <dependency org="junit"
+      name="junit"
+      rev="${junit.version}"
+      conf="common->default"/>
     <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"/> 
+      conf="common->master"/>
     <dependency org="org.mortbay.jetty"
+      name="jetty-util"
+      rev="${jetty-util.version}"
+      conf="common->master"/>
+    <dependency org="org.mortbay.jetty"
+      name="jetty"
+      rev="${jetty.version}"
+      conf="common->master"/>
+    <dependency org="org.mortbay.jetty"
+      name="jsp-api-2.1"
+      rev="${jetty.version}"
+      conf="common->master"/>
+    <dependency org="org.mortbay.jetty"
+      name="jsp-2.1"
+      rev="${jetty.version}"
+      conf="common->master"/>
+    <dependency org="org.mortbay.jetty"
       name="servlet-api-2.5"
       rev="${servlet-api-2.5.version}"
-      conf="s3-client->master"/>
-
-    <!--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="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.slf4j"
-      name="slf4j-log4j12"
-      rev="${slf4j-log4j12.version}"
-      conf="common->master">
-    </dependency>
-    </dependencies>
-  
+      conf="common->master"/> 
+    <dependency org="commons-httpclient"
+      name="commons-httpclient"
+      rev="${commons-httpclient.version}"
+      conf="common->master"/>  -->
+  </dependencies>
 </ivy-module>
Index: src/contrib/fairscheduler/ivy.xml
===================================================================
--- src/contrib/fairscheduler/ivy.xml	(revision 794587)
+++ src/contrib/fairscheduler/ivy.xml	(working copy)
@@ -22,18 +22,10 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
-    <dependency org="commons-logging"
-      name="commons-logging"
-      rev="${commons-logging.version}"
-      conf="common->default"/>
-    <dependency org="log4j"
-      name="log4j"
-      rev="${log4j.version}"
-      conf="common->master"/>
-    <dependency org="org.mortbay.jetty"
-      name="servlet-api-2.5"
-      rev="${servlet-api-2.5.version}"
-      conf="common->default"/> 
+    <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
    <dependency org="junit"
       name="junit"
       rev="${junit.version}"
Index: src/contrib/sqoop/ivy.xml
===================================================================
--- src/contrib/sqoop/ivy.xml	(revision 794587)
+++ src/contrib/sqoop/ivy.xml	(working copy)
@@ -40,29 +40,17 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
-    <dependency org="commons-logging"
-      name="commons-logging"
-      rev="${commons-logging.version}"
-      conf="common->default"/>
-    <dependency org="commons-httpclient"
-      name="commons-httpclient"
-      rev="${commons-httpclient.version}"
-      conf="common->default"/>
-    <dependency org="commons-cli"
-      name="commons-cli"
-      rev="${commons-cli.version}"
-      conf="common->default"/>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-hdfs"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
     <dependency org="junit"
       name="junit"
       rev="${junit.version}"
       conf="common->default"/>
-    <dependency org="log4j"
-      name="log4j"
-      rev="${log4j.version}"
-      conf="common->master"/>
-    <dependency org="hsqldb"
-      name="hsqldb"
-      rev="${hsqldb.version}"
-      conf="common->default"/>
     </dependencies>
 </ivy-module>
Index: src/contrib/index/ivy.xml
===================================================================
--- src/contrib/index/ivy.xml	(revision 794587)
+++ src/contrib/index/ivy.xml	(working copy)
@@ -24,14 +24,10 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
-    <dependency org="commons-logging"
-      name="commons-logging"
-      rev="${commons-logging.version}"
-      conf="common->default"/>
-    <dependency org="log4j"
-      name="log4j"
-      rev="${log4j.version}"
-      conf="common->master"/>
+     <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
     <dependency org="org.apache.lucene"
       name="lucene-core"
       rev="${lucene-core.version}"
Index: src/contrib/data_join/ivy.xml
===================================================================
--- src/contrib/data_join/ivy.xml	(revision 794587)
+++ src/contrib/data_join/ivy.xml	(working copy)
@@ -24,13 +24,9 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
-    <dependency org="commons-logging"
-      name="commons-logging"
-      rev="${commons-logging.version}"
-      conf="common->default"/>
-    <dependency org="log4j"
-      name="log4j"
-      rev="${log4j.version}"
-      conf="common->master"/>
-    </dependencies>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
+  </dependencies>
 </ivy-module>
Index: src/contrib/capacity-scheduler/ivy.xml
===================================================================
--- src/contrib/capacity-scheduler/ivy.xml	(revision 794587)
+++ src/contrib/capacity-scheduler/ivy.xml	(working copy)
@@ -24,7 +24,11 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
-    <dependency org="commons-cli"
+    <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
+<!--<dependency org="commons-cli"
       name="commons-cli"
       rev="${commons-cli.version}"
       conf="common->default"/>
@@ -63,6 +67,6 @@
     <dependency org="commons-httpclient"
       name="commons-httpclient"
       rev="${commons-httpclient.version}"
-      conf="common->master"/> 
+      conf="common->master"/>  -->
   </dependencies>
 </ivy-module>
Index: src/contrib/streaming/ivy.xml
===================================================================
--- src/contrib/streaming/ivy.xml	(revision 794587)
+++ src/contrib/streaming/ivy.xml	(working copy)
@@ -24,49 +24,17 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
     <dependency org="org.apache.mahout.commons"
       name="commons-cli"
       rev="${commons-cli2.version}"
       conf="common->default"/>
-    <dependency org="commons-cli"
-      name="commons-cli"
-      rev="${commons-cli.version}"
-      conf="common->default"/>
-    <dependency org="commons-logging"
-      name="commons-logging"
-      rev="${commons-logging.version}"
-      conf="common->default"/>
     <dependency org="junit"
       name="junit"
       rev="${junit.version}"
       conf="common->default"/>
-    <dependency org="org.mortbay.jetty"
-      name="jetty-util"
-      rev="${jetty-util.version}"
-      conf="common->master"/>
-    <dependency org="org.mortbay.jetty"
-      name="jetty"
-      rev="${jetty.version}"
-      conf="common->master"/>
-    <dependency org="org.mortbay.jetty"
-      name="jsp-api-2.1"
-      rev="${jetty.version}"
-      conf="common->master"/>
-    <dependency org="org.mortbay.jetty"
-      name="jsp-2.1"
-      rev="${jetty.version}"
-      conf="common->master"/>
-    <dependency org="org.mortbay.jetty"
-      name="servlet-api-2.5"
-      rev="${servlet-api-2.5.version}"
-      conf="common->master"/> 
-    <dependency org="commons-httpclient"
-      name="commons-httpclient"
-      rev="${commons-httpclient.version}"
-      conf="common->master"/> 
-    <dependency org="log4j"
-      name="log4j"
-      rev="${log4j.version}"
-      conf="common->master"/>
     </dependencies>
 </ivy-module>
Index: src/contrib/build-contrib.xml
===================================================================
--- src/contrib/build-contrib.xml	(revision 794587)
+++ src/contrib/build-contrib.xml	(working copy)
@@ -77,7 +77,9 @@
   <!--this is the naming policy for artifacts we want pulled down-->
   <property name="ivy.artifact.retrieve.pattern"
     			value="${ant.project.name}/[conf]/[artifact]-[revision].[ext]"/>
-
+  <echo>
+   ivy.repo.dir = ${ivy.repo.dir} 
+ </echo>
   <!-- the normal classpath -->
   <path id="contrib-classpath">
     <pathelement location="${build.classes}"/>
Index: src/contrib/vaidya/ivy.xml
===================================================================
--- src/contrib/vaidya/ivy.xml	(revision 794587)
+++ src/contrib/vaidya/ivy.xml	(working copy)
@@ -24,13 +24,9 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
-    <dependency org="commons-logging"
-      name="commons-logging"
-      rev="${commons-logging.version}"
-      conf="common->default"/>
-    <dependency org="log4j"
-      name="log4j"
-      rev="${log4j.version}"
-      conf="common->master"/>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
   </dependencies>
 </ivy-module>
Index: src/contrib/mrunit/ivy.xml
===================================================================
--- src/contrib/mrunit/ivy.xml	(revision 794587)
+++ src/contrib/mrunit/ivy.xml	(working copy)
@@ -40,15 +40,11 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
-    <dependency org="commons-logging"
-      name="commons-logging"
-      rev="${commons-logging.version}"
-      conf="common->master"/>
-    <dependency org="log4j"
-      name="log4j"
-      rev="${log4j.version}"
-      conf="common->master"/>
-   <dependency org="junit"
+ <dependency org="org.apache.hadoop"
+      name="hadoop-core"
+      rev="${hadoop-core.version}"
+      conf="common->common"/>
+ <dependency org="junit"
       name="junit"
       rev="${junit.version}"
       conf="common->master"/>
Index: build.xml
===================================================================
--- build.xml	(revision 794587)
+++ build.xml	(working copy)
@@ -168,8 +168,12 @@
   <!-- end of task-controller properties -->
 	
   <!-- IVY properteis set here -->
+  <property name="ivy.repo.dir" value="${user.home}/ivyrepo" />
+  <property name="resolver" value="ssh-resolver" />
   <property name="ivy.dir" location="ivy" />
   <loadproperties srcfile="${ivy.dir}/libraries.properties"/>
+  <property name="jsch.jar" location="${ivy.dir}/jsch-${jsch.version}.jar"/>
+  <property name="jsch_repo_url" value="http://repo2.maven.org/maven2/com/jcraft/jsch/${jsch.version}/jsch-${jsch.version}.jar"/>
   <property name="ivy.jar" location="${ivy.dir}/ivy-${ivy.version}.jar"/>
   <property name="ivy_repo_url" value="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/>
   <property name="ivysettings.xml" location="${ivy.dir}/ivysettings.xml" />
@@ -185,11 +189,13 @@
   <property name="build.ivy.maven.jar" location="${build.ivy.maven.dir}/hadoop-core-${version}.jar" />
 
   <!--this is the naming policy for artifacts we want pulled down-->
+  <property name="ivy.module" location="hadoop-mapred" />
   <property name="ivy.artifact.retrieve.pattern" value="${ant.project.name}/[conf]/[artifact]-[revision].[ext]"/>
 
   <!--this is how artifacts that get built are named-->
-  <property name="ivy.publish.pattern" value="hadoop-[revision]-core.[ext]"/>
+  <property name="ivy.publish.pattern" value="[artifact]-[revision].[ext]"/>
   <property name="hadoop-mapred.jar" location="${build.dir}/${final.name}.jar" />
+  <property name="hadoop-mapred-test.jar" location="${build.dir}/${test.final.name}.jar" />
 
   <!-- jdiff.home property set -->
   <property name="jdiff.home" value="${build.ivy.lib.dir}/${ant.project.name}/jdiff"/>
@@ -211,8 +217,8 @@
   <path id="classpath">
     <pathelement location="${build.classes}"/>
     <pathelement location="${conf.dir}"/>
-    <pathelement path="${lib.dir}/hadoop-core-${hadoop-core.version}.jar"/>
-    <pathelement path="${lib.dir}/hadoop-hdfs-${hadoop-hdfs.version}.jar"/>
+  <!--  <pathelement path="${lib.dir}/hadoop-core-${hadoop-core.version}.jar"/>
+    <pathelement path="${lib.dir}/hadoop-hdfs-${hadoop-hdfs.version}.jar"/> -->
     <path refid="ivy-common.classpath"/>
   </path>
 
@@ -224,8 +230,8 @@
     <pathelement location="${build.examples}"/>
     <pathelement location="${build.tools}"/>
     <pathelement path="${clover.jar}"/>
-    <pathelement path="${lib.dir}/hadoop-core-test-${hadoop-core.version}.jar"/>
-    <pathelement path="${lib.dir}/hadoop-hdfs-test-${hadoop-hdfs.version}.jar"/>
+<!--    <pathelement path="${lib.dir}/hadoop-core-test-${hadoop-core.version}.jar"/>
+    <pathelement path="${lib.dir}/hadoop-hdfs-test-${hadoop-hdfs.version}.jar"/> -->
     <path refid="classpath"/>
     <pathelement location="${test.mapred.build.classes}" />
     <path refid="ivy-test.classpath"/>
@@ -286,7 +292,7 @@
       </fileset>
     </copy>
 
-    <unzip src="${lib.dir}/hadoop-hdfs-${hadoop-hdfs.version}.jar"
+    <unzip src="${build.ivy.lib.dir}/${ant.project.name}/common/hadoop-hdfs-${hadoop-hdfs.version}.jar"
         dest="${build.dir}">
       <patternset>
         <include name="webapps/**"/>
@@ -370,9 +376,8 @@
   <target name="compile-core" depends="clover, compile-mapred-classes, compile-c++" description="Compile core only"/> 
 
   <target name="compile-contrib" depends="compile-core,compile-c++-libhdfs">
-     <subant target="compile">
+     <subant target="compile" inheritall="true">
         <property name="version" value="${version}"/>
-        <property name="hadoop-core.version" value="${hadoop-core.version}"/>
         <fileset file="${contrib.dir}/build.xml"/>
      </subant>  	
   </target>
@@ -599,7 +604,7 @@
   </target>
 
   <target name="test-contrib" depends="compile,compile-mapred-test" description="Run contrib unit tests">
-    <subant target="test">
+    <subant target="test" inheritall="true">
        <property name="version" value="${version}"/>
        <property name="clover.jar" value="${clover.jar}"/>
        <fileset file="${contrib.dir}/build.xml"/>
@@ -615,7 +620,7 @@
   </target>
 
   <target name="test" depends="test-c++-libhdfs, jar-test, test-core" description="Run all unit tests">
-    <subant target="test-contrib">
+    <subant target="test-contrib" inheritall="true">
       <fileset file="${basedir}/build.xml"/>
      </subant>
   </target>
@@ -659,7 +664,7 @@
   </target>
 
  <target name="all-jars" depends="tools-jar,examples">
-   <subant target="jar">
+   <subant target="jar" inheritall="true">
       <property name="version" value="${version}"/>
       <property name="dist.dir" value="${dist.dir}"/>
       <fileset file="${contrib.dir}/streaming/build.xml"/>
@@ -927,7 +932,7 @@
       </fileset>
     </copy>
 
-    <subant target="package">
+    <subant target="package" inheritall="true">
       <!--Pass down the version in case its needed again and the target
       distribution directory so contribs know where to install to.-->
       <property name="version" value="${version}"/>
@@ -1024,7 +1029,7 @@
       </fileset>
     </copy>
 
-    <subant target="package">
+    <subant target="package" inheritall="true">
       <!--Pass down the version in case its needed again and the target
       distribution directory so contribs know where to install to.-->
       <property name="version" value="${version}"/>
@@ -1105,7 +1110,7 @@
   <!-- Using subant instead of ant as a workaround for 30569              -->
   <!-- ================================================================== -->
   <target name="clean-contrib">
-     <subant target="clean">        
+     <subant target="clean" inheritall="true">        
         <fileset file="src/contrib/build.xml"/>
      </subant>  	
   </target>
@@ -1426,6 +1431,7 @@
 
   <target name="ivy-download" description="To download ivy" unless="offline">
     <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/>
+    <get src="${jsch_repo_url}" dest="${jsch.jar}" usetimestamp="true"/>
   </target>
 
   <!--
@@ -1437,6 +1443,7 @@
       loaderRef="ivyLoader">
       <classpath>
         <pathelement location="${ivy.jar}"/>
+        <pathelement location="${jsch.jar}"/>
       </classpath>
     </typedef>
     <fail >
@@ -1549,16 +1556,20 @@
     <fail>
       <condition >
         <not>
-          <available file="${hadoop.jar}" />
+          <and>
+            <available file="${hadoop-mapred.jar}" />
+            <available file="${hadoop-mapred-test.jar}" />
+          </and>
         </not>
       </condition>
-      Not found: ${hadoop.jar}
-      Please run the target "jar" in the main build file
+      Not found: ${hadoop-mapred.jar} or 
+      ${hadoop-mapred-test.jar}
+      Please run the target "test-jar" in the main build file
     </fail>
 
   </target>
 
-  <target name="ready-to-publish" depends="jar,assert-hadoop-jar-exists,ivy-resolve"/>
+  <target name="ready-to-publish" depends="examples,tools-jar,jar-test,assert-hadoop-jar-exists,ivy-resolve"/>
 
   <target name="ivy-publish-local" depends="ready-to-publish,ivy-resolve">
     <ivy:publish
@@ -1566,9 +1577,19 @@
       resolver="local"
       pubrevision="${version}"
       overwrite="true"
+      publishivy="true"
       artifactspattern="${build.dir}/${ivy.publish.pattern}" />
   </target>
 
+  <target name="ivy-publish-internal" depends="ready-to-publish,ivy-resolve,makepom">
+    <ivy:publish
+      settingsRef="${ant.project.name}.ivy.settings"
+      resolver="ssh-resolver"
+      pubrevision="${version}"
+      overwrite="true"
+      publishivy="true"
+      artifactspattern="${build.dir}/${ivy.publish.pattern}"/>
+   </target>
 
   <!-- this is here for curiosity, to see how well the makepom task works
   Answer: it depends whether you want transitive dependencies excluded or not
@@ -1585,8 +1606,10 @@
 
 
   <target name="copy-jar-to-maven" depends="ready-to-publish">
-    <copy file="${hadoop.jar}"
+    <copy file="${hadoop-mapred-test.jar}"
       tofile="${build.ivy.maven.jar}"/>
+    <copy file="${hadoop-mapred.jar}"
+      tofile="${build.ivy.maven.jar}"/>
     <checksum file="${build.ivy.maven.jar}" algorithm="md5"/>
   </target>
 
