You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cu...@apache.org on 2008/12/16 00:15:43 UTC
svn commit: r726872 [1/3] - in /hadoop/core/trunk: ./ bin/ ivy/ lib/
lib/jsp-2.1/ src/c++/libhdfs/tests/ src/contrib/
src/contrib/capacity-scheduler/ src/contrib/capacity-scheduler/ivy/
src/contrib/chukwa/ src/contrib/chukwa/build/ src/contrib/chukwa/i...
Author: cutting
Date: Mon Dec 15 15:15:41 2008
New Revision: 726872
URL: http://svn.apache.org/viewvc?rev=726872&view=rev
Log:
HADOOP-3305. Use Ivy to manage dependencies. Contributed by Giridharan Kesavan and Steve Loughran.
Added:
hadoop/core/trunk/ivy/ (with props)
hadoop/core/trunk/ivy.xml
hadoop/core/trunk/ivy/hadoop-core.pom
hadoop/core/trunk/ivy/ivysettings.xml
hadoop/core/trunk/ivy/libraries.properties
hadoop/core/trunk/src/contrib/capacity-scheduler/ivy/
hadoop/core/trunk/src/contrib/capacity-scheduler/ivy.xml
hadoop/core/trunk/src/contrib/capacity-scheduler/ivy/libraries.properties
hadoop/core/trunk/src/contrib/chukwa/ivy/
hadoop/core/trunk/src/contrib/chukwa/ivy.xml
hadoop/core/trunk/src/contrib/chukwa/ivy/ivysettings.xml
hadoop/core/trunk/src/contrib/chukwa/ivy/libraries.properties
hadoop/core/trunk/src/contrib/data_join/ivy/
hadoop/core/trunk/src/contrib/data_join/ivy.xml
hadoop/core/trunk/src/contrib/data_join/ivy/libraries.properties
hadoop/core/trunk/src/contrib/eclipse-plugin/ivy/
hadoop/core/trunk/src/contrib/eclipse-plugin/ivy.xml
hadoop/core/trunk/src/contrib/eclipse-plugin/ivy/libraries.properties
hadoop/core/trunk/src/contrib/failmon/ivy/
hadoop/core/trunk/src/contrib/failmon/ivy.xml
hadoop/core/trunk/src/contrib/failmon/ivy/libraries.properties
hadoop/core/trunk/src/contrib/fairscheduler/ivy/
hadoop/core/trunk/src/contrib/fairscheduler/ivy.xml
hadoop/core/trunk/src/contrib/fairscheduler/ivy/libraries.properties
hadoop/core/trunk/src/contrib/fuse-dfs/ivy/
hadoop/core/trunk/src/contrib/fuse-dfs/ivy.xml
hadoop/core/trunk/src/contrib/fuse-dfs/ivy/libraries.properties
hadoop/core/trunk/src/contrib/hdfsproxy/ivy/
hadoop/core/trunk/src/contrib/hdfsproxy/ivy.xml
hadoop/core/trunk/src/contrib/hdfsproxy/ivy/libraries.properties
hadoop/core/trunk/src/contrib/hod/ivy/
hadoop/core/trunk/src/contrib/hod/ivy.xml
hadoop/core/trunk/src/contrib/hod/ivy/libraries.properties
hadoop/core/trunk/src/contrib/index/ivy/
hadoop/core/trunk/src/contrib/index/ivy.xml
hadoop/core/trunk/src/contrib/index/ivy/libraries.properties
hadoop/core/trunk/src/contrib/streaming/ivy/
hadoop/core/trunk/src/contrib/streaming/ivy.xml
hadoop/core/trunk/src/contrib/streaming/ivy/libraries.properties
hadoop/core/trunk/src/contrib/thriftfs/ivy/
hadoop/core/trunk/src/contrib/thriftfs/ivy.xml
hadoop/core/trunk/src/contrib/thriftfs/ivy/libraries.properties
hadoop/core/trunk/src/contrib/vaidya/ivy/
hadoop/core/trunk/src/contrib/vaidya/ivy.xml
hadoop/core/trunk/src/contrib/vaidya/ivy/libraries.properties
Removed:
hadoop/core/trunk/lib/commons-codec-1.3.jar
hadoop/core/trunk/lib/commons-httpclient-3.0.1.jar
hadoop/core/trunk/lib/commons-logging-1.0.4.jar
hadoop/core/trunk/lib/commons-logging-api-1.0.4.jar
hadoop/core/trunk/lib/commons-net-1.4.1.jar
hadoop/core/trunk/lib/jets3t-0.6.1.jar
hadoop/core/trunk/lib/jetty-6.1.14.LICENSE.txt
hadoop/core/trunk/lib/jetty-6.1.14.jar
hadoop/core/trunk/lib/jetty-util-6.1.14.jar
hadoop/core/trunk/lib/jsp-2.1/core-3.1.1.jar
hadoop/core/trunk/lib/junit-3.8.1.LICENSE.txt
hadoop/core/trunk/lib/junit-3.8.1.jar
hadoop/core/trunk/lib/log4j-1.2.15.jar
hadoop/core/trunk/lib/oro-2.0.8.jar
hadoop/core/trunk/lib/servlet-api-2.5-6.1.14.jar
hadoop/core/trunk/lib/slf4j-LICENSE.txt
hadoop/core/trunk/lib/slf4j-api-1.4.3.jar
hadoop/core/trunk/lib/slf4j-log4j12-1.4.3.jar
hadoop/core/trunk/lib/xmlenc-0.52.jar
hadoop/core/trunk/src/contrib/chukwa/build/
hadoop/core/trunk/src/contrib/index/lib/
Modified:
hadoop/core/trunk/CHANGES.txt
hadoop/core/trunk/bin/hadoop
hadoop/core/trunk/build.xml
hadoop/core/trunk/src/c++/libhdfs/tests/test-libhdfs.sh
hadoop/core/trunk/src/contrib/build-contrib.xml
hadoop/core/trunk/src/contrib/chukwa/build.xml
hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-LICENSE.txt
hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-README.txt
hadoop/core/trunk/src/contrib/chukwa/lib/commons-httpclient-3.1-LICENSE.txt
hadoop/core/trunk/src/contrib/chukwa/lib/commons-httpclient-3.1-README.txt
hadoop/core/trunk/src/contrib/chukwa/lib/commons-io-1.4-LICENSE.txt
hadoop/core/trunk/src/contrib/chukwa/lib/commons-io-1.4-README.txt
hadoop/core/trunk/src/contrib/chukwa/lib/jetty-6.1.11-LICENSE.txt
hadoop/core/trunk/src/contrib/chukwa/lib/jetty-6.1.11-README.txt
hadoop/core/trunk/src/contrib/chukwa/lib/junit-LICENSE.txt
hadoop/core/trunk/src/contrib/chukwa/lib/junit-README.html
hadoop/core/trunk/src/contrib/chukwa/lib/log4j-1.2.13-LICENSE.txt
hadoop/core/trunk/src/contrib/chukwa/lib/log4j-1.2.13-README.txt
hadoop/core/trunk/src/contrib/chukwa/lib/servlet-LICENSE.txt
hadoop/core/trunk/src/contrib/chukwa/lib/servlet-README.txt
hadoop/core/trunk/src/contrib/chukwa/lib/servlet-api-LICENSE.txt
hadoop/core/trunk/src/contrib/chukwa/lib/servlet-api-README.txt
hadoop/core/trunk/src/contrib/hdfsproxy/build.xml
Modified: hadoop/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=726872&r1=726871&r2=726872&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Mon Dec 15 15:15:41 2008
@@ -107,6 +107,9 @@
split size rather than min size and the desired number of maps.
(omalley)
+ HADOOP-3305. Use Ivy to manage dependencies. (Giridharan Kesavan
+ and Steve Loughran via cutting)
+
IMPROVEMENTS
HADOOP-4749. Added a new counter REDUCE_INPUT_BYTES. (Yongqiang He via
Modified: hadoop/core/trunk/bin/hadoop
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/bin/hadoop?rev=726872&r1=726871&r2=726872&view=diff
==============================================================================
--- hadoop/core/trunk/bin/hadoop (original)
+++ hadoop/core/trunk/bin/hadoop Mon Dec 15 15:15:41 2008
@@ -143,6 +143,12 @@
CLASSPATH=${CLASSPATH}:$f;
done
+if [ -d "$HADOOP_HOME/build/ivy/lib/Hadoop/common" ]; then
+for f in $HADOOP_HOME/build/ivy/lib/Hadoop/common/*.jar; do
+ CLASSPATH=${CLASSPATH}:$f;
+done
+fi
+
for f in $HADOOP_HOME/lib/jsp-2.1/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
Modified: hadoop/core/trunk/build.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/build.xml?rev=726872&r1=726871&r2=726872&view=diff
==============================================================================
--- hadoop/core/trunk/build.xml (original)
+++ hadoop/core/trunk/build.xml Mon Dec 15 15:15:41 2008
@@ -17,7 +17,8 @@
limitations under the License.
-->
-<project name="Hadoop" default="compile">
+<project name="Hadoop" default="compile"
+ xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- Load all the default properties, and any the user wants -->
<!-- to contribute (without having to type -D or edit this file -->
@@ -146,6 +147,34 @@
<property name="patch.cmd" value="patch"/>
<property name="make.cmd" value="make"/>
+ <!-- IVY properteis set here -->
+ <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="ivysettings.xml" location="${ivy.dir}/ivysettings.xml" />
+ <property name="ivy.org" value="org.apache.hadoop"/>
+ <property name="build.dir" location="build" />
+ <property name="dist.dir" value="${build.dir}/${final.name}"/>
+ <property name="build.ivy.dir" location="${build.dir}/ivy" />
+ <property name="build.ivy.lib.dir" location="${build.ivy.dir}/lib" />
+ <property name="common.ivy.lib.dir" location="${build.ivy.lib.dir}/${ant.project.name}/common"/>
+ <property name="build.ivy.report.dir" location="${build.ivy.dir}/report" />
+ <property name="build.ivy.maven.dir" location="${build.ivy.dir}/maven" />
+ <property name="build.ivy.maven.pom" location="${build.ivy.maven.dir}/hadoop-core-${hadoop.version}.pom" />
+ <property name="build.ivy.maven.jar" location="${build.ivy.maven.dir}/hadoop-core-${hadoop.version}.jar" />
+
+ <!--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]"/>
+
+ <!--this is how artifacts that get built are named-->
+ <property name="ivy.publish.pattern" value="hadoop-[revision]-core.[ext]"/>
+ <property name="hadoop.jar" location="${build.dir}/hadoop-${hadoop.version}-core.jar" />
+
+ <!-- jdiff.home property set -->
+ <property name="jdiff.home" value="${build.ivy.lib.dir}/${ant.project.name}/jdiff"/>
+ <property name="jdiff.jar" value="${jdiff.home}/jdiff-${jdiff.version}.jar"/>
+ <property name="xerces.jar" value="${jdiff.home}/xerces-${xerces.version}.jar"/>
<available property="clover.present" classname="com.cenqua.clover.tasks.CloverReportTask" />
@@ -165,6 +194,7 @@
<exclude name="**/excluded/" />
</fileset>
<pathelement location="${conf.dir}"/>
+ <path refid="ivy-common.classpath"/>
</path>
<!-- the unit test classpath: uses test.src.dir for configuration -->
@@ -191,7 +221,7 @@
</path>
<!-- properties dependent on the items defined above. -->
- <available classname="${rat.reporting.classname}" classpathref="classpath" property="rat.present" value="true"/>
+ <!--<available classname="${rat.reporting.classname}" classpathref="classpath" property="rat.present" value="true"/> -->
<!-- ====================================================== -->
<!-- Macro definitions -->
@@ -210,7 +240,7 @@
<!-- ====================================================== -->
<!-- Stuff needed by all targets -->
<!-- ====================================================== -->
- <target name="init">
+ <target name="init" depends="ivy-retrieve-common">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes}"/>
<mkdir dir="${build.tools}"/>
@@ -264,16 +294,11 @@
<!-- ====================================================== -->
<!-- Compile the Java files -->
<!-- ====================================================== -->
- <taskdef classname="org.apache.jasper.JspC" name="jsp-compile" >
- <classpath refid="test.classpath"/>
- </taskdef>
-
<target name="record-parser" depends="init" if="javacc.home">
<javacc
target="${core.src.dir}/org/apache/hadoop/record/compiler/generated/rcc.jj"
outputdirectory="${core.src.dir}/org/apache/hadoop/record/compiler/generated"
- javacchome="${javacc.home}"
- />
+ javacchome="${javacc.home}" />
</target>
<target name="compile-rcc-compiler" depends="init, record-parser">
@@ -297,7 +322,9 @@
</target>
<target name="compile-core-classes" depends="init, compile-rcc-compiler">
-
+ <taskdef classname="org.apache.jasper.JspC" name="jsp-compile" >
+ <classpath refid="test.classpath"/>
+ </taskdef>
<!-- Compile Java files (excluding JSPs) checking warnings -->
<javac
encoding="${build.encoding}"
@@ -750,14 +777,10 @@
<!-- ================================================================== -->
<!-- Run optional third-party tool targets -->
<!-- ================================================================== -->
- <target name="checkstyle" depends="check-for-checkstyle" if="checkstyle.present" description="Run optional third-party tool targets">
- <taskdef resource="checkstyletask.properties">
- <classpath>
- <fileset dir="${lib.dir}">
- <include name="excluded/checkstyle-all-*.jar"/>
- </fileset>
- </classpath>
- </taskdef>
+ <target name="checkstyle" depends="ivy-retrieve-checkstyle,check-for-checkstyle" if="checkstyle.present" description="Run optional third-party tool targets">
+ <taskdef resource="checkstyletask.properties">
+ <classpath refid="checkstyle-classpath"/>
+ </taskdef>
<mkdir dir="${test.build.dir}"/>
@@ -776,36 +799,35 @@
<target name="check-for-checkstyle">
<available property="checkstyle.present" resource="checkstyletask.properties">
- <classpath>
- <fileset dir="${lib.dir}">
- <include name="excluded/checkstyle-all-*.jar"/>
- </fileset>
- </classpath>
+ <classpath refid="checkstyle-classpath"/>
</available>
</target>
- <property name="findbugs.home" value=""/>
+ <property name="findbugs.home" value=""/>
<target name="findbugs" depends="check-for-findbugs, tar" if="findbugs.present" description="Run findbugs if present">
<property name="findbugs.out.dir" value="${test.build.dir}/findbugs"/>
<property name="findbugs.exclude.file" value="${test.src.dir}/findbugsExcludeFile.xml"/>
<property name="findbugs.report.htmlfile" value="${findbugs.out.dir}/hadoop-findbugs-report.html"/>
<property name="findbugs.report.xmlfile" value="${findbugs.out.dir}/hadoop-findbugs-report.xml"/>
- <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
- classpath="${findbugs.home}/lib/findbugs-ant.jar" />
-
- <mkdir dir="${findbugs.out.dir}"/>
-
- <findbugs home="${findbugs.home}" output="xml:withMessages"
- outputFile="${findbugs.report.xmlfile}" effort="max"
- excludeFilter="${findbugs.exclude.file}" jvmargs="-Xmx512M">
+ <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
+ classpath="${findbugs.home}/lib/findbugs-ant.jar" />
+
+ <mkdir dir="${findbugs.out.dir}"/>
+
+ <findbugs home="${findbugs.home}" output="xml:withMessages"
+ outputFile="${findbugs.report.xmlfile}" effort="max"
+ excludeFilter="${findbugs.exclude.file}" jvmargs="-Xmx512M">
<auxClasspath>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
+ <fileset dir="${build.ivy.lib.dir}/${ant.project.name}/common">
+ <include name="**/*.jar"/>
+ </fileset>
</auxClasspath>
<sourcePath path="${core.src.dir}"/>
<sourcePath path="${mapred.src.dir}"/>
- <sourcePath path="${hdfs.src.dir}"/>
+ <sourcePath path="${hdfs.src.dir}"/>
<sourcePath path="${examples.dir}" />
<sourcePath path="${tools.src}" />
<sourcePath path="${basedir}/src/contrib/streaming/src/java" />
@@ -814,17 +836,18 @@
<class location="${basedir}/build/${final.name}-tools.jar" />
<class location="${basedir}/build/contrib/streaming/${final.name}-streaming.jar" />
</findbugs>
-
- <xslt style="${findbugs.home}/src/xsl/default.xsl"
+
+ <xslt style="${findbugs.home}/src/xsl/default.xsl"
in="${findbugs.report.xmlfile}"
out="${findbugs.report.htmlfile}"/>
</target>
-
+
<target name="check-for-findbugs">
- <available property="findbugs.present"
- file="${findbugs.home}/lib/findbugs.jar" />
+ <available property="findbugs.present"
+ file="${findbugs.home}/lib/findbugs.jar" />
</target>
-
+
+
<!-- ================================================================== -->
<!-- Documentation -->
<!-- ================================================================== -->
@@ -908,7 +931,7 @@
</javadoc>
</target>
- <target name="javadoc" depends="compile" description="Generate javadoc">
+ <target name="javadoc" depends="compile, ivy-retrieve-javadoc" description="Generate javadoc">
<mkdir dir="${build.javadoc}"/>
<javadoc
overview="${core.src.dir}/overview.html"
@@ -937,6 +960,7 @@
<fileset dir="src/contrib/">
<include name="*/lib/*.jar" />
</fileset>
+ <path refid="javadoc-classpath"/>
<pathelement path="${java.class.path}"/>
<pathelement location="${build.tools}"/>
</classpath>
@@ -950,15 +974,15 @@
<group title="contrib: FailMon" packages="org.apache.hadoop.contrib.failmon*"/>
</javadoc>
</target>
-
+<!--
<target name="jdiff.check" unless="jdiff.home">
<fail message="'jdiff.home' is not defined. Please pass -Djdiff.home=<base of jdiff installation> to Ant on the command-line." />
</target>
-
- <target name="api-xml" depends="jdiff.check,javadoc">
+-->
+ <target name="api-xml" depends="javadoc,write-null">
<javadoc>
<doclet name="jdiff.JDiff"
- path="${jdiff.home}/jdiff.jar:${jdiff.home}/xerces.jar">
+ path="${jdiff..jar}:${xerces.jar}">
<param name="-apidir" value="${jdiff.xml.dir}"/>
<param name="-apiname" value="hadoop ${version}"/>
</doclet>
@@ -967,18 +991,25 @@
<packageset dir="src/tools"/>
<classpath >
<path refid="classpath" />
+ <path refid="jdiff-classpath" />
<pathelement path="${java.class.path}"/>
</classpath>
</javadoc>
</target>
- <target name="api-report" depends="api-xml">
+ <target name="write-null">
+ <exec executable="touch">
+ <arg value="${jdiff.home}/Null.java"/>
+ </exec>
+ </target>
+
+ <target name="api-report" depends="ivy-retrieve-jdiff,api-xml">
<mkdir dir="${jdiff.build.dir}"/>
<javadoc sourcepath="src/core,src/hdfs,src,mapred,src/tools"
destdir="${jdiff.build.dir}"
sourceFiles="${jdiff.home}/Null.java">
<doclet name="jdiff.JDiff"
- path="${jdiff.home}/jdiff.jar:${jdiff.home}/xerces.jar">
+ path="${jdiff.jar}:${xerces.jar}">
<param name="-oldapi" value="hadoop ${jdiff.stable}"/>
<param name="-newapi" value="hadoop ${version}"/>
<param name="-oldapidir" value="${jdiff.xml.dir}"/>
@@ -989,6 +1020,7 @@
</doclet>
<classpath >
<path refid="classpath" />
+ <path refid="jdiff-classpath"/>
<pathelement path="${java.class.path}"/>
</classpath>
</javadoc>
@@ -1019,6 +1051,10 @@
<mkdir dir="${dist.dir}/docs/api"/>
<mkdir dir="${dist.dir}/docs/jdiff"/>
+ <copy todir="${dist.dir}/lib" includeEmptyDirs="false" flatten="true">
+ <fileset dir="${common.ivy.lib.dir}"/>
+ </copy>
+
<copy todir="${dist.dir}/lib" includeEmptyDirs="false">
<fileset dir="lib">
<exclude name="**/native/**"/>
@@ -1132,10 +1168,10 @@
<!-- ================================================================== -->
<!-- Perform audit activities for the release -->
<!-- ================================================================== -->
- <target name="releaseaudit" depends="package" description="Release Audit activities">
- <fail unless="rat.present" message="Failed to load class [${rat.reporting.classname}]. Download the latest rat jar from [http://code.google.com/p/arat] and copy it to [${lib.dir}]. Typically the file name will be of format rat-x.y.z.jar"/>
+ <target name="releaseaudit" depends="package,ivy-retrieve-releaseaudit" description="Release Audit activities">
+ <fail unless="rat.present" message="Failed to load class [${rat.reporting.classname}]."/>
<java classname="${rat.reporting.classname}" fork="true">
- <classpath refid="classpath"/>
+ <classpath refid="releaseaudit-classpath"/>
<arg value="${build.dir}/${final.name}"/>
</java>
</target>
@@ -1186,6 +1222,7 @@
<env key="HADOOP_HOME" value="${basedir}"/>
<env key="HADOOP_CONF_DIR" value="${libhdfs.test.conf.dir}"/>
<env key="HADOOP_LOG_DIR" value="${libhdfs.test.dir}/logs"/>
+ <env key="LIB_DIR" value="${common.ivy.lib.dir}"/>
<arg value="test"/>
</exec>
</target>
@@ -1473,4 +1510,204 @@
</copy>
</target>
+ <target name="ivy-init-dirs">
+ <mkdir dir="${build.ivy.dir}" />
+ <mkdir dir="${build.ivy.lib.dir}" />
+ <mkdir dir="${build.ivy.report.dir}" />
+ <mkdir dir="${build.ivy.maven.dir}" />
+ </target>
+
+ <target name="ivy-probe-antlib" >
+ <condition property="ivy.found">
+ <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
+ </condition>
+ </target>
+
+ <target name="ivy-download" description="To download ivy" unless="offline">
+ <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/>
+ </target>
+
+ <!--
+ To avoid Ivy leaking things across big projects, always load Ivy in the same classloader.
+ Also note how we skip loading Ivy if it is already there, just to make sure all is well.
+ -->
+ <target name="ivy-init-antlib" depends="ivy-download,ivy-init-dirs,ivy-probe-antlib" unless="ivy.found">
+ <typedef uri="antlib:org.apache.ivy.ant" onerror="fail"
+ loaderRef="ivyLoader">
+ <classpath>
+ <pathelement location="${ivy.jar}"/>
+ </classpath>
+ </typedef>
+ <fail >
+ <condition >
+ <not>
+ <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
+ </not>
+ </condition>
+ You need Apache Ivy 2.0 or later from http://ant.apache.org/
+ It could not be loaded from ${ivy_repo_url}
+ </fail>
+ </target>
+
+
+ <target name="ivy-init" depends="ivy-init-antlib" >
+
+ <!--Configure Ivy by reading in the settings file
+ If anyone has already read in a settings file into this settings ID, it gets priority
+ -->
+ <ivy:configure settingsid="${ant.project.name}.ivy.settings" file="${ivysettings.xml}" override='false'/>
+ </target>
+
+ <target name="ivy-resolve" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings"/>
+ </target>
+
+ <target name="ivy-resolve-javadoc" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="javadoc"/>
+ </target>
+
+ <target name="ivy-resolve-releaseaudit" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="releaseaudit"/>
+ </target>
+
+ <target name="ivy-resolve-test" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="test" />
+ </target>
+
+ <target name="ivy-resolve-common" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="common" />
+ </target>
+
+ <target name="ivy-resolve-jdiff" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="jdiff" />
+ </target>
+
+ <target name="ivy-resolve-checkstyle" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="checkstyle"/>
+ </target>
+
+ <target name="ivy-retrieve" depends="ivy-resolve"
+ description="Retrieve Ivy-managed artifacts">
+ <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/>
+ </target>
+
+ <target name="ivy-retrieve-checkstyle" depends="ivy-resolve-checkstyle"
+ description="Retrieve Ivy-managed artifacts for the checkstyle configurations">
+ <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/>
+ <ivy:cachepath pathid="checkstyle-classpath" conf="checkstyle"/>
+ </target>
+
+ <target name="ivy-retrieve-jdiff" depends="ivy-resolve-jdiff"
+ description="Retrieve Ivy-managed artifacts for the javadoc configurations">
+ <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/>
+ <ivy:cachepath pathid="jdiff-classpath" conf="jdiff"/>
+ </target>
+
+ <target name="ivy-retrieve-javadoc" depends="ivy-resolve-javadoc"
+ description="Retrieve Ivy-managed artifacts for the javadoc configurations">
+ <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/>
+ <ivy:cachepath pathid="javadoc-classpath" conf="javadoc"/>
+ </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"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/>
+ <ivy:cachepath pathid="test.classpath" conf="test"/>
+ </target>
+
+ <target name="ivy-retrieve-common" depends="ivy-resolve-common"
+ description="Retrieve Ivy-managed artifacts for the compile configurations">
+ <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/>
+ <ivy:cachepath pathid="ivy-common.classpath" conf="common"/>
+ </target>
+
+ <target name="ivy-retrieve-releaseaudit" depends="ivy-resolve-releaseaudit"
+ description="Retrieve Ivy-managed artifacts for the compile configurations">
+ <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" />
+ <ivy:cachepath pathid="releaseaudit-classpath" conf="releaseaudit"/>
+ <available classname="${rat.reporting.classname}"
+ classpathref="releaseaudit-classpath" property="rat.present" value="true"/>
+ </target>
+
+ <target name="ivy-report" depends="ivy-resolve-releaseaudit"
+ description="Generate">
+ <ivy:report todir="${build.ivy.report.dir}" settingsRef="${ant.project.name}.ivy.settings"/>
+ <echo>
+ Reports generated:${build.ivy.report.dir}
+ </echo>
+ </target>
+
+ <target name="assert-hadoop-jar-exists" depends="ivy-init">
+ <fail>
+ <condition >
+ <not>
+ <available file="${hadoop.jar}" />
+ </not>
+ </condition>
+ Not found: ${hadoop.jar}
+ Please run the target "jar" in the main build file
+ </fail>
+
+ </target>
+
+ <target name="ready-to-publish" depends="jar,assert-hadoop-jar-exists,ivy-resolve"/>
+
+ <target name="ivy-publish-local" depends="ready-to-publish,ivy-resolve">
+ <ivy:publish
+ settingsRef="${ant.project.name}.ivy.settings"
+ resolver="local"
+ pubrevision="${hadoop.version}"
+ overwrite="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
+ -->
+ <target name="makepom" depends="ivy-resolve">
+ <ivy:makepom settingsRef="${ant.project.name}.ivy.settings"
+ ivyfile="ivy.xml"
+ pomfile="${build.ivy.maven.dir}/generated.pom">
+ <ivy:mapping conf="default" scope="default"/>
+ <ivy:mapping conf="master" scope="master"/>
+ <ivy:mapping conf="runtime" scope="runtime"/>
+ </ivy:makepom>
+ </target>
+
+
+ <target name="copy-jar-to-maven" depends="ready-to-publish">
+ <copy file="${hadoop.jar}"
+ tofile="${build.ivy.maven.jar}"/>
+ <checksum file="${build.ivy.maven.jar}" algorithm="md5"/>
+ </target>
+
+ <target name="copypom" depends="ivy-init-dirs">
+
+ <presetdef name="expandingcopy" >
+ <copy overwrite="true">
+ <filterchain>
+ <expandproperties/>
+ </filterchain>
+ </copy>
+ </presetdef>
+
+ <expandingcopy file="ivy/hadoop-core.pom"
+ tofile="${build.ivy.maven.pom}"/>
+ <checksum file="${build.ivy.maven.pom}" algorithm="md5"/>
+ </target>
+
+ <target name="maven-artifacts" depends="copy-jar-to-maven,copypom" />
+
+ <target name="published" depends="ivy-publish-local,maven-artifacts">
+
+ </target>
+
</project>
Propchange: hadoop/core/trunk/ivy/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Dec 15 15:15:41 2008
@@ -0,0 +1 @@
+ivy*.jar
Added: hadoop/core/trunk/ivy.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/ivy.xml?rev=726872&view=auto
==============================================================================
--- hadoop/core/trunk/ivy.xml (added)
+++ hadoop/core/trunk/ivy.xml Mon Dec 15 15:15:41 2008
@@ -0,0 +1,243 @@
+<?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>
+ 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"/>
+
+ </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="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="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"/>
+<!-- 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: 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"/>
+
+ <!--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>
+ </dependencies>
+
+</ivy-module>
Added: hadoop/core/trunk/ivy/hadoop-core.pom
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/ivy/hadoop-core.pom?rev=726872&view=auto
==============================================================================
--- hadoop/core/trunk/ivy/hadoop-core.pom (added)
+++ hadoop/core/trunk/ivy/hadoop-core.pom Mon Dec 15 15:15:41 2008
@@ -0,0 +1,242 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <!--
+ This POM is released under the Apache License, Version 2.0
+ -->
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-core</artifactId>
+ <packaging>jar</packaging>
+ <version>${hadoop.version}</version>
+ <description>
+ Hadoop is the distributed computing framework of Apache; hadoop-core contains
+ the filesystem, job tracker and map/reduce modules
+ </description>
+ <licenses>
+ <license>
+ <name>Apache License, Version 2.0</name>
+ <url>http://apache.org/licenses/LICENSE-2.0</url>
+ </license>
+ </licenses>
+ <dependencies>
+
+
+ <!-- always include commons-logging and log4J -->
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>${commons-logging.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>logkit</groupId>
+ <artifactId>logkit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>${log4j.version}</version>
+ <scope>optional</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.jms</groupId>
+ <artifactId>jms</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.sun.jdmk</groupId>
+ <artifactId>jmxtools</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.sun.jmx</groupId>
+ <artifactId>jmxri</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!--SLF4J is a JAR-based dependency; this POM binds it to log4J-->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j-api.version}</version>
+ <scope>optional</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${slf4j-log4j12.version}</version>
+ <scope>optional</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!--Httpclient and its components are optional-->
+
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ <version>3.1</version>
+ <scope>optional</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.3</version>
+ <scope>optional</scope>
+ </dependency>
+
+ <!--CLI is needed to scan the command line, but only the 1.0 branch is released -->
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>2.0-20070823</version>
+ <scope>optional</scope>
+ </dependency>
+
+
+ <!-- this is used for the ftp:// filesystem-->
+ <dependency>
+ <groupId>commons-net</groupId>
+ <artifactId>commons-net</artifactId>
+ <version>1.4.1</version>
+ <scope>optional</scope>
+ </dependency>
+
+ <!-- Jetty is used to serve up the application. It is marked as optional because
+ clients do not need it. All server-side deployments will need
+ all of these files.-->
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>${servlet-api.version}</version>
+ <scope>optional</scope>
+ </dependency>
+ <dependency>
+ <groupId>jetty</groupId>
+ <artifactId>org.mortbay.jetty</artifactId>
+ <version>${jetty.version}</version>
+ <scope>optional</scope>
+ </dependency>
+
+
+ <!--JSP support -->
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jsp-2.1</artifactId>
+ <version>${jetty.version}</version>
+ <scope>optional</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jsp-api-2.1</artifactId>
+ <version>${jetty.version}</version>
+ <scope>optional</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-el</groupId>
+ <artifactId>commons-el</artifactId>
+ <version>${commons-el.version}</version>
+ <scope>optional</scope>
+ </dependency>
+
+
+ <!--JSPC assistance-->
+
+ <dependency>
+ <groupId>org.eclipse.jdt</groupId>
+ <artifactId>core</artifactId>
+ <version>${core.version}</version>
+ <scope>optional</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>${apacheant.version}</version>
+ <scope>optional</scope>
+ </dependency>
+
+ <!-- JetS3t is a client library for S3.
+ -It is only needed if you want to work with S3 filesystems
+ -It pulls in commons-logging 1.1.1 and does not exclude all the cruft that comes with it.
+ By excluding it we stay in control of versions and dependencies
+ -->
+
+ <dependency>
+ <groupId>net.java.dev.jets3t</groupId>
+ <artifactId>jets3t</artifactId>
+ <version>${jets3t.version}</version>
+ <scope>optional</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!--Kosmos filesystem
+ http://kosmosfs.sourceforge.net/
+ This is not in the central repository
+ -->
+ <!--
+ <dependency>
+ <groupId>org.kosmix</groupId>
+ <artifactId>kfs</artifactId>
+ <version>0.1</version>
+ <scope>optional</scope>
+ </dependency>
+ -->
+
+ <!--
+ http://xmlenc.sourceforge.net/
+ "The xmlenc library is a fast stream-based XML output library for Java."
+ -->
+ <dependency>
+ <groupId>xmlenc</groupId>
+ <artifactId>xmlenc</artifactId>
+ <version>0.52</version>
+ <scope>optional</scope>
+ </dependency>
+ </dependencies>
+</project>
Added: hadoop/core/trunk/ivy/ivysettings.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/ivy/ivysettings.xml?rev=726872&view=auto
==============================================================================
--- hadoop/core/trunk/ivy/ivysettings.xml (added)
+++ hadoop/core/trunk/ivy/ivysettings.xml Mon Dec 15 15:15:41 2008
@@ -0,0 +1,63 @@
+<ivysettings>
+ <!--
+ see http://www.jayasoft.org/ivy/doc/configuration
+ -->
+ <!-- you can override this property to use mirrors
+ http://repo1.maven.org/maven2/
+ http://mirrors.dotsrc.org/maven2
+ http://ftp.ggi-project.org/pub/packages/maven2
+ http://mirrors.sunsite.dk/maven2
+ http://public.planetmirror.com/pub/maven2
+ 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"/>
+ <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"
+ />
+ <chain name="default" dual="true">
+ <resolver ref="local"/>
+ <resolver ref="maven2"/>
+ </chain>
+ <chain name="internal">
+ <resolver ref="local"/>
+ </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"/>
+ </modules>
+</ivysettings>
\ No newline at end of file
Added: hadoop/core/trunk/ivy/libraries.properties
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/ivy/libraries.properties?rev=726872&view=auto
==============================================================================
--- hadoop/core/trunk/ivy/libraries.properties (added)
+++ hadoop/core/trunk/ivy/libraries.properties Mon Dec 15 15:15:41 2008
@@ -0,0 +1,59 @@
+#This properties file lists the versions of the various artifacts used by hadoop and components.
+#It drives ivy and the generation of a maven POM
+
+# This is the version of hadoop we are generating
+hadoop.version=0.20.0
+
+#These are the versions of our dependencies (in alphabetical order)
+apacheant.version=1.7.0
+
+checkstyle.version=4.2
+
+commons-cli.version=2.0-SNAPSHOT
+commons-codec.version=1.3
+commons-collections.version=3.1
+commons-httpclient.version=3.0.1
+commons-lang.version=2.4
+commons-logging.version=1.0.4
+commons-logging-api.version=1.0.4
+commons-el.version=1.0
+commons-fileupload.version=1.2
+commons-io.version=1.4
+commons-net.version=1.4.1
+core.version=3.1.1
+coreplugin.version=1.3.2
+
+hsqldb.version=1.8.0.10
+
+#ivy.version=2.0.0-beta2
+ivy.version=2.0.0-rc2
+
+jasper.version=5.5.12
+#not able to figureout the version of jsp & jsp-api version to get it resolved throught ivy
+# but still declared here as we are going to have a local copy from the lib folder
+jsp.version=2.1
+jsp-api.version=5.5.12
+jets3t.version=0.6.1
+jetty.version=6.1.14
+jetty-util.version=6.1.14
+junit.version=3.8.1
+jdiff.version=1.0.9
+json.version=1.0
+
+kfs.version=0.1
+
+log4j.version=1.2.15
+lucene-core.version=2.3.1
+
+oro.version=2.0.8
+
+rats-lib.version=0.5.1
+
+servlet.version=4.0.6
+servlet-api-2.5.version=6.1.14
+servlet-api.version=2.5
+slf4j-api.version=1.4.3
+slf4j-log4j12.version=1.4.3
+
+xmlenc.version=0.52
+xerces.version=1.4.4
Modified: hadoop/core/trunk/src/c++/libhdfs/tests/test-libhdfs.sh
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/c%2B%2B/libhdfs/tests/test-libhdfs.sh?rev=726872&r1=726871&r2=726872&view=diff
==============================================================================
--- hadoop/core/trunk/src/c++/libhdfs/tests/test-libhdfs.sh (original)
+++ hadoop/core/trunk/src/c++/libhdfs/tests/test-libhdfs.sh Mon Dec 15 15:15:41 2008
@@ -63,6 +63,12 @@
CLASSPATH=${CLASSPATH}:$f;
done
+if [ -d "$HADOOP_HOME/build/ivy/lib/Hadoop/common" ]; then
+for f in $HADOOP_HOME/build/ivy/lib/Hadoop/common/*.jar; do
+ CLASSPATH=${CLASSPATH}:$f;
+done
+fi
+
# restore ordinary behaviour
unset IFS
Modified: hadoop/core/trunk/src/contrib/build-contrib.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/build-contrib.xml?rev=726872&r1=726871&r2=726872&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/build-contrib.xml (original)
+++ hadoop/core/trunk/src/contrib/build-contrib.xml Mon Dec 15 15:15:41 2008
@@ -19,7 +19,7 @@
<!-- Imported by contrib/*/build.xml files to share generic targets. -->
-<project name="hadoopbuildcontrib">
+<project name="hadoopbuildcontrib" xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="name" value="${ant.project.name}"/>
<property name="root" value="${basedir}"/>
@@ -30,7 +30,6 @@
<property file="${root}/build.properties" />
<property name="hadoop.root" location="${root}/../../../"/>
-
<property name="src.dir" location="${root}/src/java"/>
<property name="src.test" location="${root}/src/test"/>
<property name="src.examples" location="${root}/src/examples"/>
@@ -50,6 +49,7 @@
<!-- all jars together -->
<property name="javac.deprecation" value="off"/>
<property name="javac.debug" value="on"/>
+ <property name="build.ivy.lib.dir" value="${hadoop.root}/build/ivy/lib"/>
<property name="javadoc.link"
value="http://java.sun.com/j2se/1.4/docs/api/"/>
@@ -58,14 +58,34 @@
<fileset id="lib.jars" dir="${root}" includes="lib/*.jar"/>
+
+ <!-- IVY properties set here -->
+ <property name="ivy.dir" location="ivy" />
+ <property name="ivysettings.xml" location="${hadoop.root}/ivy/ivysettings.xml"/>
+ <loadproperties srcfile="${ivy.dir}/libraries.properties"/>
+ <loadproperties srcfile="${hadoop.root}/ivy/libraries.properties"/>
+ <property name="ivy.jar" location="${hadoop.root}/ivy/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="build.dir" location="build" />
+ <property name="build.ivy.dir" location="${build.dir}/ivy" />
+ <property name="build.ivy.lib.dir" location="${build.ivy.dir}/lib" />
+ <property name="build.ivy.report.dir" location="${build.ivy.dir}/report" />
+ <property name="common.ivy.lib.dir" location="${build.ivy.lib.dir}/${ant.project.name}/common"/>
+
+ <!--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]"/>
+
<!-- the normal classpath -->
- <path id="classpath">
+ <path id="contrib-classpath">
<pathelement location="${build.classes}"/>
<fileset refid="lib.jars"/>
<pathelement location="${hadoop.root}/build/classes"/>
<fileset dir="${hadoop.root}/lib">
<include name="**/*.jar" />
</fileset>
+ <path refid="${ant.project.name}.common-classpath"/>
</path>
<!-- the unit test classpath -->
@@ -76,7 +96,7 @@
<pathelement location="${conf.dir}"/>
<pathelement location="${hadoop.root}/build"/>
<pathelement location="${build.examples}"/>
- <path refid="classpath"/>
+ <path refid="contrib-classpath"/>
</path>
@@ -101,7 +121,7 @@
<!-- ====================================================== -->
<!-- Compile a Hadoop contrib's files -->
<!-- ====================================================== -->
- <target name="compile" depends="init" unless="skip.contrib">
+ <target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">
<echo message="contrib: ${name}"/>
<javac
encoding="${build.encoding}"
@@ -110,7 +130,7 @@
destdir="${build.classes}"
debug="${javac.debug}"
deprecation="${javac.deprecation}">
- <classpath refid="classpath"/>
+ <classpath refid="contrib-classpath"/>
</javac>
</target>
@@ -126,7 +146,7 @@
includes="**/*.java"
destdir="${build.examples}"
debug="${javac.debug}">
- <classpath refid="classpath"/>
+ <classpath refid="contrib-classpath"/>
</javac>
</target>
@@ -142,7 +162,7 @@
includes="**/*.java"
destdir="${build.test}"
debug="${javac.debug}">
- <classpath refid="test.classpath"/>
+ <classpath refid="test.classpath"/>
</javac>
</target>
@@ -222,10 +242,8 @@
</batchtest>
</junit>
<fail if="tests.failed">Tests failed!</fail>
-
</target>
-
<!-- ================================================================== -->
<!-- Clean. Delete the build files, and their directories -->
<!-- ================================================================== -->
@@ -234,4 +252,47 @@
<delete dir="${build.dir}"/>
</target>
+ <target name="ivy-probe-antlib" >
+ <condition property="ivy.found">
+ <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
+ </condition>
+ </target>
+
+
+ <target name="ivy-download" description="To download ivy " unless="offline">
+ <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/>
+ </target>
+
+ <target name="ivy-init-antlib" depends="ivy-download,ivy-probe-antlib" unless="ivy.found">
+ <typedef uri="antlib:org.apache.ivy.ant" onerror="fail"
+ loaderRef="ivyLoader">
+ <classpath>
+ <pathelement location="${ivy.jar}"/>
+ </classpath>
+ </typedef>
+ <fail >
+ <condition >
+ <not>
+ <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
+ </not>
+ </condition>
+ You need Apache Ivy 2.0 or later from http://ant.apache.org/
+ It could not be loaded from ${ivy_repo_url}
+ </fail>
+ </target>
+
+ <target name="ivy-init" depends="ivy-init-antlib">
+ <ivy:configure settingsid="${ant.project.name}.ivy.settings" file="${ivysettings.xml}"/>
+ </target>
+
+ <target name="ivy-resolve-common" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="common" />
+ </target>
+
+ <target name="ivy-retrieve-common" depends="ivy-resolve-common"
+ description="Retrieve Ivy-managed artifacts for the compile/test configurations">
+ <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" sync="true" />
+ <ivy:cachepath pathid="${ant.project.name}.common-classpath" conf="common" />
+ </target>
</project>
Added: hadoop/core/trunk/src/contrib/capacity-scheduler/ivy.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/capacity-scheduler/ivy.xml?rev=726872&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/capacity-scheduler/ivy.xml (added)
+++ hadoop/core/trunk/src/contrib/capacity-scheduler/ivy.xml Mon Dec 15 15:15:41 2008
@@ -0,0 +1,40 @@
+<?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
+ </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="common" visibility="private"
+ extends="runtime"
+ description="artifacts needed to compile/test the application"/>
+ <conf name="test" visibility="private" extends="runtime"/>
+ </configurations>
+
+ <publications>
+ <!--get the artifact from our module name-->
+ <artifact conf="master"/>
+ </publications>
+ <dependencies>
+ <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="log4j"
+ name="log4j"
+ rev="${log4j.version}"
+ conf="common->master"/>
+ </dependencies>
+</ivy-module>
Added: hadoop/core/trunk/src/contrib/capacity-scheduler/ivy/libraries.properties
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/capacity-scheduler/ivy/libraries.properties?rev=726872&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/capacity-scheduler/ivy/libraries.properties (added)
+++ hadoop/core/trunk/src/contrib/capacity-scheduler/ivy/libraries.properties Mon Dec 15 15:15:41 2008
@@ -0,0 +1,5 @@
+#This properties file lists the versions of the various artifacts used by streaming.
+#It drives ivy and the generation of a maven POM
+
+#Please list the dependencies name with version if they are different from the ones
+#listed in the global libraries.properties file (in alphabetical order)
Modified: hadoop/core/trunk/src/contrib/chukwa/build.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/build.xml?rev=726872&r1=726871&r2=726872&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/build.xml (original)
+++ hadoop/core/trunk/src/contrib/chukwa/build.xml Mon Dec 15 15:15:41 2008
@@ -17,7 +17,8 @@
limitations under the License.
-->
-<project name="chukwa" default="main">
+<project name="chukwa" default="main"
+ xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="name" value="chukwa"/>
<property name="chukwaVersion" value="0.1.1"/>
@@ -36,7 +37,7 @@
<and><available file="../build-contrib.xml" property="present"/></and>
</condition>
- <target name="init-standalone" if="standaloneMode">
+ <target name="init-standalone" depends="ivy-retrieve" if="standaloneMode">
<echo>Standalone Mode</echo>
<property environment="env"/>
<property name="basedir" value="."/>
@@ -67,6 +68,7 @@
<fileset dir="${hadoop.home.jars.dir}"> <!-- ASR -->
<include name="**/*core*.jar" />
</fileset>
+ <path refid="contrib-classpath"/>
</path>
<path id="testClasspath">
<pathelement location="${build.classes}"/>
@@ -82,6 +84,7 @@
<fileset dir="${hadoop.home.jars.dir}"> <!-- ASR -->
<include name="**/*core*.jar" />
</fileset>
+ <path refid="contrib-classpath"/>
</path>
<path id="testDemuxClasspath">
<pathelement location="${build.classes}"/>
@@ -94,11 +97,80 @@
<include name="**/*.jar" />
<exclude name="**/excluded/" />
</fileset>
-
+ <path refid="contrib-classpath"/>
</path>
</target>
+
+ <target name="ivy-init-properties-local" description="to initiate ivy properties">
+ <property name="ivy.dir" location="ivy" />
+ <property name="ivysettings.xml" location="${ivy.dir}/ivysettings.xml"/>
+ <loadproperties srcfile="${ivy.dir}/libraries.properties"/>
+ <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="build.dir" location="build" />
+ <property name="build.ivy.dir" location="${build.dir}/ivy" />
+ <property name="build.ivy.lib.dir" location="${build.ivy.dir}/lib" />
+ <property name="build.ivy.report.dir" location="${build.ivy.dir}/report" />
+ <property name="common.ivy.lib.dir" location="${build.ivy.lib.dir}/${ant.project.name}/common"/>
+
+ <!--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]"/>
+ </target>
+
+ <target name="ivy-download-local" description="To download ivy"
+ unless="offline">
+ <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/>
+ </target>
+
+ <target name="ivy-init-dirs-local" depends="ivy-init-properties-local">
+ <mkdir dir="${build.ivy.dir}" />
+ <mkdir dir="${build.ivy.lib.dir}" />
+ <mkdir dir="${build.ivy.report.dir}" />
+ </target>
+
+ <target name="ivy-probe-antlib-local" >
+ <condition property="ivy.found.local">
+ <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
+ </condition>
+ </target>
+
+ <target name="ivy-init-antlib-local" depends="ivy-init-dirs-local,ivy-download-local,ivy-probe-antlib-local" unless="ivy.found.local">
+ <typedef uri="antlib:org.apache.ivy.ant" onerror="fail" loaderRef="ivyLoader">
+ <classpath>
+ <pathelement location="${ivy.jar}"/>
+ </classpath>
+ </typedef>
+ <fail>
+ <condition>
+ <not>
+ <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
+ </not>
+ </condition>
+ You need Apache Ivy 2.0 or later from http://ant.apache.org/
+ It could not be loaded from ${ivy_repo_url}
+ </fail>
+ </target>
+
+ <target name="ivy-init-local" depends="ivy-init-antlib-local">
+ <ivy:configure settingsid="${ant.project.name}.ivy.settings" file="${ivysettings.xml}" override="true"/>
+ </target>
+
+ <target name="ivy-resolve" depends="ivy-init-local">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="common"/>
+ </target>
+
+ <target name="ivy-retrieve" depends="ivy-resolve"
+ description="Retrieve Ivy-managed artifacts for the compile/test configurations">
+ <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" sync="true" />
+ <ivy:cachepath pathid="contrib-classpath" conf="common" />
+ </target>
<target name="init-hadoop" if="hadoopMode">
+ <antcall target="ivy-retrieve-common"/>
<echo>Hadoop Mode</echo>
<property name="build.dir" value="${basedir}/build"/>
<property name="build.classes" value="${basedir}/build/classes"/>
@@ -116,10 +188,12 @@
<exclude name="**/excluded/" />
</fileset>
<pathelement location="${hadoop.root}/build/classes"/>
+ <path refid="contrib-classpath"/>
</path>
<path id="testClasspath">
<pathelement location="${build.classes}"/>
<pathelement location="${test.build.classes}"/>
+ <path refid="contrib-classpath"/>
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
<exclude name="**/excluded/" />
@@ -135,6 +209,7 @@
<path id="testDemuxClasspath">
<pathelement location="${build.classes}"/>
<pathelement location="${test.build.classes}"/>
+ <path refid="contrib-classpath"/>
<fileset dir="${hadoop.root}/lib">
<include name="**/*.jar" />
<exclude name="**/excluded/" />
@@ -146,7 +221,6 @@
<pathelement location="${hadoop.root}/build/classes"/>
<pathelement location="${hadoop.root}/build/test/classes"/>
</path>
-
</target>
@@ -173,7 +247,8 @@
<property name="test.include" value="Test*"/>
<property name="test.classpath.id" value="test.classpath"/>
<property name="test.output" value="yes"/>
- <property name="test.timeout" value="900000"/>
+ <!--<property name="test.timeout" value="900000"/> -->
+ <property name="test.timeout" value="5000"/>
<property name="test.junit.output.format" value="plain"/>
<property name="test.junit.fork.mode" value="perTest" />
<property name="test.junit.printsummary" value="yes" />
@@ -220,13 +295,13 @@
</javac>
</target>
-
+ <!--printsummary="${test.junit.printsummary}" -->
<target name="test-chukwa" depends="compile,compile-test" description="Run Chukwa unit tests">
<mkdir dir="${basedir}/var"/>
<junit showoutput="yes"
fork="yes"
- printsummary="${test.junit.printsummary}"
+ printsummary="withOutAndErr"
forkmode="${test.junit.fork.mode}"
maxmemory="${test.junit.maxmemory}"
dir="${test.build.dir}/classes/" timeout="${test.timeout}"
@@ -291,7 +366,7 @@
<copy todir="${build.dir}/collector/WEB-INF/lib">
<fileset dir="${basedir}/lib">
- <include name="log4j-1.2.13.jar" />
+ <include name="log4j-${log4j.version}.jar" />
<include name="${build.dir}/${final.name}-core.jar" />
</fileset>
</copy>
@@ -485,6 +560,8 @@
<!-- ================================================================== -->
<target name="clean" depends="init" description="Clean. Delete the build files, and their directories">
<delete dir="${build.dir}"/>
+ <delete dir="${build.ivy.lib.dir}/${ant.project.home}"/>
+ <delete dir="build"/>
<delete dir="${docs.src}/build"/>
</target>
<!-- ====================================================== -->
@@ -513,16 +590,21 @@
<fileset dir="${hadoop.root}/build">
<include name="hadoop-*-core.jar" />
</fileset>
- <fileset dir="${hadoop.root}/lib">
- <include name="commons-cli-*.jar" />
- <include name="commons-codec-*.jar" />
- <include name="commons-el.jar" />
+ <fileset dir="${build.ivy.lib.dir}\Hadoop\common">
+
+ <include name="jetty-*.jar" />
<include name="commons-httpclient-*.jar" />
<include name="commons-logging-*.jar" />
<include name="commons-net-*.jar" />
<include name="jasper-*.jar" />
- <include name="jetty-*.jar" />
- <include name="jsp-api.jar" />
+ <include name="commons-el.jar" />
+ <include name="commons-codec-*.jar" />
+ </fileset>
+ <fileset dir="lib">
+ <include name="jsp-api.jar"/>
+ </fileset>
+ <fileset dir="${hadoop.root}/lib">
+ <include name="commons-cli-*.jar"/>
</fileset>
</copy>
</target>
@@ -556,6 +638,9 @@
<fileset dir="lib">
<exclude name="**/native/**"/>
</fileset>
+ <fileset dir="${common.ivy.lib.dir}">
+ <include name="*.jar"/>
+ </fileset>
</copy>
<exec dir="${dist.dir}" executable="sh" failonerror="true">
Added: hadoop/core/trunk/src/contrib/chukwa/ivy.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/ivy.xml?rev=726872&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/ivy.xml (added)
+++ hadoop/core/trunk/src/contrib/chukwa/ivy.xml Mon Dec 15 15:15:41 2008
@@ -0,0 +1,97 @@
+<?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" />
+ <!--Private configurations. -->
+
+ <conf name="common" visibility="private"
+ extends="jetty"
+ description="artifacts needed to compile/test the application"/>
+ <conf name="jetty" visibility="private" />
+
+ </configurations>
+
+ <publications>
+ <!--get the artifact from our module name-->
+ <artifact conf="master"/>
+ </publications>
+ <dependencies>
+ <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"/>
+ </dependencies>
+
+</ivy-module>
Added: hadoop/core/trunk/src/contrib/chukwa/ivy/ivysettings.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/ivy/ivysettings.xml?rev=726872&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/ivy/ivysettings.xml (added)
+++ hadoop/core/trunk/src/contrib/chukwa/ivy/ivysettings.xml Mon Dec 15 15:15:41 2008
@@ -0,0 +1,63 @@
+<ivysettings>
+ <!--
+ see http://www.jayasoft.org/ivy/doc/configuration
+ -->
+ <!-- you can override this property to use mirrors
+ http://repo1.maven.org/maven2/
+ http://mirrors.dotsrc.org/maven2
+ http://ftp.ggi-project.org/pub/packages/maven2
+ http://mirrors.sunsite.dk/maven2
+ http://public.planetmirror.com/pub/maven2
+ 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"/>
+ <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"
+ />
+ <chain name="default" dual="true">
+ <resolver ref="local"/>
+ <resolver ref="maven2"/>
+ </chain>
+ <chain name="internal">
+ <resolver ref="local"/>
+ </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"/>
+ </modules>
+</ivysettings>
\ No newline at end of file
Added: hadoop/core/trunk/src/contrib/chukwa/ivy/libraries.properties
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/ivy/libraries.properties?rev=726872&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/ivy/libraries.properties (added)
+++ hadoop/core/trunk/src/contrib/chukwa/ivy/libraries.properties Mon Dec 15 15:15:41 2008
@@ -0,0 +1,32 @@
+#This properties file lists the versions of the various artifacts used by chukwa.
+
+
+
+hadoop.version=0.20.0-dev
+
+
+#These are the versions of our dependencies (in alphabetical order)
+commons-fileupload.version=1.2
+commons-httpclient.version=3.0.1
+commons-logging.version=1.0.4
+commons-io.version=1.4
+commons-codec.version=1.3
+commons-net.version=1.4.1
+commons-logging-api.version=1.0.4
+
+#couldnt makeout the version of jsp-api
+#jsp-api.version=
+ivy.version=2.0.0-rc2
+# chukwa uses a diff. verion of jetty than the Hadoop
+jetty.version=6.1.11
+jetty-util.version=6.1.11
+
+junit.version=3.8.1
+
+log4j.version=1.2.13
+
+servlet.version=4.0.6
+servlet-api.version=5.5.12
+
+# Not able to figureout the taglibs version
+#taglibs.version=
Modified: hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-LICENSE.txt
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-LICENSE.txt?rev=726872&r1=726871&r2=726872&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-LICENSE.txt (original)
+++ hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-LICENSE.txt Mon Dec 15 15:15:41 2008
@@ -1,202 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
Modified: hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-README.txt
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-README.txt?rev=726872&r1=726871&r2=726872&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-README.txt (original)
+++ hadoop/core/trunk/src/contrib/chukwa/lib/commons-fileupload-1.2-README.txt Mon Dec 15 15:15:41 2008
@@ -1,5 +0,0 @@
-Apache Commons FileUpload
-Copyright 2002-2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).