| <?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="fuse-dfs" default="jar" xmlns:ivy="antlib:org.apache.ivy.ant"> |
| |
| <import file="../build-contrib.xml"/> |
| |
| <target name="check-libhdfs-exists" if="fusedfs"> |
| <property name="libhdfs.lib" value="${build.c++.libhdfs}/libhdfs.so"/> |
| <available file="${libhdfs.lib}" property="libhdfs-exists"/> |
| <fail message="libhdfs.so does not exist: ${libhdfs.lib}. Please check flags -Dlibhdfs=1 -Dfusedfs=1 are set or first try ant compile -Dcompile.c++=true -Dlibhdfs=true"> |
| <condition><not><isset property="libhdfs-exists"/></not></condition> |
| </fail> |
| </target> |
| |
| <target name="compile"> |
| <condition property="perms" value="1" else="0"> |
| <not> <isset property="libhdfs.noperms"/> </not> |
| </condition> |
| |
| <exec executable="autoreconf" dir="${basedir}" |
| searchpath="yes" failonerror="yes"> |
| <arg value="-if"/> |
| </exec> |
| |
| <exec executable="${basedir}/configure" dir="${basedir}" |
| failonerror="yes"> |
| </exec> |
| |
| <exec executable="make" failonerror="true"> |
| <env key="OS_NAME" value="${os.name}"/> |
| <env key="OS_ARCH" value="${os.arch}"/> |
| <env key="HADOOP_PREFIX" value="${hadoop.root}"/> |
| <env key="PACKAGE_VERSION" value="0.1.0"/> |
| <env key="BUILD_PLATFORM" value="${build.platform}" /> |
| <env key="PERMS" value="${perms}"/> |
| </exec> |
| </target> |
| |
| <target name="jar" /> |
| <target name="package" /> |
| |
| <target name="compile-test" depends="ivy-retrieve-common, check-libhdfs-exists" if="fusedfs"> |
| <mkdir dir="${build.dir}"/> |
| <mkdir dir="${build.dir}/test"/> |
| <javac encoding="${build.encoding}" |
| srcdir="${src.test}" |
| includes="**/*.java" |
| destdir="${build.test}" |
| debug="${javac.debug}"> |
| <classpath refid="test.classpath"/> |
| </javac> |
| |
| <!-- Use exec since the copy task doesn't preserve attrs --> |
| <exec executable="cp" failonerror="true"> |
| <arg line="${hadoop.root}/src/contrib/fuse-dfs/src/fuse_dfs ${build.dir}"/> |
| </exec> |
| |
| <mkdir dir="${build.dir}/test"/> |
| |
| <exec executable="cp" failonerror="true"> |
| <arg line="${hadoop.root}/src/contrib/fuse-dfs/src/fuse_dfs_wrapper.sh ${build.dir}"/> |
| </exec> |
| </target> |
| |
| <target name="test" depends="compile-test,check-libhdfs-exists" if="fusedfs"> |
| <junit showoutput="${test.output}" fork="yes" printsummary="yes" errorProperty="tests.failed" haltonfailure="no" failureProperty="tests.failed"> |
| <classpath refid="test.classpath"/> |
| <sysproperty key="test.build.data" value="${build.test}/data"/> |
| <sysproperty key="build.test" value="${build.test}"/> |
| <sysproperty key="user.dir" value="${build.test}/data"/> |
| <sysproperty key="hadoop.log.dir" value="${hadoop.log.dir}"/> |
| <sysproperty key="test.src.dir" value="${test.src.dir}"/> |
| <formatter type="plain" /> |
| <batchtest todir="${build.test}" unless="testcase"> |
| <fileset dir="${src.test}"> |
| <include name="**/Test*.java"/> |
| </fileset> |
| </batchtest> |
| <batchtest todir="${build.test}" if="testcase"> |
| <fileset dir="${src.test}"> |
| <include name="**/${testcase}.java"/> |
| </fileset> |
| </batchtest> |
| </junit> |
| <fail if="tests.failed">Tests failed!</fail> |
| </target> |
| </project> |