Index: ivy.xml
===================================================================
--- ivy.xml	(revision 794613)
+++ 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-hdfs" revision="${version}">
     <license name="Apache 2.0"/>
     <ivyauthor name="Apache Hadoop Team" url="http://hadoop.apache.org"/>
     <description>
-        Hadoop Core
+        Hadoop Hdfs
     </description>
   </info>
   <configurations defaultconfmapping="default">
@@ -52,14 +52,14 @@
 
     <!--Private configurations. -->
 
-    <conf name="common" visibility="private" extends="runtime,mandatory,httpclient,ftp,jetty"
-		      description="common artifacts"/>
+    <conf name="common" 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"/>
 
+    <!--Testing pulls in everything-->
+    <conf name="test" description="the classpath needed to run tests"/>
+      
     <conf name="test-hdfswithmr" extends="test" visibility="private"
       description="the classpath needed to run tests"/>
 
@@ -77,15 +77,25 @@
 
   <publications>
     <!--get the artifact from our module name-->
+    <artifact name="hadoop-hdfs" type="jar" ext="jar" conf="common"/>
+    <artifact name="hadoop-hdfs-test" type="jar" ext="jar" conf="master,common,test"/>
     <artifact conf="master"/>
   </publications>
   <dependencies>
 
  <!--used client side-->
-    <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="common->common;test->test"/>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-mapred"
+      rev="${hadoop-mr.version}"
+      conf="common->common;test->test"/>
+    <dependency org="org.apache.hadoop"
+      name="hadoop-mapred"
+      rev="${hadoop-mr.version}"
+      conf="test-hdfswithmr->test;master"/>
     <dependency org="checkstyle"
       name="checkstyle"
       rev="${checkstyle.version}"
@@ -99,11 +109,11 @@
       rev="${xerces.version}"
       conf="jdiff->default">
     </dependency>
-
+<!--
     <dependency org="xmlenc"
       name="xmlenc"
       rev="${xmlenc.version}"
-      conf="server->default"/>
+      conf="server->default"/> -->
 
     <!--Configuration: httpclient-->
 
@@ -111,7 +121,7 @@
     commons-httpclient asks for too many files.
     All it needs is commons-codec and commons-logging JARs
     -->
-    <dependency org="commons-httpclient"
+<!--    <dependency org="commons-httpclient"
       name="commons-httpclient"
       rev="${commons-httpclient.version}"
       conf="httpclient->master">
@@ -125,7 +135,7 @@
     <dependency org="commons-net"
       name="commons-net"
       rev="${commons-net.version}"
-      conf="ftp->default"/>
+      conf="ftp->default"/> -->
 
     <!--Configuration: Jetty -->
 
@@ -133,7 +143,7 @@
       name="servlet-api"
       rev="${servlet-api.version}"
       conf="jetty->master"/>   -->
-    <dependency org="org.mortbay.jetty"
+<!--    <dependency org="org.mortbay.jetty"
       name="jetty"
       rev="${jetty.version}"
       conf="jetty->master"/>
@@ -161,32 +171,20 @@
     <dependency org="commons-el"
       name="commons-el"
       rev="${commons-el.version}"
-      conf="jetty->master"/>
+      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}"
@@ -202,11 +200,11 @@
     <dependency org="net.sf.kosmosfs"
       name="kfs"
       rev="${kfs.version}"
-      conf="kfs->default"/>
+      conf="kfs->default"/> -->
 
     <!--Configuration: test -->
     <!--artifacts needed for testing -->
-
+<!--
     <dependency org="org.apache.ftpserver"
       name="ftplet-api"
       rev="${ftplet-api.version}"
@@ -274,7 +272,7 @@
       name="aspectjtools"
       rev="${aspectj.version}"
       conf="common->default">
-    </dependency>
+    </dependency> -->
     </dependencies>
   
 </ivy-module>
Index: ivy/ivysettings.xml
===================================================================
--- ivy/ivysettings.xml	(revision 794613)
+++ 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 794613)
+++ ivy/libraries.properties	(working copy)
@@ -36,10 +36,12 @@
 ftplet-api.version=1.0.2
 ftpserver-core.version=1.0.2
 
+hadoop-core.version=0.21.0-dev
+hadoop-mr.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
@@ -50,6 +52,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/hdfsproxy/ivy.xml
===================================================================
--- src/contrib/hdfsproxy/ivy.xml	(revision 794613)
+++ src/contrib/hdfsproxy/ivy.xml	(working copy)
@@ -22,55 +22,15 @@
     <artifact conf="master"/>
   </publications>
   <dependencies>
