hbase/build.xml

179 lines
6.0 KiB
XML

<?xml version="1.0"?>
<!--
/**
* 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 name="hbase" default="jar">
<import file="../build-contrib.xml"/>
<property name="build.webapps" value="${build.dir}/webapps"/>
<property name="build.lib" value="${build.dir}/lib"/>
<property name="build.conf" value="${build.dir}/conf"/>
<property name="build.bin" value="${build.dir}/bin"/>
<property name="src.webapps" value="${basedir}/src/webapps" />
<target name="init">
<antcall target="hadoopbuildcontrib.init"/>
<!--Version is set only if called from hadoop build.xml. Set a default-->
<condition property="version" value="0.15.0-dev">
<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>
<!--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>
</target>
<target name="javacc" if="javacc.home">
<echo message="javacc.home: ${javacc.home}"/>
<property name="hql.src.dir"
value="${src.dir}/org/apache/hadoop/hbase/hql" />
<mkdir dir="${hql.src.dir}/generated" />
<javacc
target="${hql.src.dir}/HQLParser.jj"
outputdirectory="${hql.src.dir}/generated"
javacchome="${javacc.home}"
/>
</target>
<target name="compile" depends="init,javacc">
<echo message="contrib: ${name}"/>
<!--Compile whats under src and generated java classes made from jsp-->
<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>
</target>
<!-- Override jar target to specify main class -->
<target name="jar" depends="compile">
<jar jarfile="${build.dir}/hadoop-${version}-${name}.jar"
basedir="${build.classes}" >
<fileset file="${root}/conf/hbase-default.xml"/>
<zipfileset dir="${build.webapps}" prefix="webapps"/>
</jar>
</target>
<!--Manage our own packaging... install our dependencies,
bin, etc.-->
<target name="package" depends="jar" unless="skip.contrib">
<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}">
<include name="hadoop-${version}-${name}.jar" />
</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>
<!-- Override compile-test target so can generate a hbase
test jar that has test and hbase classes.
-->
<target name="compile-test" depends="compile" if="test.available">
<echo message="contrib: ${name}"/>
<javac
encoding="${build.encoding}"
srcdir="${src.test}"
includes="**/*.java"
destdir="${build.test}"
debug="${javac.debug}">
<classpath refid="test.classpath"/>
</javac>
<jar jarfile="${build.dir}/hadoop-${version}-${name}-test.jar" >
<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>
<!-- the unit test classpath
Copied from ../build-contrib.xml so can add to it.
-->
<path id="test.classpath">
<pathelement location="${build.test}" />
<pathelement location="${src.test}"/>
<pathelement location="${hadoop.root}/build/test/classes"/>
<pathelement location="${hadoop.root}/src/contrib/test"/>
<pathelement location="${conf.dir}"/>
<pathelement location="${hadoop.root}/build"/>
<pathelement location="${root}/conf"/>
<pathelement location="${build.dir}"/>
<path refid="classpath"/>
</path>
</project>