HADOOP-5107. Use Maven ant tasks to publish the subproject jars.

(Giridharan Kesavan via omalley)


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@831032 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Owen O'Malley 2009-10-29 17:08:42 +00:00
parent f9dee28085
commit f0f3fdbd3d
10 changed files with 493 additions and 177 deletions

3
.gitignore vendored
View File

@ -32,7 +32,8 @@ conf/hadoop-policy.xml
conf/capacity-scheduler.xml
conf/mapred-queue-acls.xml
docs/api/
ivy/ivy-2.0.0-rc2.jar
ivy/ivy-*.jar
ivy/maven-ant-tasks-*.jar
logs/
src/contrib/ec2/bin/hadoop-ec2-env.sh
src/docs/build

View File

@ -505,8 +505,8 @@ Release 0.21.0 - Unreleased
TestNameEditsConfig, TestStartup and TestStorageRestore.
(Jakob Homan via shv)
HADOOP-5438. Provide a single FileSystem method to create or open-for-append
to a file. (He Yongqiang via dhruba)
HADOOP-5438. Provide a single FileSystem method to create or
open-for-append to a file. (He Yongqiang via dhruba)
HADOOP-5472. Change DistCp to support globbing of input paths. (Dhruba
Borthakur and Rodrigo Schmidt via szetszwo)
@ -579,7 +579,8 @@ Release 0.21.0 - Unreleased
HADOOP-6160. Fix releaseaudit target to run on specific directories.
(gkesavan)
HADOOP-6169. Removing deprecated method calls in TFile. (hong tang via mahadev)
HADOOP-6169. Removing deprecated method calls in TFile. (hong tang via
mahadev)
HADOOP-6176. Add a couple package private methods to AccessTokenHandler
for testing. (Kan Zhang via szetszwo)
@ -628,6 +629,9 @@ Release 0.21.0 - Unreleased
HADOOP-6329. Add build-fi directory to the ignore lists. (szetszwo)
HADOOP-5107. Use Maven ant tasks to publish the subproject jars.
(Giridharan Kesavan via omalley)
OPTIMIZATIONS
HADOOP-5595. NameNode does not need to run a replicator to choose a

205
build.xml
View File