-    <dependency org="commons-cli"
-      name="commons-cli"
-      rev="${commons-cli.version}"
-      conf="common->default"/>
-    <dependency org="log4j"
-      name="log4j"
-      rev="${log4j.version}"
-      conf="common->master"/>
-    <dependency org="commons-logging"
-      name="commons-logging"
-      rev="${commons-logging.version}"
-      conf="common->master"/>
-    <dependency org="commons-logging"
-      name="commons-logging-api"
-      rev="${commons-logging-api.version}"
-      conf="common->master"/>
+    <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"/>
-    <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 org="xmlenc"
-      name="xmlenc"
-      rev="${xmlenc.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="jetty-util"
-      rev="${jetty-util.version}"
-      conf="common->master"/>
-    <dependency org="org.mortbay.jetty"
       name="servlet-api-2.5"
       rev="${servlet-api-2.5.version}"
       conf="common->master"/>
Index: src/contrib/hdfsproxy/build.xml
===================================================================
--- src/contrib/hdfsproxy/build.xml	(revision 794613)
+++ src/contrib/hdfsproxy/build.xml	(working copy)
@@ -126,8 +126,8 @@
         <include name="xmlenc-${xmlenc.version}.jar"/>
         <include name="core-${core.vesion}.jar"/> 
 	    </lib>
-	    <lib dir="${hadoop.root}/lib">
-	    	<include name="hadoop-core-${hadoop-version}.jar"/>
+	    <lib dir="${common.ivy.lib.dir}">
+	    	<include name="hadoop-core-${hadoop-core.version}.jar"/>
 	    </lib>
 	    <classes dir="${proxy.conf.dir}">
 	    	<include name="hdfsproxy-default.xml"/>
@@ -153,8 +153,8 @@
         <include name="xmlenc-${xmlenc.version}.jar"/>
         <include name="core-${core.vesion}.jar"/> 
 	    </lib>
-	    <lib dir="${hadoop.root}/lib">
-		<include name="hadoop-core-${hadoop-version}.jar"/>
+	    <lib dir="${common.ivy.lib.dir}">
+		<include name="hadoop-core-${hadoop-core.version}.jar"/>
 	    </lib>
 	    <classes dir="${proxy.conf.dir}">
 	    	<include name="hdfsproxy-default.xml"/>
@@ -181,8 +181,8 @@
         <include name="xmlenc-${xmlenc.version}.jar"/>
         <include name="core-${core.vesion}.jar"/> 
 	    </lib>
-	    <lib dir="${hadoop.root}/lib">
-	    	<include name="hadoop-core-${hadoop-version}.jar"/>
+	    <lib dir="${common.ivy.lib.dir}">
+	    	<include name="hadoop-core-${hadoop-core.version}.jar"/>
 	    </lib>
 	    <classes dir="${proxy.conf.test}" excludes="**/*.template **/*.sh"/>
 	    <classes dir="${build.classes}"/>
Index: src/contrib/thriftfs/ivy.xml
===================================================================
--- src/contrib/thriftfs/ivy.xml	(revision 794613)
+++ src/contrib/thriftfs/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/fuse-dfs/ivy.xml
===================================================================
--- src/contrib/fuse-dfs/ivy.xml	(revision 794613)
+++ src/contrib/fuse-dfs/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="${hadoo-core.version}"
+      conf="common->common"/>
     </dependencies>
   
 </ivy-module>
Index: build.xml
===================================================================
--- build.xml	(revision 794613)
+++ build.xml	(working copy)
@@ -129,10 +129,14 @@
   <property name="make.cmd" value="make"/>
 	
   <!-- 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="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="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="ivysettings.xml" location="${ivy.dir}/ivysettings.xml" />
   <property name="ivy.org" value="org.apache.hadoop"/>
   <property name="build.dir" location="build" />
@@ -149,7 +153,7 @@
   <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-hdfs-[revision].[ext]"/>
+  <property name="ivy.publish.pattern" value="[artifact]-[revision].[ext]"/>
   <property name="hadoop-hdfs.jar" location="${build.dir}/${final.name}.jar" />
 
   <!-- jdiff.home property set -->
@@ -171,7 +175,6 @@
   <!-- the normal classpath -->
   <path id="classpath">
     <pathelement location="${build.classes}"/>
-    <pathelement path="${lib.dir}/hadoop-core-${hadoop-core.version}.jar"/>
     <pathelement location="${conf.dir}"/>
     <path refid="ivy-common.classpath"/>
   </path>
@@ -184,20 +187,13 @@
     <pathelement location="${build.tools}"/>
     <pathelement path="${clover.jar}"/>
     <path refid="ivy-test.classpath"/>
