2007-04-03 16:34:28 -04:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
|
2007-07-12 18:08:25 -04:00
|
|
|
<!--
|
2008-01-30 01:51:01 -05:00
|
|
|
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.
|
2007-07-12 18:08:25 -04:00
|
|
|
-->
|
2008-01-30 01:51:01 -05:00
|
|
|
|
2007-04-03 16:34:28 -04:00
|
|
|
<project name="hbase" default="jar">
|
2008-02-04 16:48:13 -05:00
|
|
|
<!-- 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="${basedir}/build.properties" />
|
2007-04-03 16:34:28 -04:00
|
|
|
|
2008-02-04 16:48:13 -05:00
|
|
|
<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="src.webapps" location="${basedir}/src/webapps"/>
|
|
|
|
|
|
|
|
<property name="test.output" value="no"/>
|
|
|
|
<property name="test.timeout" value="900000"/>
|
|
|
|
|
|
|
|
<property name="build.dir" location="${basedir}/build"/>
|
|
|
|
<property name="build.bin" location="${build.dir}/bin"/>
|
|
|
|
<property name="build.conf" location="${build.dir}/conf"/>
|
|
|
|
<property name="build.webapps" location="${build.dir}/webpps"/>
|
|
|
|
<property name="build.lib" location="${build.dir}/lib"/>
|
|
|
|
<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="test.build.dir" value="${build.dir}/test"/>
|
|
|
|
<property name="test.log.dir" value="${test.build.dir}/logs"/>
|
|
|
|
<property name="test.junit.output.format" value="plain"/>
|
|
|
|
|
|
|
|
<!-- 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.5.0/docs/api/"/>
|
|
|
|
|
|
|
|
<property name="build.encoding" value="ISO-8859-1"/>
|
|
|
|
|
|
|
|
<!-- the normal classpath -->
|
|
|
|
<fileset id="lib.jars" dir="${basedir}" includes="lib/*.jar"/>
|
|
|
|
|
|
|
|
<path id="classpath">
|
|
|
|
<pathelement location="${build.classes}"/>
|
|
|
|
<fileset refid="lib.jars"/>
|
|
|
|
<fileset dir="${basedir}/lib/jetty-ext/">
|
|
|
|
<include name="*jar" />
|
|
|
|
</fileset>
|
|
|
|
</path>
|
2007-10-05 23:09:50 -04:00
|
|
|
|
|
|
|
<target name="init">
|
2008-02-04 16:48:13 -05:00
|
|
|
<mkdir dir="${build.dir}"/>
|
|
|
|
<mkdir dir="${build.classes}"/>
|
|
|
|
<mkdir dir="${build.test}"/>
|
|
|
|
<mkdir dir="${build.examples}"/>
|
|
|
|
|
2007-10-05 23:09:50 -04:00
|
|
|
<!--Version is set only if called from hadoop build.xml. Set a default-->
|
2008-02-04 16:48:13 -05:00
|
|
|
<condition property="version" value="0.1.0-dev">
|
2007-10-05 23:09:50 -04:00
|
|
|
<not>
|
|
|
|
<isset property="version" />
|
|
|
|
</not>
|
|
|
|
</condition>
|
|
|
|
<!--Copy webapps over to build dir. Exclude jsp and generated-src java
|
|
|
|
classes -->
|
|
|
|
<mkdir dir="${build.webapps}"/>
|
|
|
|
<copy todir="${build.webapps}">
|
|
|
|
<fileset dir="${src.webapps}">
|
|
|
|
<exclude name="**/*.jsp" />
|
|
|
|
<exclude name="**/.*" />
|
|
|
|
<exclude name="**/*~" />
|
|
|
|
</fileset>
|
|
|
|
</copy>
|
2007-10-26 12:16:53 -04:00
|
|
|
<!--Copy bin, lib, and conf. too-->
|
|
|
|
<mkdir dir="${build.lib}"/>
|
|
|
|
<copy todir="${build.lib}">
|
|
|
|
<fileset dir="${basedir}/lib" />
|
|
|
|
</copy>
|
|
|
|
<mkdir dir="${build.conf}"/>
|
|
|
|
<copy todir="${build.conf}">
|
|
|
|
<fileset dir="${basedir}/conf" />
|
|
|
|
</copy>
|
|
|
|
<mkdir dir="${build.bin}"/>
|
|
|
|
<copy todir="${build.bin}">
|
|
|
|
<fileset dir="${basedir}/bin" />
|
|
|
|
</copy>
|
|
|
|
<chmod perm="ugo+x" type="file">
|
|
|
|
<fileset dir="${build.bin}" />
|
|
|
|
</chmod>
|
2007-10-05 23:09:50 -04:00
|
|
|
</target>
|
|
|
|
|
|
|
|
<target name="javacc" if="javacc.home">
|
2008-02-04 16:48:13 -05:00
|
|
|
<echo message="javacc.home: ${javacc.home}"/>
|
|
|
|
<property name="hql.src.dir"
|
2008-01-15 00:14:34 -05:00
|
|
|
value="${src.dir}/org/apache/hadoop/hbase/hql" />
|
|
|
|
<mkdir dir="${hql.src.dir}/generated" />
|
2007-10-05 23:09:50 -04:00
|
|
|
<javacc
|
2008-01-15 00:14:34 -05:00
|
|
|
target="${hql.src.dir}/HQLParser.jj"
|
|
|
|
outputdirectory="${hql.src.dir}/generated"
|
2007-10-05 23:09:50 -04:00
|
|
|
javacchome="${javacc.home}"
|
|
|
|
/>
|
|
|
|
</target>
|
2007-07-11 17:54:15 -04:00
|
|
|
|
2007-10-05 23:09:50 -04:00
|
|
|
<target name="compile" depends="init,javacc">
|
|
|
|
<!--Compile whats under src and generated java classes made from jsp-->
|
2007-07-11 17:54:15 -04:00
|
|
|
<javac
|
|
|
|
encoding="${build.encoding}"
|
|
|
|
srcdir="${src.dir}"
|
|
|
|
includes="**/*.java"
|
|
|
|
destdir="${build.classes}"
|
|
|
|
debug="${javac.debug}"
|
|
|
|
deprecation="${javac.deprecation}">
|
|
|
|
<classpath refid="classpath"/>
|
|
|
|
<classpath path="path"/>
|
|
|
|
</javac>
|
2007-10-05 23:09:50 -04:00
|
|
|
</target>
|
2007-07-11 17:54:15 -04:00
|
|
|
|
2007-04-03 16:34:28 -04:00
|
|
|
<!-- Override jar target to specify main class -->
|
|
|
|
<target name="jar" depends="compile">
|
2008-02-04 16:48:13 -05:00
|
|
|
<jar jarfile="${build.dir}/hbase-${version}.jar"
|
2007-09-21 16:03:54 -04:00
|
|
|
basedir="${build.classes}" >
|
2008-02-04 16:48:13 -05:00
|
|
|
<fileset file="${basedir}/conf/hbase-default.xml"/>
|
2007-10-05 23:09:50 -04:00
|
|
|
<zipfileset dir="${build.webapps}" prefix="webapps"/>
|
2007-09-21 16:03:54 -04:00
|
|
|
</jar>
|
2007-04-03 16:34:28 -04:00
|
|
|
</target>
|
2007-06-11 19:41:48 -04:00
|
|
|
|
2007-11-26 19:23:37 -05:00
|
|
|
<!--Manage our own packaging... install our dependencies,
|
|
|
|
bin, etc.-->
|
|
|
|
<target name="package" depends="jar" unless="skip.contrib">
|
2008-02-04 16:48:13 -05:00
|
|
|
<!--TODO!!!-->
|
2007-11-26 19:23:37 -05:00
|
|
|
<condition property="dist.dir" value="distribution">
|
|
|
|
<not>
|
|
|
|
<isset property="dist.dir" />
|
|
|
|
</not>
|
|
|
|
</condition>
|
|
|
|
<property name="hbase.dist.dir" value="${dist.dir}/contrib/${name}"/>
|
|
|
|
<mkdir dir="${hbase.dist.dir}"/>
|
|
|
|
<copy todir="${hbase.dist.dir}" includeEmptyDirs="false" flatten="true">
|
|
|
|
<fileset dir="${build.dir}">
|
2008-02-04 16:48:13 -05:00
|
|
|
<include name="hbase-${version}.jar" />
|
2007-11-26 19:23:37 -05:00
|
|
|
</fileset>
|
|
|
|
</copy>
|
|
|
|
<mkdir dir="${hbase.dist.dir}/webapps"/>
|
|
|
|
<copy todir="${hbase.dist.dir}/webapps">
|
|
|
|
<fileset dir="${build.webapps}" />
|
|
|
|
</copy>
|
|
|
|
<mkdir dir="${hbase.dist.dir}/lib"/>
|
|
|
|
<copy todir="${hbase.dist.dir}/lib">
|
|
|
|
<fileset dir="${build.lib}" />
|
|
|
|
</copy>
|
|
|
|
<mkdir dir="${hbase.dist.dir}/conf" />
|
|
|
|
<copy todir="${hbase.dist.dir}/conf">
|
|
|
|
<fileset dir="${build.conf}" />
|
|
|
|
</copy>
|
|
|
|
<mkdir dir="${hbase.dist.dir}/bin" />
|
|
|
|
<copy todir="${hbase.dist.dir}/bin">
|
|
|
|
<fileset dir="${build.bin}" />
|
|
|
|
</copy>
|
|
|
|
<chmod perm="ugo+x" type="file">
|
|
|
|
<fileset dir="${hbase.dist.dir}/bin" />
|
|
|
|
</chmod>
|
|
|
|
</target>
|
|
|
|
|
2008-02-04 16:56:34 -05:00
|
|
|
<!-- ================================================================== -->
|
|
|
|
<!-- Run unit tests -->
|
|
|
|
<!-- ================================================================== -->
|
|
|
|
<path id="test.classpath">
|
|
|
|
<pathelement location="${build.test}" />
|
|
|
|
<pathelement location="${src.test}"/>
|
|
|
|
<pathelement location="${conf.dir}"/>
|
|
|
|
<pathelement location="${build.dir}"/>
|
|
|
|
<path refid="classpath"/>
|
|
|
|
</path>
|
2007-11-26 19:23:37 -05:00
|
|
|
|
2008-02-04 16:48:13 -05:00
|
|
|
<target name="compile-test" depends="compile" >
|
2008-02-04 16:56:34 -05:00
|
|
|
<javac encoding="${build.encoding}"
|
|
|
|
srcdir="${src.test}"
|
|
|
|
includes="**/*.java"
|
|
|
|
destdir="${build.test}"
|
|
|
|
debug="${javac.debug}">
|
|
|
|
<classpath refid="test.classpath"/>
|
2007-06-11 19:41:48 -04:00
|
|
|
</javac>
|
2007-08-22 13:13:08 -04:00
|
|
|
<jar jarfile="${build.dir}/hadoop-${version}-${name}-test.jar" >
|
2007-06-11 19:41:48 -04:00
|
|
|
<fileset dir="${build.test}" includes="org/**" />
|
|
|
|
<fileset dir="${build.classes}" />
|
|
|
|
<fileset dir="${src.test}" includes="**/*.properties" />
|
|
|
|
<manifest>
|
|
|
|
<attribute name="Main-Class"
|
|
|
|
value="org/apache/hadoop/hbase/PerformanceEvaluation"/>
|
|
|
|
</manifest>
|
|
|
|
</jar>
|
|
|
|
</target>
|
2007-06-21 16:40:45 -04:00
|
|
|
|
2008-02-04 16:48:13 -05:00
|
|
|
<target name="test" depends="compile-test, compile" >
|
|
|
|
<delete dir="${test.log.dir}"/>
|
|
|
|
<mkdir dir="${test.log.dir}"/>
|
|
|
|
<junit
|
|
|
|
printsummary="yes" showoutput="${test.output}"
|
|
|
|
haltonfailure="no" fork="yes" maxmemory="256m"
|
|
|
|
errorProperty="tests.failed" failureProperty="tests.failed"
|
|
|
|
timeout="${test.timeout}">
|
|
|
|
|
|
|
|
<sysproperty key="test.build.data" value="${build.test}/data"/>
|
|
|
|
<sysproperty key="build.test" value="${build.test}"/>
|
|
|
|
<sysproperty key="contrib.name" value="${name}"/>
|
|
|
|
|
|
|
|
<!-- requires fork=yes for:
|
|
|
|
relative File paths to use the specified user.dir
|
|
|
|
classpath to use build/contrib/*.jar
|
|
|
|
-->
|
|
|
|
<sysproperty key="user.dir" value="${build.test}/data"/>
|
|
|
|
|
|
|
|
<sysproperty key="fs.default.name" value="${fs.default.name}"/>
|
|
|
|
<sysproperty key="hadoop.test.localoutputfile" value="${hadoop.test.localoutputfile}"/>
|
|
|
|
<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" excludes="**/${test.exclude}.java" />
|
|
|
|
</batchtest>
|
|
|
|
<batchtest todir="${build.test}" if="testcase">
|
|
|
|
<fileset dir="${src.test}" includes="**/${testcase}.java"/>
|
|
|
|
</batchtest>
|
|
|
|
</junit>
|
|
|
|
<fail if="tests.failed">Tests failed!</fail>
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<!-- ================================================================== -->
|
|
|
|
<!-- Clean. Delete the build files, and their directories -->
|
|
|
|
<!-- ================================================================== -->
|
|
|
|
<target name="clean">
|
|
|
|
<delete dir="${build.dir}"/>
|
|
|
|
</target>
|
2007-04-03 16:34:28 -04:00
|
|
|
</project>
|