| <?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="failmon" default="compile"> |
| |
| <import file="../build-contrib.xml"/> |
| |
| <property name="jarfile" value="${build.dir}/hadoop-${name}-${version}.jar"/> |
| |
| <target name="jar" depends="compile" unless="skip.contrib"> |
| <!-- Make sure that the hadoop jar has been created --> |
| <!-- This works, but causes findbugs to fail |
| <subant antfile="build.xml" target="jar"> |
| <fileset dir="../../.." includes="build.xml"/> |
| </subant> |
| --> |
| <!-- Copy the required files so that the jar can run independently |
| of Hadoop source code --> |
| |
| <!-- create the list of files to add to the classpath --> |
| <fileset dir="${hadoop.root}/lib" id="class.path"> |
| <include name="**/*.jar" /> |
| <exclude name="**/excluded/" /> |
| </fileset> |
| |
| <pathconvert pathsep=" " property="failmon-class-path" refid="class.path"> |
| <map from="${basedir}/" to=""/> |
| </pathconvert> |
| |
| <echo message="contrib: ${name}"/> |
| <jar jarfile="${jarfile}" basedir="${build.classes}"> |
| <manifest> |
| <attribute name="Main-Class" value="org.apache.hadoop.contrib.failmon.RunOnce"/> |
| <attribute name="Class-Path" value="${failmon-class-path}"/> |
| </manifest> |
| </jar> |
| |
| </target> |
| |
| |
| <!-- Override test target to copy sample data --> |
| <target name="test" depends="compile-test, compile, compile-examples" if="test.available"> |
| <echo message="contrib: ${name}"/> |
| <delete dir="${hadoop.log.dir}"/> |
| <mkdir dir="${hadoop.log.dir}"/> |
| <delete dir="${build.test}/sample"/> |
| <mkdir dir="${build.test}/sample"/> |
| <copy todir="${build.test}/sample"> |
| <fileset dir="${root}/sample"/> |
| </copy> |
| <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="hadoop.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> |
| |
| <target name="tar" depends="jar"> |
| |
| <copy todir="."> |
| <fileset dir="${hadoop.root}/build/contrib/failmon/" |
| includes="failmon.jar"/> |
| </copy> |
| |
| <tar tarfile="${name}.tar" |
| basedir=".." |
| includes="${name}/**" |
| excludes="${name}/${name}.tar.gz, ${name}/src/**, ${name}/logs/**, ${name}/build.xml*"/> |
| <gzip zipfile="${name}.tar.gz" src="${name}.tar"/> |
| <delete file="${name}.tar"/> |
| <delete file="${name}.jar"/> |
| |
| <move file="${name}.tar.gz" todir="${build.dir}"/> |
| <echo message= "${hadoop.root}/build/contrib/failmon/hadoop-${name}-${version}.jar"/> |
| |
| </target> |
| |
| </project> |