-    <fileset dir="${lib.dir}">
-      <include name="hadoop-core-test-${hadoop-core.version}.jar" />
-      <exclude name="**/excluded/" />
-    </fileset>
     <path refid="classpath"/>
   </path>
 
   <path id="test.hdfs.with.mr.classpath">
     <path refid="test.classpath"/>
     <pathelement location="${test.hdfs.with.mr.build.classes}" />
-    <pathelement location="${lib.dir}/hadoop-mapred-test-${hadoop-mr.version}.jar" />
-    <pathelement location="${lib.dir}/hadoop-mapred-${hadoop-mr.version}.jar" />
-    <pathelement location="${lib.dir}/hadoop-mapred-tools-${hadoop-mr.version}.jar" />
-    <pathelement location="${lib.dir}/hadoop-mapred-examples-${hadoop-mr.version}.jar" />
+    <path refid="ivy-test-hdfswithmr.classpath"/>
   </path>
 
   <!-- the cluster test classpath: uses conf.dir for configuration -->
@@ -250,7 +246,7 @@
         <exclude name="**/*.jsp" />
       </fileset>
     </copy>
-    <unzip src="${lib.dir}/hadoop-mapred-${hadoop-mr.version}.jar"
+    <unzip src="${common.ivy.lib.dir}/hadoop-mapred-${hadoop-mr.version}.jar"
         dest="${build.dir}">
       <patternset>
         <include name="webapps/**"/>
@@ -403,7 +399,7 @@
     <copy file="${test.src.dir}/hdfs/org/apache/hadoop/hdfs/tools/offlineImageViewer/fsimageV19" todir="${test.cache.data}"/>
   </target>
 
-  <target name="compile-hdfs-with-mr-test" depends="compile-hdfs-test">
+  <target name="compile-hdfs-with-mr-test" depends="compile-hdfs-test, ivy-retrieve-test-hdfswithmr">
     <mkdir dir="${test.hdfs.with.mr.build.classes}"/>
     <javac 
       encoding="${build.encoding}" 
@@ -426,7 +422,7 @@
   <!-- ================================================================== -->
   <!--                                                                    -->
   <!-- ================================================================== -->
-  <target name="jar-test" depends="jar-hdfs-test, jar-hdfswithmr-test" description="Make hadoop-test.jar"/> 
+  <target name="jar-test" depends="jar, jar-hdfs-test, jar-hdfswithmr-test" description="Make hadoop-test.jar"/> 
 
   <target name="jar-hdfs-test" depends="compile-hdfs-test" description="Make hadoop-hdfs-test.jar">
     <copy todir="${test.build.classes}">
@@ -817,7 +813,7 @@
   <!-- ================================================================== -->
   <!--                                                                    -->
   <!-- ================================================================== -->
-  <target name="package" depends="compile, jar, javadoc, docs, api-report, jar-test, ant-tasks"
+  <target name="package" depends="compile, jar, javadoc, api-report, jar-test, ant-tasks"
 	  description="Build distribution">
     <mkdir dir="${dist.dir}"/>
     <mkdir dir="${dist.dir}/lib"/>
@@ -1146,6 +1142,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>
 
   <!--
@@ -1157,6 +1154,7 @@
       loaderRef="ivyLoader">
       <classpath>
         <pathelement location="${ivy.jar}"/>
+        <pathelement location="${jsch.jar}"/>
       </classpath>
     </typedef>
     <fail >
@@ -1191,6 +1189,10 @@
     <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="releaseaudit"/>
   </target>
 
+  <target name="ivy-resolve-test-hdfswithmr" depends="ivy-init">
+    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="test-hdfswithmr"/>
+  </target>
+
   <target name="ivy-resolve-test" depends="ivy-init">
     <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="test" />
   </target>
@@ -1234,6 +1236,13 @@
     <ivy:cachepath pathid="javadoc-classpath" conf="javadoc"/>
   </target>
 
+  <target name="ivy-retrieve-test-hdfswithmr" depends="ivy-resolve-test-hdfswithmr"
+    description="Retrieve Ivy-managed artifacts for the test configurations">
+    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/>
+    <ivy:cachepath pathid="ivy-test-hdfswithmr.classpath" conf="test-hdfswithmr"/>
+  </target>
+
   <target name="ivy-retrieve-test" depends="ivy-resolve-test"
     description="Retrieve Ivy-managed artifacts for the test configurations">
     <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
@@ -1278,7 +1287,7 @@
 
   </target>
 
-  <target name="ready-to-publish" depends="jar,assert-hadoop-jar-exists,ivy-resolve"/>
+  <target name="ready-to-publish" depends="jar-test,assert-hadoop-jar-exists,ivy-resolve"/>
 
   <target name="ivy-publish-local" depends="ready-to-publish,ivy-resolve">
     <ivy:publish
