You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/01/10 03:13:16 UTC
svn commit: r897587 - in /hadoop/hbase/trunk: ./ ivy/ lib/ lib/jsp-2.1/
src/contrib/ src/contrib/stargate/ src/contrib/stargate/lib/
src/contrib/transactional/
Author: stack
Date: Sun Jan 10 02:13:13 2010
New Revision: 897587
URL: http://svn.apache.org/viewvc?rev=897587&view=rev
Log:
HBASE-1433 Update hbase build to match core, use ivy, publish jars to maven repo, etc.
Added:
hadoop/hbase/trunk/ivy/
hadoop/hbase/trunk/ivy-targets.xml
hadoop/hbase/trunk/ivy.xml
hadoop/hbase/trunk/ivy/ivy-2.1.0.jar (with props)
hadoop/hbase/trunk/ivy/ivysettings.xml
hadoop/hbase/trunk/ivy/libraries.properties
hadoop/hbase/trunk/src/contrib/stargate/ivy.xml
hadoop/hbase/trunk/src/contrib/transactional/ivy.xml
Removed:
hadoop/hbase/trunk/lib/avro-1.2.0.jar
hadoop/hbase/trunk/lib/commons-cli-2.0-SNAPSHOT.jar
hadoop/hbase/trunk/lib/commons-el-from-jetty-5.1.4.jar
hadoop/hbase/trunk/lib/commons-httpclient-3.0.1.jar
hadoop/hbase/trunk/lib/commons-logging-1.0.4.jar
hadoop/hbase/trunk/lib/commons-logging-api-1.0.4.jar
hadoop/hbase/trunk/lib/commons-math-1.1.jar
hadoop/hbase/trunk/lib/hadoop-core-0.21.0-SNAPSHOT-r832250.jar
hadoop/hbase/trunk/lib/hadoop-core-test-0.21.0-SNAPSHOT-r832250.jar
hadoop/hbase/trunk/lib/hadoop-hdfs-0.21.0-dev-r836012.jar
hadoop/hbase/trunk/lib/hadoop-hdfs-test-0.21.0-dev-r836012.jar
hadoop/hbase/trunk/lib/hadoop-mapred-0.21.0-dev-r833993.jar
hadoop/hbase/trunk/lib/hadoop-mapred-test-0.21.0-dev-r833993.jar
hadoop/hbase/trunk/lib/jasper-compiler-5.5.12.jar
hadoop/hbase/trunk/lib/jasper-runtime-5.5.12.jar
hadoop/hbase/trunk/lib/jetty-6.1.14.jar
hadoop/hbase/trunk/lib/jetty-util-6.1.14.jar
hadoop/hbase/trunk/lib/jruby-complete-1.3.1.jar
hadoop/hbase/trunk/lib/jruby-complete-LICENSE.txt
hadoop/hbase/trunk/lib/json.jar
hadoop/hbase/trunk/lib/jsp-2.1/
hadoop/hbase/trunk/lib/junit-4.7.jar
hadoop/hbase/trunk/lib/log4j-1.2.15.jar
hadoop/hbase/trunk/lib/lucene-core-2.2.0.jar
hadoop/hbase/trunk/lib/servlet-api-2.5-6.1.14.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/asm-3.1.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/commons-codec-1.3.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/jackson-asl-0.9.4.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/jaxb-impl-2.1.10.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/jersey-core-1.1.0-ea.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/jersey-json-1.1.0-ea.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/jersey-server-1.1.0-ea.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/jsr311-api-1.1.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/persistence-api-1.0.jar
hadoop/hbase/trunk/src/contrib/stargate/lib/protobuf-java-2.1.0.jar
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/build.xml
hadoop/hbase/trunk/src/contrib/build-contrib.xml
hadoop/hbase/trunk/src/contrib/stargate/build.xml
hadoop/hbase/trunk/src/contrib/transactional/build.xml
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=897587&r1=897586&r2=897587&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Sun Jan 10 02:13:13 2010
@@ -296,6 +296,8 @@
NEW FEATURES
HBASE-1901 "General" partitioner for "hbase-48" bulk (behind the api, write
hfiles direct) uploader
+ HBASE-1433 Update hbase build to match core, use ivy, publish jars to maven
+ repo, etc. (Kay Kay via Stack)
OPTIMIZATIONS
HBASE-410 [testing] Speed up the test suite
Modified: hadoop/hbase/trunk/build.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/build.xml?rev=897587&r1=897586&r2=897587&view=diff
==============================================================================
--- hadoop/hbase/trunk/build.xml (original)
+++ hadoop/hbase/trunk/build.xml Sun Jan 10 02:13:13 2010
@@ -88,6 +88,14 @@
</and>
</condition>
+ <property name="build.dir" location="${basedir}/build" />
+ <property name="lib.dir" value="${basedir}/lib"/>
+ <property name="build.ivy.dir" location="${build.dir}/ivy" />
+ <property name="hbase.root" location="." />
+ <property name="ivy.dir" location="${hbase.root}/ivy" />
+
+ <import file="${basedir}/ivy-targets.xml" />
+
<!--We need to have the hadoop jars ride in front of the hbase classes or we
get the below exceptions:
@@ -95,16 +103,19 @@
When we move off 0.16.0 hadoop, fix HttpStatusServer
-->
- <fileset id="lib.jars" dir="${basedir}" includes="lib/*.jar"/>
<path id="classpath">
- <fileset refid="lib.jars"/>
- <fileset dir="${lib.dir}/jsp-2.1/">
+ <fileset dir="${common.ivy.lib.dir}">
<include name="*jar" />
</fileset>
+ <fileset dir="${lib.dir}">
+ <include name="libthrift-*.jar" />
+ <include name="zookeeper*.jar" />
+ </fileset>
<pathelement location="${build.classes}"/>
<pathelement location="${conf.dir}"/>
</path>
+
<target name="init">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes}"/>
@@ -124,7 +135,10 @@
<!--Copy bin, lib, and conf. too-->
<mkdir dir="${build.lib}"/>
<copy todir="${build.lib}">
- <fileset dir="${lib.dir}" />
+ <fileset dir="${lib.dir}" >
+ <include name="zookeeper*" />
+ <include name="libthrift* "/>
+ </fileset>
</copy>
<mkdir dir="${build.conf}"/>
<copy todir="${build.conf}">
@@ -147,7 +161,7 @@
</exec>
</target>
- <target name="compile-core" depends="clover,init,jspc" description="Compile hbase core">
+ <target name="compile-core" depends="clover,init,ivy-retrieve-common,jspc" description="Compile hbase core">
<!--Compile whats under src and generated java classes made from jsp-->
<javac
encoding="${build.encoding}"
@@ -166,13 +180,13 @@
<subant target="compile">
<property name="version" value="${version}"/>
<fileset file="${contrib.dir}/build.xml"/>
- </subant>
+ </subant>
</target>
<target name="compile" depends="compile-core, compile-contrib"
description="Compile core, contrib">
</target>
-
+
<target name="jar" depends="compile"
description="Build jar">
<!--Copy over any properties under src-->
@@ -187,9 +201,9 @@
</fileset>
<zipfileset dir="conf" prefix="conf" includes="hbase-default.xml" />
<zipfileset dir="${build.webapps}" prefix="webapps"/>
- <manifest>
+ <manifest>
<attribute name="Main-Class" value="org/apache/hadoop/hbase/mapreduce/Driver" />
- </manifest>
+ </manifest>
</jar>
</target>
@@ -198,14 +212,13 @@
-->
<target name="jspc" depends="init" unless="jspc.not.required">
<path id="jspc.classpath">
- <fileset dir="${basedir}/lib/jsp-2.1/">
- <include name="*jar" />
- </fileset>
- <fileset dir="${basedir}/lib/">
+ <fileset dir="${common.ivy.lib.dir}">
<include name="servlet-api*jar" />
<include name="commons-logging*jar" />
<include name="jasper-*jar" />
<include name="jetty-*jar" />
+ <include name="jsp-*jar" />
+ <include name="commons-el*jar" />
</fileset>
</path>
<taskdef classname="org.apache.jasper.JspC" name="jspcompiler" >
@@ -290,7 +303,7 @@
<property name="version" value="${version}"/>
<property name="dist.dir" value="${dist.dir}"/>
<fileset file="${contrib.dir}/build.xml"/>
- </subant>
+ </subant>
<mkdir dir="${dist.dir}/webapps"/>
<copy todir="${dist.dir}/webapps">
<fileset dir="${build.webapps}" />
@@ -413,11 +426,11 @@
doctitle="${Name} ${version} API"
bottom="Copyright &copy; ${year} The Apache Software Foundation"
>
- <packageset dir="${src.dir}">
+ <packageset dir="${src.dir}">
<include name="org/apache/**"/>
<exclude name="org/onelab/**"/>
<exclude name="org/apache/hadoop/hbase/thrift/generated/**"/>
- </packageset>
+ </packageset>
<link href="${javadoc.link.java}"/>
<classpath >
<path refid="classpath" />
@@ -426,10 +439,10 @@
</fileset>
<pathelement path="${java.class.path}"/>
</classpath>
- <packageset dir="src/contrib/transactional/src/java"/>
- <packageset dir="src/contrib/stargate/src/java"/>
+ <packageset dir="src/contrib/transactional/src/java"/>
+ <packageset dir="src/contrib/stargate/src/java"/>
</javadoc>
- </target>
+ </target>
<!-- ================================================================== -->
<!-- Run unit tests -->
@@ -439,18 +452,26 @@
${src.test} *must* come before rest of class path. Otherwise
the test hbase-site.xml will not be found.
============ * * * * * N O T E * * * * * ============ -->
+
<pathelement location="${src.test}"/>
<pathelement location="${build.test}" />
- <path refid="classpath"/>
+ <path refid="classpath" />
+ <fileset dir="${test.ivy.lib.dir}">
+ <include name="*jar" />
+ </fileset>
<pathelement location="${build.dir}"/>
<pathelement path="${clover.jar}"/>
</path>
+
+ <target name="test.list">
+ <echo message="${toString:test.classpath}"/>
+ </target>
<!--'compile-test' used to depend on 'compile' but removed it. Hudson doesn't like
redoing init and jscpc at this stage of the game; i.e. the prereqs
for compile. TODO: Investigate why. For now, test will fail
if not preceeded by manual 'jar' or 'compile' invokation -->
- <target name="compile-core-test" depends="compile" description="Build test jar">
+ <target name="compile-core-test" depends="compile,ivy-retrieve-test" description="Build test jar">
<javac encoding="${build.encoding}"
srcdir="${src.test}"
includes="**/*.java"
@@ -472,8 +493,8 @@
</jar>
</target>
- <target name="test-core" depends="compile-core-test"
- description="Build test jar and run tests">
+ <target name="test-core" depends="compile-core-test,test.list"
+ description="Build test jar and run tests">
<delete dir="${test.log.dir}"/>
<mkdir dir="${test.log.dir}"/>
<junit
@@ -522,7 +543,7 @@
<target name="clean-contrib" description="Clean contrib">
<subant target="clean">
<fileset file="src/contrib/build.xml"/>
- </subant>
+ </subant>
</target>
<target name="clean" depends="clean-contrib" description="Clean all old builds">
<delete dir="${build.dir}"/>
Added: hadoop/hbase/trunk/ivy-targets.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/ivy-targets.xml?rev=897587&view=auto
==============================================================================
--- hadoop/hbase/trunk/ivy-targets.xml (added)
+++ hadoop/hbase/trunk/ivy-targets.xml Sun Jan 10 02:13:13 2010
@@ -0,0 +1,92 @@
+<project basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
+ <!-- IVY properteis set here -->
+ <property name="ivy.repo.dir" value="${user.home}/ivyrepo" />
+
+ <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="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.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}/common" />
+ <property name="test.ivy.lib.dir" location="${build.ivy.lib.dir}/test" />
+ <property name="build.ivy.report.dir" location="${build.ivy.dir}/report" />
+ <property name="build.ivy.maven.dir" location="${build.ivy.dir}/maven" />
+
+ <!--this is the naming policy for artifacts we want pulled down-->
+ <property name="ivy.module" location="hadoop-hbase" />
+ <property name="ivy.artifact.retrieve.pattern" value="[conf]/[artifact]-[revision].[ext]" />
+
+ <property name="ivyresolvelog" value="download-only"/>
+ <property name="ivyretrievelog" value="default"/>
+
+ <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}" />
+ <mkdir dir="${common.ivy.lib.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-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' realm="Sonatype Nexus Repository Manager" />
+
+ </target>
+
+ <target name="ivy-resolve-common" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="common" log="${ivyresolvelog}" />
+ </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}" log="${ivyretrievelog}" />
+ <ivy:cachepath pathid="ivy-common.classpath" conf="common" />
+ </target>
+
+ <target name="ivy-resolve-test" depends="ivy-init">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="test" log="${ivyresolvelog}" />
+ </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}" log="${ivyretrievelog}" />
+ <ivy:cachepath pathid="ivy-common.classpath" conf="test" />
+ </target>
+
+</project>
Added: hadoop/hbase/trunk/ivy.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/ivy.xml?rev=897587&view=auto
==============================================================================
--- hadoop/hbase/trunk/ivy.xml (added)
+++ hadoop/hbase/trunk/ivy.xml Sun Jan 10 02:13:13 2010
@@ -0,0 +1,118 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ivy-module version="1.0">
+ <info organisation="org.apache.hadoop" module="${ant.project.name}" revision="${version}">
+ <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,mandatory,jetty,ftp"/>
+
+ <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"/>
+
+ <conf name="common" extends="runtime,mandatory,httpclient,ftp,jetty"
+ description="common artifacts"/>
+ <!--Testing pulls in everything-->
+ <conf name="test" extends="master" description="the classpath needed to run tests"/>
+
+ <!--Private configurations. -->
+
+ <conf name="javadoc" visibility="private" description="artiracts required while performing doc generation"
+ extends="common,mandatory,jetty,lucene"/>
+
+ <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>
+ <!-- Common -->
+ <dependency org="org.apache.hadoop" name="hadoop-core"
+ rev="${hadoop-core.version}" conf="common->default">
+ <exclude conf="test"/>
+ </dependency>
+ <dependency org="org.apache.hadoop" name="hadoop-hdfs"
+ rev="${hadoop-hdfs.version}" conf="common->default">
+ <exclude conf="test"/>
+ </dependency>
+ <dependency org="org.apache.hadoop" name="hadoop-mapred"
+ rev="${hadoop-mapred.version}" conf="common->default">
+ <exclude conf="test"/>
+ </dependency>
+ <dependency org="org.apache.lucene" name="lucene-core"
+ rev="${lucene.version}" conf="common->default" />
+ <!--
+ TODO: Enter URL in ivysettings.xml that stores the artifacts of Zookeeper / thrift.
+
+ <dependency org="org.apache.hadoop.zookeeper" name="zookeeper"
+ rev="${zookeeper.version}" conf="common->default"/>
+ <dependency org="thrift" name="libthrift"
+ rev="${thrift.version}" conf="common->default" />
+ -->
+
+ <!-- Test -->
+ <dependency org="org.apache.hadoop" name="hadoop-core-test"
+ rev="${hadoop-core.version}" conf="test->default" transitive="false"/>
+ <dependency org="org.apache.hadoop" name="hadoop-hdfs-test"
+ rev="${hadoop-hdfs.version}" conf="test->default" transitive="false"/>
+ <dependency org="org.apache.hadoop" name="hadoop-mapred-test"
+ rev="${hadoop-mapred.version}" conf="test->default" transitive="false"/>
+ <dependency org="org.apache.commons" name="commons-math"
+ rev="${commons-math.version}" conf="test->default"/>
+ <dependency org="log4j" name="log4j"
+ rev="${log4j.version}" conf="test->master">
+ <exclude conf="jmx,mail,jms"/>
+ </dependency>
+ </dependencies>
+</ivy-module>
Added: hadoop/hbase/trunk/ivy/ivy-2.1.0.jar
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/ivy/ivy-2.1.0.jar?rev=897587&view=auto
==============================================================================
Binary file - no diff available.
Propchange: hadoop/hbase/trunk/ivy/ivy-2.1.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: hadoop/hbase/trunk/ivy/ivysettings.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/ivy/ivysettings.xml?rev=897587&view=auto
==============================================================================
--- hadoop/hbase/trunk/ivy/ivysettings.xml (added)
+++ hadoop/hbase/trunk/ivy/ivysettings.xml Sun Jan 10 02:13:13 2010
@@ -0,0 +1,52 @@
+<ivysettings>
+ <!--
+ 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.
+-->
+
+ <property name="repo.maven.org" value="http://repo1.maven.org/maven2/" override="false"/>
+ <property name="snapshot.apache.org" value="https://repository.apache.org/content/repositories/snapshots/" override="false"/>
+ <property name="download.java.net" value="http://download.java.net/maven/2/" />
+ <property name="googlecode.com" value="http://google-maven-repository.googlecode.com/svn/repository" />
+ <property name="maven2.pattern" value="[organisation]/[module]/[revision]/[module]-[revision]"/>
+ <property name="maven2.pattern.ext" value="${maven2.pattern}.[ext]"/>
+ <property name="repository.codehaus.org" value="http://repository.codehaus.org/" />
+
+ <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 resolvers-->
+ <ibiblio name="maven2" root="${repo.maven.org}" m2compatible="true"/>
+ <ibiblio name="apache-snapshot" root="${snapshot.apache.org}" m2compatible="true"
+ checkmodified="true" changingPattern=".*SNAPSHOT"/>
+ <ibiblio name="java-net" root="${download.java.net}" m2compatible="true" />
+ <ibiblio name="google-code" root="${googlecode.com}" m2compatible="true" />
+ <ibiblio name="codehaus" root="${repository.codehaus.org}" m2compatible="true" />
+
+ <chain name="default" dual="true">
+ <resolver ref="maven2"/>
+ <resolver ref="java-net" />
+ <resolver ref="google-code" />
+ <resolver ref="codehaus" />
+ <resolver ref="apache-snapshot" />
+ </chain>
+ </resolvers>
+
+</ivysettings>
+
Added: hadoop/hbase/trunk/ivy/libraries.properties
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/ivy/libraries.properties?rev=897587&view=auto
==============================================================================
--- hadoop/hbase/trunk/ivy/libraries.properties (added)
+++ hadoop/hbase/trunk/ivy/libraries.properties Sun Jan 10 02:13:13 2010
@@ -0,0 +1,47 @@
+# 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.
+
+#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
+
+#These are the versions of our dependencies (in alphabetical order)
+apacheant.version=1.7.1
+ant-task.version=2.0.10
+
+ivy.version=2.1.0
+
+hadoop-core.version=0.21.0-SNAPSHOT
+hadoop-hdfs.version=0.21.0-SNAPSHOT
+hadoop-mapred.version=0.21.0-SNAPSHOT
+
+zookeeper.version=3.2.2
+thrift.version=r771587
+
+lucene.version=2.2.0
+
+jsr311.version=1.1.1
+
+commons-cli.version=1.2
+
+commons-math.version=2.0
+log4j.version=1.2.15
+
+
+jersey.version=1.1.4.1
+
+protobuf.version=2.1.0
+
+
+jruby.version=1.3.1
+
+
+
Modified: hadoop/hbase/trunk/src/contrib/build-contrib.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/build-contrib.xml?rev=897587&r1=897586&r2=897587&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/contrib/build-contrib.xml (original)
+++ hadoop/hbase/trunk/src/contrib/build-contrib.xml Sun Jan 10 02:13:13 2010
@@ -23,18 +23,16 @@
<property name="version" value="0.20.0"/>
<property name="name" value="${ant.project.name}"/>
- <property name="root" value="${basedir}"/>
<!-- Load all the default properties, and any the user wants -->
<!-- to contribute (without having to type -D or edit this file -->
<property file="${user.home}/${name}.build.properties" />
- <property file="${root}/build.properties" />
+ <property file="${basedir}/build.properties" />
- <property name="hbase.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"/>
+ <property name="src.dir" location="${basedir}/src/java"/>
+ <property name="src.test" location="${basedir}/src/test"/>
+ <property name="src.examples" location="${basedir}/src/examples"/>
+ <property name="ivy.dir" location="${hbase.root}/ivy" />
<available file="${src.examples}" type="dir" property="examples.available"/>
<available file="${src.test}" type="dir" property="test.available"/>
@@ -43,18 +41,19 @@
<property name="test.junit.output.format" value="plain"/>
<property name="test.output" value="no"/>
<property name="test.timeout" value="900000"/>
+
<property name="build.dir" location="${hbase.root}/build/contrib/${name}"/>
<property name="dist.dir" location="${build.dir}/${name}-${version}"/>
<property name="build.classes" location="${build.dir}/classes"/>
<property name="build.test" location="${build.dir}/test"/>
<property name="build.examples" location="${build.dir}/examples"/>
- <property name="hbase.log.dir" location="${build.dir}/test/logs"/>
+ <property name="hbase.log.dir" location="${build.test}/logs"/>
<!-- all jars together -->
<property name="javac.deprecation" value="off"/>
<property name="javac.debug" value="on"/>
<property name="javadoc.link"
- value="http://java.sun.com/j2se/1.4/docs/api/"/>
+ value="http://java.sun.com/j2se/1.6/docs/api/"/>
<property name="build.encoding" value="ISO-8859-1"/>
@@ -71,27 +70,35 @@
<isset property="clover.present"/>
</and>
</condition>
-
- <fileset id="lib.jars" dir="${root}" includes="lib/*.jar"/>
+ <import file="../../ivy-targets.xml" />
+
<!-- the normal classpath -->
- <path id="classpath">
- <pathelement location="${build.classes}"/>
- <fileset refid="lib.jars"/>
- <pathelement location="${hbase.root}/build/classes"/>
+ <path id="contrib.classpath">
+ <pathelement location="${build.classes}"/>
+
+ <fileset dir="${common.ivy.lib.dir}">
+ <include name="*jar" />
+ </fileset>
+ <pathelement location="${hbase.root}/build/classes" />
<fileset dir="${hbase.root}/lib">
- <include name="**/*.jar" />
+ <include name="libthrift-*.jar" />
+ <include name="zookeeper*.jar" />
</fileset>
</path>
<!-- the unit test classpath -->
- <path id="test.classpath">
- <path refid="classpath"/>
- <pathelement location="${build.test}" />
+ <path id="test.contrib.classpath">
+ <path refid="contrib.classpath"/>
+ <fileset dir="${test.ivy.lib.dir}">
+ <include name="*jar" />
+ </fileset>
+ <pathelement location="${build.test}" />
<pathelement location="${hbase.root}/build/test"/>
<pathelement location="${hbase.root}/build"/>
<pathelement location="${hbase.root}/src/test"/>
- <pathelement location="${conf.dir}"/>
+ <pathelement location="${conf.dir}" />
+
<pathelement path="${clover.jar}"/>
</path>
@@ -117,7 +124,7 @@
<!-- ====================================================== -->
<!-- Compile a hbase contrib's files -->
<!-- ====================================================== -->
- <target name="compile" depends="clover,init" unless="skip.contrib">
+ <target name="compile" depends="clover,init,ivy-retrieve-common" unless="skip.contrib">
<echo message="contrib: ${name}"/>
<javac
encoding="${build.encoding}"
@@ -150,7 +157,7 @@
<!-- ================================================================== -->
<!-- Compile test code -->
<!-- ================================================================== -->
- <target name="compile-test" depends="compile-examples" if="test.available">
+ <target name="compile-test" depends="compile-examples,ivy-retrieve-test" if="test.available">
<echo message="contrib: ${name}"/>
<javac
encoding="${build.encoding}"
Modified: hadoop/hbase/trunk/src/contrib/stargate/build.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/stargate/build.xml?rev=897587&r1=897586&r2=897587&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/contrib/stargate/build.xml (original)
+++ hadoop/hbase/trunk/src/contrib/stargate/build.xml Sun Jan 10 02:13:13 2010
@@ -1,6 +1,6 @@
<project name="stargate" default="package" basedir=".">
- <import file="../build-contrib.xml"/>
-
+ <property name="hbase.root" location="../../.." />
+
<import file="../build-contrib.xml"/>
<property name="build.war.classes" location="${build.dir}/warClasses"/>
@@ -14,6 +14,14 @@
<property name="javac.debug" value="on"/>
<property name="javac.source" value="1.6"/>
+ <path id="classpath">
+ <path refid="contrib.classpath"/>
+ </path>
+
+ <path id="test.classpath">
+ <path refid="test.contrib.classpath"/>
+ </path>
+
<target name="init-contrib">
<tstamp/>
<mkdir dir="${build.war.classes}"/>
@@ -25,7 +33,7 @@
</javadoc>
</target>
- <target name="compile" depends="compile-jar, compile-war">
+ <target name="compile" depends="ivy-retrieve-common, compile-jar, compile-war">
<echo message="contrib: ${name}"/>
</target>
@@ -42,7 +50,7 @@
</javac>
</target>
- <target name="compile-test" depends="compile-jar,compile-war">
+ <target name="compile-test" depends="ivy-retrieve-test, compile-jar,compile-war">
<javac srcdir="${src.test}" includes="**/*.java" destdir="${build.test}" debug="${javac.debug}" source="1.6">
<classpath refid="test.classpath"/>
</javac>
@@ -56,11 +64,11 @@
<sysproperty key="test.log.dir" value="${hadoop.log.dir}"/>
<classpath refid="test.classpath"/>
<formatter type="${test.junit.output.format}"/>
- <batchtest todir="${build.test}" unless="testcase">
- <fileset dir="${src.test}" includes="**/Test*.java"/>
+ <batchtest todir="${build.test}" unless="testcase" >
+ <fileset dir="${src.test}" includes="**/Test*.java" />
</batchtest>
- <batchtest todir="${build.test}" if="testcase">
- <fileset dir="${src.test}" includes="**/${testcase}.java"/>
+ <batchtest todir="${build.test}" if="testcase" >
+ <fileset dir="${src.test}" includes="**/Test*.java" />
</batchtest>
</junit>
<fail if="tests.failed">
Added: hadoop/hbase/trunk/src/contrib/stargate/ivy.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/stargate/ivy.xml?rev=897587&view=auto
==============================================================================
--- hadoop/hbase/trunk/src/contrib/stargate/ivy.xml (added)
+++ hadoop/hbase/trunk/src/contrib/stargate/ivy.xml Sun Jan 10 02:13:13 2010
@@ -0,0 +1,128 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ivy-module version="1.0">
+ <info organisation="org.apache.hadoop" module="${ant.project.name}" revision="${version}">
+ <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,mandatory,jetty,ftp"/>
+
+ <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"/>
+
+ <conf name="common" extends="runtime,mandatory,httpclient,ftp,jetty"
+ description="common artifacts"/>
+ <!--Testing pulls in everything-->
+ <conf name="test" extends="master" description="the classpath needed to run tests"/>
+
+ <!--Private configurations. -->
+
+ <conf name="javadoc" visibility="private" description="artifacts required while performing doc generation"
+ extends="common,mandatory,jetty,lucene"/>
+
+ <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>
+ <!-- Common -->
+ <dependency org="javax.ws.rs" name="jsr311-api"
+ rev="${jsr311.version}" conf="common->default"/>
+ <dependency org="commons-cli" name="commons-cli"
+ rev="${commons-cli.version}" conf="client->default"/>
+ <dependency org="com.sun.jersey" name="jersey-server"
+ rev="${jersey.version}" conf="common->default" />
+ <dependency org="com.sun.jersey" name="jersey-json"
+ rev="${jersey.version}" conf="common->default" />
+
+ <dependency org="org.apache.hadoop" name="hadoop-core"
+ rev="${hadoop-core.version}" conf="common->default" >
+ <exclude conf="test"/>
+ </dependency>
+ <dependency org="org.apache.hadoop" name="hadoop-hdfs"
+ rev="${hadoop-hdfs.version}" conf="common->default">
+ <exclude conf="test"/>
+ </dependency>
+ <dependency org="org.apache.hadoop" name="hadoop-mapred"
+ rev="${hadoop-mapred.version}" conf="common->default">
+ <exclude conf="test"/>
+ </dependency>
+
+ <dependency org="com.google.protobuf" name="protobuf-java"
+ rev="${protobuf.version}" conf="common->default"/>
+ <dependency org="org.jruby" name="jruby-complete"
+ rev="${jruby.version}" conf="common->default" />
+ <!--
+ TODO: Enter URL in ivysettings.xml that stores the artifacts of zookeeper
+
+ <dependency org="org.apache.hadoop.zookeeper" name="zookeeper"
+ rev="${zookeeper.version}" conf="common->default"/>
+ -->
+
+ <!-- Test -->
+ <dependency org="org.apache.hadoop" name="hadoop-core-test"
+ rev="${hadoop-core.version}" conf="test->default" transitive="false" />
+ <dependency org="org.apache.hadoop" name="hadoop-hdfs-test"
+ rev="${hadoop-hdfs.version}" conf="test->default" transitive="false" />
+ <dependency org="org.apache.hadoop" name="hadoop-mapred-test"
+ rev="${hadoop-mapred.version}" conf="test->default" transitive="false" />
+
+ <dependency org="log4j" name="log4j"
+ rev="${log4j.version}" conf="test->master">
+ <exclude conf="jmx,mail,jms"/>
+ </dependency>
+
+ </dependencies>
+</ivy-module>
Modified: hadoop/hbase/trunk/src/contrib/transactional/build.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/transactional/build.xml?rev=897587&r1=897586&r2=897587&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/contrib/transactional/build.xml (original)
+++ hadoop/hbase/trunk/src/contrib/transactional/build.xml Sun Jan 10 02:13:13 2010
@@ -21,8 +21,23 @@
Before you can run these subtargets directly, you need
to call at top-level: ant deploy-contrib compile-core-test
-->
-<project name="transactional" default="jar">
+<project name="transactional" default="jar" basedir=".">
+ <property name="hbase.root" location="../../.." />
+
<import file="../build-contrib.xml"/>
+
+ <path id="classpath">
+ <path refid="contrib.classpath"/>
+ </path>
+
+ <path id="test.classpath">
+ <path refid="test.contrib.classpath"/>
+ <fileset dir="${hbase.root}/lib">
+ <include name="zookeeper*.jar" />
+ </fileset>
+ </path>
+
+
<!-- ====================================================== -->
<!-- Override standard contrib package target to include
IndexedTable.rb in the same directory as the jar -->
@@ -33,8 +48,8 @@
<fileset dir="${build.dir}">
<include name="hbase-${version}-${name}.jar" />
</fileset>
- <fileset dir="${root}/bin">
- <include name="TableIndexed.rb" />
+ <fileset dir="${basedir}/bin">
+ <include name="TableIndexed.rb" />
</fileset>
</copy>
</target>
Added: hadoop/hbase/trunk/src/contrib/transactional/ivy.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/transactional/ivy.xml?rev=897587&view=auto
==============================================================================
--- hadoop/hbase/trunk/src/contrib/transactional/ivy.xml (added)
+++ hadoop/hbase/trunk/src/contrib/transactional/ivy.xml Sun Jan 10 02:13:13 2010
@@ -0,0 +1,107 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ivy-module version="1.0">
+ <info organisation="org.apache.hadoop" module="${ant.project.name}" revision="${version}">
+ <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,mandatory,jetty,ftp"/>
+
+ <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"/>
+
+ <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="javadoc" visibility="private" description="artifacts required while performing doc generation"
+ extends="common,mandatory,jetty,lucene"/>
+
+ <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>
+ <!-- Common -->
+ <dependency org="org.apache.hadoop" name="hadoop-core"
+ rev="${hadoop-core.version}" conf="common->default" >
+ <exclude conf="test"/>
+ </dependency>
+ <dependency org="org.apache.hadoop" name="hadoop-hdfs"
+ rev="${hadoop-hdfs.version}" conf="common->default" >
+ <exclude conf="test"/>
+ </dependency>
+ <dependency org="org.jruby" name="jruby-complete"
+ rev="${jruby.version}" conf="common->default" />
+
+ <!-- Test -->
+ <!--
+ Test Zookeeper cluster
+ <dependency org="org.apache.hadoop" name="hadoop-mapred-test"
+ rev="${hadoop-mapred.version}" conf="test->default"/>
+ -->
+ <dependency org="org.apache.hadoop" name="hadoop-core-test"
+ rev="${hadoop-core.version}" conf="test->default" transitive="false" />
+ <dependency org="org.apache.hadoop" name="hadoop-hdfs-test"
+ rev="${hadoop-hdfs.version}" conf="test->default" transitive="false"/>
+ <dependency org="log4j" name="log4j"
+ rev="${log4j.version}" conf="test->master">
+ <exclude conf="jmx,mail,jms"/>
+ </dependency>
+ </dependencies>
+</ivy-module>