185 lines
6.2 KiB
XML
185 lines
6.2 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="hbaseshell.src.dir"
|
|
value="${src.dir}/org/apache/hadoop/hbase/shell" />
|
|
<mkdir dir="${hbaseshell.src.dir}/generated" />
|
|
<mkdir dir="${hbaseshell.src.dir}/algebra/generated"/>
|
|
<javacc
|
|
target="${hbaseshell.src.dir}/HBaseShell.jj"
|
|
outputdirectory="${hbaseshell.src.dir}/generated"
|
|
javacchome="${javacc.home}"
|
|
/>
|
|
<javacc
|
|
target="${hbaseshell.src.dir}/algebra/ExpressionParser.jj"
|
|
outputdirectory="${hbaseshell.src.dir}/algebra/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>
|