133 lines
5.6 KiB
XML
133 lines
5.6 KiB
XML
<!--
|
|
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="lock" default="jar">
|
|
<import file="../build-recipes.xml"/>
|
|
<property name="test.main.classes" value="${zk.root}/build/test/classes"/>
|
|
<property name="test.build.dir" value="${build.test}" />
|
|
<property name="test.src.dir" value="src/test/java"/>
|
|
<property name="test.log.dir" value="${test.build.dir}/logs" />
|
|
<property name="test.data.dir" value="${test.build.dir}/data" />
|
|
<property name="test.data.upgrade.dir" value="${test.data.dir}/upgrade" />
|
|
<property name="test.tmp.dir" value="${test.build.dir}/tmp" />
|
|
<property name="test.output" value="no" />
|
|
<property name="test.timeout" value="900000" />
|
|
<property name="test.junit.output.format" value="plain" />
|
|
<property name="test.junit.fork.mode" value="perTest" />
|
|
<property name="test.junit.printsummary" value="yes" />
|
|
<property name="test.junit.haltonfailure" value="no" />
|
|
<property name="test.junit.maxmem" value="512m" />
|
|
|
|
<target name="setjarname">
|
|
<property name="jarname"
|
|
value="${build.dir}/zookeeper-${version}-recipes-${name}.jar"/>
|
|
</target>
|
|
|
|
<!-- Override jar target to specify main class -->
|
|
<target name="jar" depends="checkMainCompiled, setjarname, compile">
|
|
<echo message="recipes: ${name}"/>
|
|
|
|
<jar jarfile="${jarname}">
|
|
<fileset file="${zk.root}/LICENSE.txt" />
|
|
<fileset dir="${build.classes}"/>
|
|
<fileset dir="${build.test}"/>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="test" depends="compile-test,test-init,test-category,junit.run" />
|
|
|
|
<target name="compile-test" depends="compile">
|
|
<property name="target.jdk" value="${ant.java.version}" />
|
|
<property name="src.test.local" location="${basedir}/src/test/java" />
|
|
<mkdir dir="${build.test}"/>
|
|
<javac srcdir="${src.test.local}"
|
|
destdir="${build.test}"
|
|
target="${target.jdk}"
|
|
debug="on" encoding="${build.encoding}">
|
|
<classpath refid="classpath" />
|
|
<classpath>
|
|
<pathelement path="${test.main.classes}"/>
|
|
</classpath>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="test-init" depends="jar,compile-test">
|
|
<delete dir="${test.log.dir}" />
|
|
<delete dir="${test.tmp.dir}" />
|
|
<delete dir="${test.data.dir}" />
|
|
<mkdir dir="${test.log.dir}" />
|
|
<mkdir dir="${test.tmp.dir}" />
|
|
<mkdir dir="${test.data.dir}" />
|
|
</target>
|
|
|
|
<target name="test-category">
|
|
<property name="test.category" value=""/>
|
|
</target>
|
|
|
|
<target name="junit.run">
|
|
<echo message="${test.src.dir}" />
|
|
<junit showoutput="${test.output}"
|
|
printsummary="${test.junit.printsummary}"
|
|
haltonfailure="${test.junit.haltonfailure}"
|
|
fork="yes"
|
|
forkmode="${test.junit.fork.mode}"
|
|
maxmemory="${test.junit.maxmem}"
|
|
dir="${basedir}" timeout="${test.timeout}"
|
|
errorProperty="tests.failed" failureProperty="tests.failed">
|
|
<sysproperty key="build.test.dir" value="${test.tmp.dir}" />
|
|
<sysproperty key="test.data.dir" value="${test.data.dir}" />
|
|
<sysproperty key="log4j.configuration"
|
|
value="file:${basedir}/conf/log4j.properties" />
|
|
<classpath refid="classpath"/>
|
|
<classpath>
|
|
<pathelement path="${build.test}" />
|
|
<pathelement path="${test.main.classes}"/>
|
|
</classpath>
|
|
<formatter type="${test.junit.output.format}" />
|
|
<batchtest todir="${test.log.dir}" unless="testcase">
|
|
<fileset dir="${test.src.dir}"
|
|
includes="**/*${test.category}Test.java"/>
|
|
</batchtest>
|
|
<batchtest todir="${test.log.dir}" if="testcase">
|
|
<fileset dir="${test.src.dir}" includes="**/${testcase}.java"/>
|
|
</batchtest>
|
|
</junit>
|
|
<fail if="tests.failed">Tests failed!</fail>
|
|
</target>
|
|
|
|
<target name="package" depends="jar, zookeeperbuildrecipes.package"
|
|
unless="skip.recipes">
|
|
|
|
<copy file="${basedir}/build.xml" todir="${dist.dir}${package.share}/zookeeper-recipes/zookeeper-recipes-${name}"/>
|
|
|
|
<mkdir dir="${dist.dir}${package.share}/zookeeper-recipes/zookeeper-recipes-${name}/src/test/java"/>
|
|
<copy todir="${dist.dir}${package.share}/zookeeper-recipes/zookeeper-recipes-${name}/src/test/java">
|
|
<fileset dir="${basedir}/src/test/java"/>
|
|
</copy>
|
|
<mkdir dir="${dist.dir}${package.share}/zookeeper-recipes/zookeeper-recipes-${name}/src/main/java"/>
|
|
<copy todir="${dist.dir}${package.share}/zookeeper-recipes/zookeeper-recipes-${name}/src/main/java">
|
|
<fileset dir="${basedir}/src/main/java"/>
|
|
</copy>
|
|
<mkdir dir="${dist.dir}${package.share}/zookeeper-recipes/zookeeper-recipes-${name}/src/main/c"/>
|
|
<copy todir="${dist.dir}${package.share}/zookeeper-recipes/zookeeper-recipes-${name}/src/main/c">
|
|
<fileset dir="${basedir}/src/main/c"/>
|
|
</copy>
|
|
</target>
|
|
|
|
</project>
|
|
|