@ -18,7 +18,8 @@
-->
<project name="Hadoop-Core" default="compile"
xmlns:ivy="antlib:org.apache.ivy.ant">
xmlns:ivy="antlib:org.apache.ivy.ant"
xmlns:artifact="urn:maven-artifact-ant">
<!-- Load all the default properties, and any the user wants -->
<!-- to contribute (without having to type -D or edit this file -->
@ -27,7 +28,7 @@
<property name="Name" value="Hadoop-core"/>
<property name="name" value="hadoop-core"/>
<property name="version" value="0.22.0-dev"/>
<property name="version" value="0.22.0-SNAPSHOT"/>
<property name="final.name" value="${name}-${version}"/>
<property name="test.final.name" value="${name}-test-${version}"/>
<property name="year" value="2009"/>
@ -123,10 +124,16 @@
<!-- IVY properteis set here -->
<property name="ivy.repo.dir" value="${user.home}/ivyrepo" />
<property name="ivy.dir" location="ivy" />
<loadproperties srcfile="${ivy.dir}/libraries.properties"/>
<property name="asfrepo" value="https://repository.apache.org/content/repositories/snapshots"/>
<property name="mvnrepo" value="http://repo2.maven.org/maven2"/>
<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="ant_task.jar" location="${ivy.dir}/maven-ant-tasks-${ant-task.version}.jar"/>
<property name="ant_task_repo_url"
value="${mvnrepo}/org/apache/maven/maven-ant-tasks/${ant-task.version}/maven-ant-tasks-${ant-task.version}.jar"/>
<property name="ivy_repo_url" value="${mvnrepo}/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" />
@ -134,17 +141,20 @@
<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-${version}.pom" />
<property name="build.ivy.maven.jar" location="${build.ivy.maven.dir}/hadoop-core-${version}.jar" />
<property name="build.ivy.report.dir" location="${build.ivy.dir}/report"/>
<property name="build.ivy.maven.dir" location="${build.ivy.dir}/maven"/>
<property name="pom.xml" location="${build.ivy.maven.dir}/pom.xml"/>
<property name="hadoop-core.pom" location="${ivy.dir}/hadoop-core.xml"/>
<property name="build.ivy.maven.core.jar" location="${build.ivy.maven.dir}/hadoop-core-${version}.jar"/>
<property name="hadoop-core-test.pom" location="${ivy.dir}/hadoop-core-test.xml" />
<property name="build.ivy.maven.core-test.jar" location="${build.ivy.maven.dir}/hadoop-core-test-${version}.jar"/>
<!--this is the naming policy for artifacts we want pulled down-->
<property name="ivy.module" location="hadoop-core" />
<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-core-[revision].[ext]"/>
<property name="ivy.publish.pattern" value="[artifact]-[revision].[ext]"/>
<property name="hadoop-core.jar" location="${build.dir}/${final.name}.jar" />
<property name="hadoop-core-test.jar" location="${build.dir}/${test.final.name}.jar" />
@ -365,7 +375,7 @@
</target>
<target name="compile-contrib" depends="compile-core">
<subant target="compile">
<subant target="compile" inheritall="true">
<property name="version" value="${version}"/>
<fileset file="${contrib.dir}/build.xml"/>
</subant>
@ -647,7 +657,7 @@
</target>
<target name="test-contrib" depends="compile, compile-core-test" description="Run contrib unit tests">
<subant target="test">
<subant target="test" inheritall="true">
<property name="version" value="${version}"/>
<property name="clover.jar" value="${clover.jar}"/>
<fileset file="${contrib.dir}/build.xml"/>
@ -664,7 +674,7 @@
</target>
<target name="test" depends="jar-test,test-core" description="Run all unit tests">
<subant target="test-contrib">
<subant target="test-contrib" inheritall="true">
<fileset dir="." includes="build.xml"/>
</subant>
</target>
@ -683,7 +693,8 @@
<!-- ================================================================== -->
<!-- Run optional third-party tool targets -->
<!-- ================================================================== -->
<target name="checkstyle" depends="ivy-retrieve-checkstyle,check-for-checkstyle" if="checkstyle.present" description="Run optional third-party tool targets">
<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>
@ -751,7 +762,8 @@
<!-- Documentation -->
<!-- ================================================================== -->
<target name="docs" depends="forrest.check" description="Generate forrest-based documentation. To use, specify -Dforrest.home=&lt;base of Apache Forrest installation&gt; on the command line." if="forrest.home">
<target name="docs" depends="forrest.check" description="Generate forrest-based documentation.
To use, specify -Dforrest.home=&lt;base of Apache Forrest installation&gt; on the command line." if="forrest.home">
<exec dir="${docs.src}" executable="${forrest.home}/bin/forrest"
failonerror="true">
<env key="JAVA_HOME" value="${java5.home}"/>
@ -766,8 +778,8 @@
<antcall target="cn-docs"/>
</target>
<target name="cn-docs" depends="forrest.check, init"
description="Generate forrest-based Chinese documentation. To use, specify -Dforrest.home=&lt;base of Apache Forrest installation&gt; on the command line."
<target name="cn-docs" depends="forrest.check, init" description="Generate forrest-based Chinese documentation.
To use, specify -Dforrest.home=&lt;base of Apache Forrest installation&gt; on the command line."
if="forrest.home">
<exec dir="${src.docs.cn}" executable="${forrest.home}/bin/forrest" failonerror="true">
<env key="LANG" value="en_US.utf8"/>
@ -782,11 +794,13 @@
</target>
<target name="forrest.check" unless="forrest.home" depends="java5.check">
<fail message="'forrest.home' is not defined. Please pass -Dforrest.home=&lt;base of Apache Forrest installation&gt; to Ant on the command-line." />
<fail message="'forrest.home' is not defined. Please pass
-Dforrest.home=&lt;base of Apache Forrest installation&gt; to Ant on the command-line." />
</target>
<target name="java5.check" unless="java5.home">
<fail message="'java5.home' is not defined. Forrest requires Java 5. Please pass -Djava5.home=&lt;base of Java 5 distribution&gt; to Ant on the command-line." />
<fail message="'java5.home' is not defined. Forrest requires Java 5.
Please pass -Djava5.home=&lt;base of Java 5 distribution&gt; to Ant on the command-line." />
</target>
<target name="javadoc-dev" depends="compile, ivy-retrieve-javadoc" description="Generate javadoc for hadoop developers">
@ -801,8 +815,7 @@
windowtitle="${Name} ${version} API"
doctitle="${Name} ${version} Developer API"
bottom="Copyright &amp;copy; ${year} The Apache Software Foundation"
maxmemory="${javadoc.maxmemory}"
>
maxmemory="${javadoc.maxmemory}">
<packageset dir="${java.src.dir}"/>
<packageset dir="src/contrib/failmon/src/java/"/>
@ -847,8 +860,7 @@
windowtitle="${Name} ${version} API"
doctitle="${Name} ${version} API"
bottom="Copyright &amp;copy; ${year} The Apache Software Foundation"
maxmemory="${javadoc.maxmemory}"
>
maxmemory="${javadoc.maxmemory}">
<packageset dir="${java.src.dir}"/>
<packageset dir="src/contrib/failmon/src/java/"/>
@ -957,7 +969,7 @@
<arg line="${native.src.dir}/packageNativeHadoop.sh"/>
</exec>
<subant target="package">
<subant target="package" inheritall="true">
<!--Pass down the version in case its needed again and the target
distribution directory so contribs know where to install to.-->
<property name="version" value="${version}"/>
@ -1057,7 +1069,7 @@
<arg line="${native.src.dir}/packageNativeHadoop.sh"/>
</exec>
<subant target="package">
<subant target="package" inheritall="true">
<!--Pass down the version in case its needed again and the target
distribution directory so contribs know where to install to.-->
<property name="version" value="${version}"/>
@ -1112,6 +1124,60 @@
</macro_tar>
</target>
<target name="ant-task-download" description="To download mvn-ant-task" unless="offline">
<get src="${ant_task_repo_url}" dest="${ant_task.jar}" usetimestamp="true"/>
</target>
<target name="mvn-taskdef" depends="ant-task-download">
<path id="mvn-ant-task.classpath" path="${ant_task.jar}"/>
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="urn:maven-artifact-ant"
classpathref="mvn-ant-task.classpath"/>
</target>
<target name="mvn-install" depends="mvn-taskdef,jar,jar-test,set-version"
description="To install hadoop core and test jars to local filesystem's m2 cache">
<artifact:pom file="${hadoop-core.pom}" id="hadoop.core"/>
<artifact:pom file="${hadoop-core-test.pom}" id="hadoop.core.test"/>
<artifact:install file="${hadoop-core.jar}">
<pom refid="hadoop.core"/>
</artifact:install>
<artifact:install file="${hadoop-core-test.jar}">
<pom refid="hadoop.core.test"/>
</artifact:install>
</target>
<target name="mvn-deploy" depends="mvn-taskdef, jar, jar-test, set-version"
description="To deploy hadoop core and test jar's to apache snapshot's repository">
<artifact:pom file="${hadoop-core.pom}" id="hadoop.core"/>
<artifact:pom file="${hadoop-core-test.pom}" id="hadoop.core.test"/>
<artifact:install-provider artifactId="wagon-http" version="1.0-beta-2"/>
<artifact:deploy file="${hadoop-core.jar}">
<remoteRepository id="apache.snapshots.https" url="${asfrepo}"/>
<pom refid="hadoop.core"/>
</artifact:deploy>
<artifact:deploy file="${hadoop-core-test.jar}">
<remoteRepository id="apache.snapshots.https" url="${asfrepo}"/>
<pom refid="hadoop.core.test"/>
</artifact:deploy>
</target>
<target name="set-version">
<delete file="${basedir}/ivy/hadoop-core.xml"/>
<delete file="${basedir}/ivy/hadoop-core-test.xml"/>
<copy file="${basedir}/ivy/hadoop-core-template.xml" tofile="${basedir}/ivy/hadoop-core.xml"/>
<copy file="${basedir}/ivy/hadoop-core-test-template.xml" tofile="${basedir}/ivy/hadoop-core-test.xml"/>
<replaceregexp byline="true">
<regexp pattern="@version"/>
<substitution expression="${version}"/>
<fileset dir="${basedir}/ivy">
<include name="hadoop-core.xml"/>
<include name="hadoop-core-test.xml"/>
</fileset>
</replaceregexp>
</target>
<!-- ================================================================== -->
<!-- Perform audit activities for the release -->
<!-- ================================================================== -->
@ -1140,21 +1206,29 @@
<!-- ================================================================== -->
<target name="clean" depends="clean-contrib, clean-fi" description="Clean. Delete the build files, and their directories">
<delete dir="${build.dir}"/>
<delete file="${basedir}/ivy/hadoop-core.xml"/>
<delete file="${basedir}/ivy/hadoop-core-test.xml"/>
<delete dir="${docs.src}/build"/>
<delete dir="${src.docs.cn}/build"/>
</target>
<target name="veryclean" depends="clean" description="Delete mvn ant task jar and ivy ant taks jar">
<delete file="${ant_task.jar}"/>
<delete file="${ivy.jar}"/>
</target>
<!-- ================================================================== -->
<!-- Clean contrib target. For now, must be called explicitly -->
<!-- Using subant instead of ant as a workaround for 30569 -->
<!-- ================================================================== -->
<target name="clean-contrib">
<subant target="clean">
<subant target="clean" inheritall="true">
<fileset file="src/contrib/build.xml"/>
</subant>
</target>
<target name="clover" depends="clover.setup, clover.info" description="Instrument the Unit tests using Clover. To use, specify -Dclover.home=&lt;base of clover installation&gt; -Drun.clover=true on the command line."/>
<target name="clover" depends="clover.setup, clover.info" description="Instrument the Unit tests using Clover.
To use, specify -Dclover.home=&lt;base of clover installation&gt; -Drun.clover=true on the command line."/>
<target name="clover.setup" if="clover.enabled">
<taskdef resource="cloverlib.xml" classpath="${clover.jar}"/>
@ -1304,7 +1378,9 @@
<!--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'/>
<ivy:configure settingsid="${ant.project.name}.ivy.settings" file="${ivysettings.xml}" override='false'
realm="Sonatype Nexus Repository Manager"/>
</target>
<target name="ivy-resolve" depends="ivy-init">
@ -1319,10 +1395,6 @@
<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>
@ -1353,7 +1425,7 @@
</target>
<target name="ivy-retrieve-jdiff" depends="ivy-resolve-jdiff"
description="Retrieve Ivy-managed artifacts for the javadoc configurations">
description="Retrieve Ivy-managed artifacts for the jdiff 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"/>
@ -1366,13 +1438,6 @@
<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.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"
@ -1402,68 +1467,4 @@
</echo>
</target>
<target name="assert-hadoop-jar-exists" depends="ivy-init">
<fail>
<condition >
<not>
<available file="${hadoop-core.jar}" />
</not>
</condition>
Not found: ${hadoop-core.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="${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-core.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>

16
ivy.xml
View File

@ -28,7 +28,7 @@
<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"/>
extends="client,server,s3-server,kfs,mandatory,jetty,ftp"/>
<conf name="mandatory" description="contains the critical dependencies"
extends="commons-logging,log4j"/>
@ -50,18 +50,15 @@
extends="mandatory"/>
<conf name="jetty" description="Jetty provides the in-VM HTTP daemon" extends="commons-logging"/>
<conf name="common" extends="runtime,mandatory,httpclient,ftp,jetty"
description="common artifacts"/>
<!--Testing pulls in everything-->
<conf name="test" extends="master,common" description="the classpath needed to run tests"/>
<!--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,s3-server,kfs" visibility="private"
description="the classpath needed to run tests"/>
<conf name="test-hdfswithmr" extends="test" visibility="private"
description="the classpath needed to run tests"/>
<conf name="releaseaudit" visibility="private"
description="Artifacts required for releaseaudit target"/>
@ -296,5 +293,4 @@
conf="common->default">
</dependency>
</dependencies>
</ivy-module>

View File

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<packaging>jar</packaging>
<version>@version</version>
<dependencies>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>xmlenc</groupId>
<artifactId>xmlenc</artifactId>
<version>0.52</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-runtime</artifactId>
<version>5.5.12</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler</artifactId>
<version>5.5.12</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-api-2.1</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-2.1</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>commons-el</groupId>
<artifactId>commons-el</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>net.java.dev.jets3t</groupId>
<artifactId>jets3t</artifactId>
<version>0.7.1</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api-2.5</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>net.sf.kosmosfs</groupId>
<artifactId>kfs</artifactId>
<version>0.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
</dependency>
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.10</version>
</dependency>
<dependency>
<groupId>oro</groupId>
<artifactId>oro</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>avro</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core-test</artifactId>
<packaging>jar</packaging>
<version>@version</version>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>@version</version>
</dependency>
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftplet-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.0.0-M5</version>
</dependency>
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftpserver-core</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftpserver-deprecated</artifactId>
<version>1.0.0-M2</version>
</dependency>
</dependencies>
</project>

53
ivy/hadoop-core-test.xml Normal file
View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core-test</artifactId>
<packaging>jar</packaging>
<version>0.22.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>0.22.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftplet-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.0.0-M5</version>
</dependency>
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftpserver-core</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftpserver-deprecated</artifactId>
<version>1.0.0-M2</version>
</dependency>
</dependencies>
</project>

127
ivy/hadoop-core.xml Normal file
View File

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<packaging>jar</packaging>
<version>0.22.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>xmlenc</groupId>
<artifactId>xmlenc</artifactId>
<version>0.52</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-runtime</artifactId>
<version>5.5.12</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler</artifactId>
<version>5.5.12</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-api-2.1</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-2.1</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>commons-el</groupId>
<artifactId>commons-el</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>net.java.dev.jets3t</groupId>
<artifactId>jets3t</artifactId>
<version>0.7.1</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api-2.5</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>net.sf.kosmosfs</groupId>
<artifactId>kfs</artifactId>
<version>0.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
</dependency>
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.10</version>
</dependency>
<dependency>
<groupId>oro</groupId>
<artifactId>oro</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>avro</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>

View File

@ -1,5 +1,4 @@
<ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -17,65 +16,20 @@
limitations under the License.
-->
<!--
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"/>
<property name="repo.maven.org" value="http://repo1.maven.org/maven2/" 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"
/>
<!--ibiblio resolvers-->
<ibiblio name="maven2" root="${repo.maven.org}" 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="Hadoop.*" 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>

View File

@ -14,7 +14,8 @@
#It drives ivy and the generation of a maven POM
#These are the versions of our dependencies (in alphabetical order)
apacheant.version=1.7.0
apacheant.version=1.7.1
ant-task.version=2.0.10
avro.version=1.2.0
@ -41,8 +42,7 @@ ftpserver-deprecated.version=1.0.0-M2
hsqldb.version=1.8.0.10
#ivy.version=2.0.0-beta2
ivy.version=2.0.0-rc2
ivy.version=2.1.0-rc1
jackson.version=1.0.1