blob: c8dc52dccef6b2734605be398d4e570aad897cc1 [file] [log] [blame]
<?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.
*/
-->
<!--
Before you can run these subtargets directly, you need
to call at top-level: ant deploy-contrib compile-core-test
-->
<project name="hbase" default="jar">
<import file="../build-contrib.xml"/>
<property name="build.webapps" value="${build.dir}/webapps"/>
<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>
</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" />
<javacc
target="${hbaseshell.src.dir}/HBaseShell.jj"
outputdirectory="${hbaseshell.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>
<!-- 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>