<?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="hadoop-hdfs" default="compile" 
   xmlns:artifact="urn:maven-artifact-ant"
   xmlns:ivy="antlib:org.apache.ivy.ant"> 

  <!-- Load all the default properties, and any the user wants    -->
  <!-- to contribute (without having to type -D or edit this file -->
  <property file="${user.home}/build.properties" />
  <property file="${basedir}/build.properties" />

  <property name="module" value="hdfs"/> 
  <property name="Name" value="Hadoop-Hdfs"/>
  <property name="name" value="hadoop-${module}"/>
  <!-- ATTN: Need to change aop.xml's project.version prop. synchronously -->
  <property name="_version" value="0.23.0"/>
  <property name="version" value="${_version}-SNAPSHOT"/>
  <property name="final.name" value="${name}-${version}"/>
  <property name="test.hdfs.final.name" value="${name}-test-${version}"/>
  <property name="ant.final.name" value="${name}-ant-${version}"/>
  <property name="year" value="2009"/>
  <property name="package.release" value="1"/>

  <property name="src.dir" value="${basedir}/src"/>  	
  <property name="java.src.dir" value="${src.dir}/java"/>
  <property name="anttasks.dir" value="${basedir}/src/ant"/>
  <property name="lib.dir" value="${basedir}/lib"/>
  <property name="conf.dir" value="${basedir}/conf"/>
  <property name="contrib.dir" value="${basedir}/src/contrib"/>
  <property name="docs.src" value="${basedir}/src/docs"/>
  <property name="changes.src" value="${docs.src}/changes"/>
  <property name="c++.src" value="${basedir}/src/c++"/>
  <property name="c++.libhdfs.src" value="${c++.src}/libhdfs"/>

  <property name="build.dir" value="${basedir}/build"/>
  <property name="build-fi.dir" value="${basedir}/build-fi"/>
  <property name="build.classes" value="${build.dir}/classes"/>
  <property name="build.src" value="${build.dir}/src"/>
  <property name="build.webapps.root.dir" value="${build.dir}/web"/>
  <property name="build.webapps" value="${build.webapps.root.dir}/webapps"/>
  <property name="build.anttasks" value="${build.dir}/ant"/>

  <!-- convert spaces to _ so that mac os doesn't break things -->
  <exec executable="tr" inputstring="${os.name}" 
        outputproperty="nonspace.os">
     <arg value="[:space:]"/>
     <arg value="_"/>
  </exec>
  <property name="build.platform" 
            value="${nonspace.os}-${os.arch}-${sun.arch.data.model}"/>
  <property name="jvm.arch" 
            value="${sun.arch.data.model}"/>
  <property name="build.c++" value="${build.dir}/c++-build/${build.platform}"/>
  <property name="build.c++.libhdfs" value="${build.c++}/libhdfs"/>

  <property name="build.docs" value="${build.dir}/docs"/>
  <property name="build.javadoc" value="${build.docs}/api"/>
  <property name="build.javadoc.timestamp" value="${build.javadoc}/index.html" />
  <property name="build.javadoc.dev" value="${build.docs}/dev-api"/>
  <property name="build.encoding" value="ISO-8859-1"/>
  <property name="install.c++" value="${build.dir}/c++/${build.platform}"/>

  <property name="test.src.dir" value="${basedir}/src/test"/>
  <property name="test.lib.dir" value="${basedir}/src/test/lib"/>
  <property name="test.build.dir" value="${build.dir}/test"/>
  <property name="test.generated.dir" value="${test.build.dir}/src"/>
  <property name="test.build.data" value="${test.build.dir}/data"/>
  <property name="test.cache.data" value="${test.build.dir}/cache"/>
  <property name="test.debug.data" value="${test.build.dir}/debug"/>
  <property name="test.log.dir" value="${test.build.dir}/logs"/>
  <property name="test.build.extraconf" value="${test.build.dir}/extraconf"/>
  <property name="test.build.javadoc" value="${test.build.dir}/docs/api"/>
  <property name="test.build.javadoc.dev" value="${test.build.dir}/docs/dev-api"/>
  <property name="test.include" value="Test*"/>
  <property name="test.classpath.id" value="test.classpath"/>
  <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.maxmemory" value="1024m" />
  <property name="test.conf.dir" value="${build.dir}/test/conf" />

  <property name="test.hdfs.build.classes" value="${test.build.dir}/hdfs/classes"/>

  <property name="test.hdfs.commit.tests.file" value="${test.src.dir}/commit-tests" />
  <property name="test.hdfs.smoke.tests.file" value="${test.src.dir}/smoke-tests" />
  <property name="test.hdfs.all.tests.file" value="${test.src.dir}/all-tests" />
  <property name="test.exclude.file" value="${test.src.dir}/empty-file" />

  <property name="test.hdfs.rpc.engine" value=""/>
  <property name="test.libhdfs.dir" value="${test.build.dir}/libhdfs"/>
  <property name="test.junit.jvmargs" value="-ea" />

  <property name="web.src.dir" value="${basedir}/src/web"/>
  <property name="src.webapps" value="${basedir}/src/webapps"/>

  <property name="javadoc.link.java"
	    value="http://java.sun.com/javase/6/docs/api/"/>
  <property name="javadoc.packages" value="org.apache.hadoop.*"/>
  <property name="javadoc.maxmemory" value="512m" />

  <property name="dist.dir" value="${build.dir}/${final.name}"/>

  <property name="javac.debug" value="on"/>
  <property name="javac.optimize" value="on"/>
  <property name="javac.deprecation" value="off"/>
  <property name="javac.version" value="1.6"/>
  <property name="javac.args" value=""/>
  <property name="javac.args.warnings" value="-Xlint:unchecked"/>

  <property name="clover.db.dir" location="${build.dir}/test/clover/db"/>
  <property name="clover.report.dir" location="${build.dir}/test/clover/reports"/>

  <property name="rat.reporting.classname" value="rat.Report"/>

  <property name="jdiff.build.dir" value="${build.docs}/jdiff"/>
  <property name="jdiff.xml.dir" value="${lib.dir}/jdiff"/>
  <property name="jdiff.stable" value="0.20.0"/>
  <property name="jdiff.stable.javadoc" 
            value="http://hadoop.apache.org/hdfs/docs/r${jdiff.stable}/api/"/>

  <property name="scratch.dir" value="${user.home}/tmp"/>
  <property name="svn.cmd" value="svn"/>
  <property name="grep.cmd" value="grep"/>
  <property name="patch.cmd" value="patch"/>
  <property name="make.cmd" value="make"/>
	
	<!-- jsvc properties set here -->
  <property name="jsvc.build.dir" value="${build.dir}/jsvc" />
  <property name="jsvc.install.dir" value="${dist.dir}/bin" /> 
  <property name="jsvc.location" value="http://archive.apache.org/dist/commons/daemon/binaries/1.0.2/linux/commons-daemon-1.0.2-bin-linux-i386.tar.gz" />
  <property name="jsvc.dest.name" value="jsvc.tar.gz" />
	
  <!-- IVY properties set here -->
  <property name="ivy.dir" location="ivy" />
  <loadproperties srcfile="${ivy.dir}/libraries.properties"/>
  <property name="ivy.jar" location="${ivy.dir}/ivy-${ivy.version}.jar"/>
  <property name="mvn.repo" value="http://repo2.maven.org/maven2"/>
  <property name="asfrepo" value="https://repository.apache.org"/>
  <property name="asfsnapshotrepo" value="${asfrepo}/content/repositories/snapshots"/>
  <property name="asfstagingrepo"
  value="${asfrepo}/service/local/staging/deploy/maven2"/>
  <property name="ivy_repo_url" value="${mvn.repo}/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/>
  <property name="ant_task.jar" location="${ivy.dir}/maven-ant-tasks-${ant-task.version}.jar"/>
  <property name="ant_task_repo_url" value="${mvn.repo}/org/apache/maven/maven-ant-tasks/${ant-task.version}/maven-ant-tasks-${ant-task.version}.jar"/>
  <property name="ivysettings.xml" location="${ivy.dir}/ivysettings.xml" />
  <property name="ivy.org" value="org.apache.hadoop"/>
  <property name="build.dir" location="build" />
  <property name="dist.dir" value="${build.dir}/${final.name}"/>
  <property name="build.ivy.dir" location="${build.dir}/ivy" />
  <property name="build.ivy.lib.dir" location="${build.ivy.dir}/lib" />
  <property name="common.ivy.lib.dir" location="${build.ivy.lib.dir}/${ant.project.name}/common"/>
  <property name="hdfs.ivy.lib.dir" location="${build.ivy.lib.dir}/${ant.project.name}/hdfs"/>
  <property name="test.ivy.lib.dir" location="${build.ivy.lib.dir}/${ant.project.name}/test"/>
  <property name="build.ivy.report.dir" location="${build.ivy.dir}/report" />
  <property name="build.ivy.maven.dir" location="${build.ivy.dir}/maven" />
  <property name="build.ivy.maven.pom" location="${build.ivy.maven.dir}/hadoop-hdfs-${version}.pom" />
  <property name="build.ivy.maven.jar" location="${build.ivy.maven.dir}/hadoop-hdfs-${version}.jar" />
  <property name="hadoop-hdfs.pom" location="${ivy.dir}/hadoop-hdfs.xml"/>
  <property name="hadoop-hdfs-test.pom" location="${ivy.dir}/hadoop-hdfs-test.xml"/>

  <!--this is the naming policy for artifacts we want pulled down-->
  <property name="ivy.artifact.retrieve.pattern" value="${ant.project.name}/[conf]/[artifact]-[revision].[ext]"/>

  <!--this is how artifacts that get built are named-->
  <property name="ivy.publish.pattern" value="hadoop-hdfs-[revision].[ext]"/>
  <property name="hadoop-hdfs.jar" location="${build.dir}/${final.name}.jar" />
  <property name="hadoop-hdfs-test.jar" location="${build.dir}/${test.hdfs.final.name}.jar" />
  <property name="hadoop-hdfs-sources.jar" location="${build.dir}/${final.name}-sources.jar" />
  <property name="hadoop-hdfs-test-sources.jar" location="${build.dir}/${test.hdfs.final.name}-sources.jar" />
  <property name="hadoop-hdfs-fi.jar" location="${build.dir}/${final.name}-fi.jar" />

  <!-- jdiff.home property set -->
  <property name="jdiff.home" value="${build.ivy.lib.dir}/${ant.project.name}/jdiff"/>
  <property name="jdiff.jar" value="${jdiff.home}/jdiff-${jdiff.version}.jar"/>
  <property name="xerces.jar" value="${jdiff.home}/xerces-${xerces.version}.jar"/>

  <!-- Eclipse properties -->
  <property name="build.dir.eclipse" value="${build.dir}/eclipse"/>
  <property name="build.dir.eclipse-main-classes" value="${build.dir.eclipse}/classes-main"/>
  <property name="build.dir.eclipse-main-generated-classes" value="${build.dir.eclipse}/classes-main-generated"/>
  <property name="build.dir.eclipse-test-classes" value="${build.dir.eclipse}/classes-test"/>
  <property name="build.dir.eclipse-contrib-classes" value="${build.dir.eclipse}/classes-contrib"/>

  <property name="clover.jar" location="${clover.home}/lib/clover.jar"/>
  <available property="clover.present" file="${clover.jar}" />

  <!-- check if clover reports should be generated -->
  <condition property="clover.enabled">
    <and>
        <isset property="run.clover"/>
        <isset property="clover.present"/>
    </and>
  </condition>

  <condition property="staging">
     <equals arg1="${repo}" arg2="staging"/>
  </condition>

  <!-- packaging properties -->
  <property name="package.prefix" value="/usr"/>
  <property name="package.conf.dir" value="/etc/hadoop"/>
  <property name="package.log.dir" value="/var/log/hadoop/hdfs"/>
  <property name="package.pid.dir" value="/var/run/hadoop"/>
  <property name="package.var.dir" value="/var/lib/hadoop"/>
  <property name="package.share.dir" value="share/hadoop/${module}"/>
  <!-- Use fixed path to build rpm for avoiding rpmbuild conflict with dash path names -->
  <property name="package.buildroot" value="/tmp/hadoop_package_hdfs_build_${user.name}"/>
  <property name="package.build.dir" value="/tmp/hadoop_package_hdfs_build_${user.name}/BUILD"/>

  <!-- the normal classpath -->
  <path id="classpath">
    <pathelement location="${build.classes}"/>
    <pathelement location="${conf.dir}"/>
    <path refid="ivy-common.classpath"/>
    <path refid="ivy-hdfs.classpath"/>
  </path>

  <path id="test.classpath">
    <pathelement location="${test.build.extraconf}"/>
    <pathelement location="${test.hdfs.build.classes}" />
    <pathelement location="${test.src.dir}"/>
    <pathelement location="${build.webapps.root.dir}"/>
    <pathelement location="${build.tools}"/>
    <pathelement path="${clover.jar}"/>
    <path refid="ivy-test.classpath"/>
    <fileset dir="${lib.dir}">
      <include name="hadoop-common-test-${hadoop-common.version}.jar" />
      <exclude name="**/excluded/" />
    </fileset>
    <pathelement location="${build.classes}"/>
    <pathelement location="${test.conf.dir}"/>
    <path refid="ivy-common.classpath"/>
    <path refid="ivy-hdfs.classpath"/>
  </path>

  <!-- the cluster test classpath: uses conf.dir for configuration -->
  <path id="test.cluster.classpath">
    <path refid="classpath"/>
    <pathelement location="${test.hdfs.build.classes}" />
    <pathelement location="${test.src.dir}"/>
    <pathelement location="${build.webapps.root.dir}"/>
  </path>


  <!-- ====================================================== -->
  <!-- Macro definitions                                      -->
  <!-- ====================================================== -->
  <macrodef name="macro_tar" description="Worker Macro for tar">
    <attribute name="param.destfile"/>
    <element name="param.listofitems"/>
    <sequential>
      <tar compression="gzip" longfile="gnu"
      destfile="@{param.destfile}">
      <param.listofitems/>
      </tar>
    </sequential>
  </macrodef>

  <!-- ====================================================== -->
  <!-- Stuff needed by all targets                            -->
  <!-- ====================================================== -->
  <target name="init" depends="ivy-retrieve-common,ivy-retrieve-hdfs,ivy-retrieve-test">
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${build.classes}"/>
    <mkdir dir="${build.src}"/>
    <mkdir dir="${build.webapps}/hdfs/WEB-INF"/>
    <mkdir dir="${build.webapps}/datanode/WEB-INF"/>
    <mkdir dir="${build.webapps}/secondary/WEB-INF"/>
    <mkdir dir="${build.anttasks}"/>
    <mkdir dir="${build.dir}/c++"/>
    
    <mkdir dir="${test.build.dir}"/>
    <mkdir dir="${test.hdfs.build.classes}"/>
    <mkdir dir="${test.build.extraconf}"/>
    <tempfile property="touch.temp.file" destDir="${java.io.tmpdir}"/>
    <touch millis="0" file="${touch.temp.file}">
      <fileset dir="${conf.dir}" includes="**/*.template"/>
      <fileset dir="${contrib.dir}" includes="**/*.template"/>
    </touch>
    <delete file="${touch.temp.file}"/>
    <!-- copy all of the jsp and static files -->
    <copy todir="${build.webapps}">
      <fileset dir="${src.webapps}">
        <exclude name="**/*.jsp" />
      </fileset>
    </copy>

    <copy todir="${conf.dir}" verbose="true">
      <fileset dir="${conf.dir}" includes="**/*.template"/>
      <mapper type="glob" from="*.template" to="*"/>
    </copy>

    <mkdir dir="${test.conf.dir}"/>
    <copy todir="${test.conf.dir}" verbose="true">
      <fileset dir="${conf.dir}" includes="**/*.template"/>
      <mapper type="glob" from="*.template" to="*"/>
    </copy>
    <copy todir="${test.conf.dir}" verbose="true">
      <fileset dir="${conf.dir}" includes="**/*.properties"/>
    </copy>

    <copy todir="${contrib.dir}" verbose="true">
      <fileset dir="${contrib.dir}" includes="**/*.template"/>
      <mapper type="glob" from="*.template" to="*"/>
    </copy>

  </target>

  <import file="${test.src.dir}/aop/build/aop.xml"/>

  <target name="compile-hdfs-classes" depends="init">
    <taskdef classname="org.apache.jasper.JspC" name="jsp-compile" >
       <classpath refid="classpath"/>
    </taskdef>
    <jsp-compile
     uriroot="${src.webapps}/hdfs"
     outputdir="${build.src}"
     package="org.apache.hadoop.hdfs.server.namenode"
     webxml="${build.webapps}/hdfs/WEB-INF/web.xml">
    </jsp-compile>

    <jsp-compile
     uriroot="${src.webapps}/datanode"
     outputdir="${build.src}"
     package="org.apache.hadoop.hdfs.server.datanode"
     webxml="${build.webapps}/datanode/WEB-INF/web.xml">
    </jsp-compile>

    <jsp-compile
     uriroot="${src.webapps}/secondary"
     outputdir="${build.src}"
     package="org.apache.hadoop.hdfs.server.namenode"
     webxml="${build.webapps}/secondary/WEB-INF/web.xml">
    </jsp-compile>

    <!-- Compile Java files (excluding JSPs) checking warnings -->
    <javac 
     encoding="${build.encoding}" 
     srcdir="${java.src.dir};${build.src}" 
     includes="org/apache/hadoop/**/*.java"
     destdir="${build.classes}"
     debug="${javac.debug}"
     optimize="${javac.optimize}"
     target="${javac.version}"
     source="${javac.version}"
     deprecation="${javac.deprecation}">
      <compilerarg line="${javac.args} ${javac.args.warnings}" />
      <classpath refid="classpath"/>
    </javac>   

    <taskdef
       name="paranamer" 
       classname="com.thoughtworks.paranamer.ant.ParanamerGeneratorTask">
      <classpath refid="classpath" />
    </taskdef>
    <paranamer
       sourceDirectory="${java.src.dir}/org/apache/hadoop/hdfs/protocol"
       outputDirectory="${build.classes}"/>
    <paranamer
       sourceDirectory="${java.src.dir}/org/apache/hadoop/hdfs/server/protocol"
       outputDirectory="${build.classes}"/>

    <copy todir="${build.classes}">
     <fileset dir="${java.src.dir}" includes="**/*.properties"/>
     <fileset dir="${java.src.dir}" includes="hdfs-default.xml"/>
    </copy>
  </target>

  <target name="compile-core" depends="clover, compile-hdfs-classes" description="Compile"/> 

  <target name="compile-contrib" depends="compile-core,compile-c++-libhdfs">
     <subant target="compile">
        <property name="version" value="${version}"/>
        <fileset file="${contrib.dir}/build.xml"/>
     </subant>  	
  </target>
  
  <target name="compile" depends="compile-core, compile-contrib, compile-ant-tasks" description="Compile core, contrib"/>

  <!-- ================================================================== -->
  <!-- Make hadoop.jar                                                     -->
  <!-- ================================================================== -->
  <!--                                                                    -->
  <!-- ================================================================== -->
  <target name="jar" depends="compile-core" description="Make hadoop.jar">
    <jar jarfile="${hadoop-hdfs.jar}"
         basedir="${build.classes}">
      <manifest>
        <section name="org/apache/hadoop">
          <attribute name="Implementation-Title" value="${ant.project.name}"/>
          <attribute name="Implementation-Version" value="${version}"/>
          <attribute name="Implementation-Vendor" value="Apache"/>
        </section>
      </manifest>
      <fileset file="${conf.dir}/commons-logging.properties"/>
      <fileset file="${conf.dir}/log4j.properties"/>
      <fileset file="${conf.dir}/hadoop-metrics.properties"/>
      <zipfileset dir="${build.webapps}" prefix="webapps"/>
      <fileset file="${jar.extra.properties.list}" />
    </jar>

    <jar jarfile="${hadoop-hdfs-sources.jar}">
      <fileset dir="${java.src.dir}" includes="org/apache/hadoop/**/*.java" />
      <fileset dir="${build.src}" includes="org/apache/hadoop/**/*.java" />
    </jar>
  </target>

  <target name="compile-hdfs-test" depends="compile-hdfs-classes">
    <macro-compile-hdfs-test
      target.dir="${test.hdfs.build.classes}"
      source.dir="${test.src.dir}/hdfs;${test.src.dir}/unit"
      dest.dir="${test.hdfs.build.classes}"
      classpath="test.classpath"/>

    <delete dir="${test.cache.data}"/>
    <mkdir dir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/hdfs/hadoop-14-dfs-dir.tgz" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/hdfs/hadoop-22-dfs-dir.tgz" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/hdfs/hadoop-dfs-dir.txt" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/cli/testHDFSConf.xml" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/cli/clitest_data/data15bytes" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/cli/clitest_data/data30bytes" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/cli/clitest_data/data60bytes" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/cli/clitest_data/data120bytes" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/cli/clitest_data/data1k" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/hdfs/tools/offlineImageViewer/fsimageV18" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/hdfs/tools/offlineImageViewer/fsimageV19" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/hdfs/tools/offlineEditsViewer/editsStored" todir="${test.cache.data}"/>
    <copy file="${test.src.dir}/hdfs/org/apache/hadoop/hdfs/tools/offlineEditsViewer/editsStored.xml" todir="${test.cache.data}"/>
  </target>

  <macrodef name="macro-compile-hdfs-test">
    <attribute name="target.dir"/>
    <attribute name="source.dir"/>
    <attribute name="dest.dir"/>
    <attribute name="classpath"/>
    <sequential>
      <mkdir dir="@{target.dir}"/>
      <javac
        encoding="${build.encoding}"
        srcdir="@{source.dir}"
        includes="org/apache/hadoop/**/*.java"
        destdir="@{dest.dir}"
        debug="${javac.debug}"
        optimize="${javac.optimize}"
        target="${javac.version}"
        source="${javac.version}"
        deprecation="${javac.deprecation}">
        <compilerarg line="${javac.args} ${javac.args.warnings}"/>
        <classpath refid="@{classpath}"/>
      </javac>
    </sequential>
  </macrodef>

  <!-- ================================================================== -->
  <!-- Make hadoop-test.jar                                               -->
  <!-- ================================================================== -->
  <!--                                                                    -->
  <!-- ================================================================== -->
  <target name="jar-test" depends="jar-hdfs-test" description="Make hadoop-test.jar"/> 

  <target name="jar-hdfs-test" depends="compile-hdfs-test" description="Make hadoop-hdfs-test.jar">
    <subant buildpath="build.xml" target="-do-jar-test">
    </subant>
    <jar jarfile="${hadoop-hdfs-test-sources.jar}">
      <fileset dir="${test.src.dir}/hdfs" includes="org/apache/hadoop/**/*.java" />
      <fileset dir="${test.src.dir}/unit" includes="org/apache/hadoop/**/*.java" />
    </jar>
  </target>

  <target name="-do-jar-test">
    <jar jarfile="${build.dir}/${test.hdfs.final.name}.jar"
         basedir="${test.hdfs.build.classes}">
         <manifest>
           <attribute name="Main-Class"
                      value="org/apache/hadoop/test/HdfsTestDriver"/>
          <section name="org/apache/hadoop">
            <attribute name="Implementation-Title" value="${ant.project.name}"/>
            <attribute name="Implementation-Version" value="${version}"/>
            <attribute name="Implementation-Vendor" value="Apache"/>
          </section>
         </manifest>
    </jar>

  </target>

  <!-- ================================================================== -->
  <!-- Fault injection customization section.
       These targets ought to be copied over to other projects and modified
       as needed -->
  <!-- ================================================================== -->
  <!-- "Implementing" a target dependecy from aop.xml -->
  <target name="-classes-compilation"
    depends="compile-hdfs-classes, compile-hdfs-test"/>

  <target name="jar-test-fault-inject" depends="jar-hdfs-test-fault-inject"
          description="Make hadoop-test.jar files"/>

  <target name="run-test-hdfs-fault-inject" depends="injectfaults,
    -run-test-hdfs-fault-inject-all,
    -run-test-hdfs-fault-inject-withtestcaseonly"
	  description="Run full set of the unit tests with fault injection">
  </target>
  <target name="-run-test-hdfs-fault-inject-all" unless="testcase">
    <macro-run-tests-fault-inject
      target.name="run-test-hdfs-excluding-commit-and-smoke"
      testcasesonly="false"/>
  </target>
  <target name="-run-test-hdfs-fault-inject-withtestcaseonly" if="testcase">
    <macro-run-tests-fault-inject
      target.name="run-test-hdfs-all-withtestcaseonly"
      testcasesonly="false"/>
  </target>

  <target name="jar-hdfs-test-fault-inject" depends="injectfaults" 
    description="Make hadoop-hdfs-test-fi.jar">
    <macro-jar-test-fault-inject
      target.name="jar-hdfs-test"
      jar.final.name="test.hdfs.final.name"
      jar.final.value="${name}-test-${version}-fi" />
  </target>

  <target name="jar-fault-inject" depends="injectfaults" 
    description="Make hadoop-fi.jar">
    <macro-jar-fault-inject
      target.name="jar"
      build.dir="${build-fi.dir}"
      jar.final.name="final.name"
      jar.final.value="${final.name}-fi" />
  </target>

  <!--This target is not included into the the top level list of target
  for it serves a special "regression" testing purpose of non-FI tests in
  FI environment -->
  <target name="run-fault-inject-with-testcaseonly" depends="injectfaults">
    <fail unless="testcase">Can't run this target without -Dtestcase setting!
    </fail>
    <macro-run-tests-fault-inject
      target.name="run-test-hdfs-all-withtestcaseonly"
      testcasesonly="true"/>
  </target>
  <!-- ================================================================== -->
  <!-- End of Fault injection customization section                       -->
  <!-- ================================================================== -->

  <condition property="tests.notestcase">
    <and>
      <isfalse value="${test.fault.inject}"/>
      <not>
        <isset property="testcase"/>
      </not>
    </and>
  </condition>
  <condition property="tests.notestcase.fi">
    <and>
      <not>
        <isset property="testcase" />
      </not>
      <istrue value="${test.fault.inject}" />
    </and>
  </condition>
  <condition property="tests.testcase">
    <and>
      <isfalse value="${test.fault.inject}" />
      <isset property="testcase" />
    </and>
  </condition>
  <condition property="tests.testcaseonly.fi">
    <istrue value="${special.fi.testcasesonly}" />
  </condition>
  <condition property="tests.testcase.fi">
    <and>
      <istrue value="${test.fault.inject}" />
      <isset property="testcase" />
      <isfalse value="${special.fi.testcasesonly}" />
    </and>
  </condition>

  <!-- ================================================================== -->
  <!-- Define exclude lists for different kinds of testing                -->
  <!-- ================================================================== -->
  <patternset id="empty.exclude.list.id" />
  <patternset id="commit.smoke.exclude.list.id">
    <excludesfile name="${test.hdfs.commit.tests.file}"/>
    <excludesfile name="${test.hdfs.smoke.tests.file}"/>
  </patternset>

  <!-- ================================================================== -->
  <!-- Run unit tests                                                     --> 
  <!-- ================================================================== -->
  <macrodef name="macro-test-runner">
    <attribute name="test.file" />
    <attribute name="suite.type" />
    <attribute name="classpath" />
    <attribute name="test.dir" />
    <attribute name="fileset.dir" />
    <attribute name="hadoop.conf.dir.deployed" default="" />
    <attribute name="exclude.list.id" default="empty.exclude.list.id" />
    <sequential>
      <delete dir="@{test.dir}/data"/>
      <mkdir dir="@{test.dir}/data"/>
      <delete dir="@{test.dir}/logs"/>
      <mkdir dir="@{test.dir}/logs"/>
      <copy file="${test.src.dir}/hadoop-policy.xml" 
        todir="@{test.dir}/extraconf" />
      <copy file="${test.src.dir}/fi-site.xml"
        todir="@{test.dir}/extraconf" />
      <junit showoutput="${test.output}"
        printsummary="${test.junit.printsummary}"
        haltonfailure="${test.junit.haltonfailure}"
        fork="yes"
        forkmode="${test.junit.fork.mode}"
        maxmemory="${test.junit.maxmemory}"
        dir="${basedir}" timeout="${test.timeout}"
        errorProperty="tests.failed" failureProperty="tests.failed">
        <jvmarg value="${test.junit.jvmargs}" />
        <sysproperty key="java.net.preferIPv4Stack" value="true"/>
        <sysproperty key="test.build.data" value="@{test.dir}/data"/>
        <sysproperty key="test.cache.data" value="${test.cache.data}"/>     
        <sysproperty key="test.debug.data" value="${test.debug.data}"/>
        <sysproperty key="hadoop.log.dir" value="@{test.dir}/logs"/>
        <sysproperty key="test.src.dir" value="@{fileset.dir}"/>
        <sysproperty key="test.build.extraconf" value="@{test.dir}/extraconf" />
        <sysproperty key="java.security.krb5.conf" value="${test.src.dir}/krb5.conf"/>
        <sysproperty key="hadoop.policy.file" value="hadoop-policy.xml"/>
        <sysproperty key="hdfs.rpc.engine" value="${test.hdfs.rpc.engine}"/>
        <classpath refid="@{classpath}"/>
        <!-- Pass probability specifications to the spawn JVM -->
        <syspropertyset id="FaultProbabilityProperties">
          <propertyref regex="fi.*"/>
        </syspropertyset>
        <sysproperty key="test.system.hdrc.deployed.hadoopconfdir"
                     value="@{hadoop.conf.dir.deployed}" />
        <formatter type="${test.junit.output.format}" />
        <batchtest todir="@{test.dir}" if="tests.notestcase">
          <fileset dir="@{fileset.dir}/@{suite.type}"
            excludes="**/${test.exclude}.java **/${test.exclude}.java
              aop/** system/**">
             <patternset>
               <includesfile name="@{test.file}"/>
               <excludesfile name="${test.exclude.file}" />
             </patternset>
             <patternset refid="@{exclude.list.id}"/>
         </fileset>
        </batchtest>
        <batchtest todir="@{test.dir}" if="tests.notestcase.fi">
          <fileset dir="@{fileset.dir}/aop"
            includes="**/${test.include}.java"
            excludes="**/${test.exclude}.java"
            excludesfile="${test.exclude.file}" />
        </batchtest>
        <batchtest todir="@{test.dir}" if="tests.testcase">
          <fileset dir="@{fileset.dir}/@{suite.type}" includes="**/${testcase}.java"
            excludes="aop/** system/**"/>
        </batchtest>
        <batchtest todir="@{test.dir}" if="tests.testcase.fi">
          <fileset dir="@{fileset.dir}/aop" includes="**/${testcase}.java"/>
        </batchtest>
        <!--The following batch is for very special occasions only when
        a non-FI tests are needed to be executed against FI-environment -->
        <batchtest todir="@{test.dir}" if="tests.testcaseonly.fi">
          <fileset dir="@{fileset.dir}/hdfs" includes="**/${testcase}.java"/>
        </batchtest>
      </junit>
      <antcall target="checkfailure"/>
    </sequential>
  </macrodef>

  <target name="run-test-hdfs" depends="run-commit-test, run-smoke-test,
    run-test-hdfs-excluding-commit-and-smoke, run-test-hdfs-all-withtestcaseonly"
    description="Run full set of hdfs unit tests">
  </target>

  <target name="run-test-hdfs-all-withtestcaseonly" depends="compile-hdfs-test" if="testcase">
    <macro-test-runner
      test.file="${test.hdfs.all.tests.file}"
      suite.type="hdfs"
      classpath="${test.classpath.id}"
      test.dir="${test.build.dir}"
      fileset.dir="${test.src.dir}"/>
  </target>

  <target name="run-test-hdfs-excluding-commit-and-smoke"
  depends="compile-hdfs-test" unless="testcase">
    <macro-test-runner
      test.file="${test.hdfs.all.tests.file}"
      suite.type="hdfs"
      classpath="${test.classpath.id}"
      test.dir="${test.build.dir}"
      fileset.dir="${test.src.dir}"
      exclude.list.id="commit.smoke.exclude.list.id"/>
  </target>

  <target name="run-commit-test" depends="compile-hdfs-test"
    description="Run approximate 10-minute set of unit tests prior to commiting"
    unless="testcase">
     <macro-test-runner
       test.file="${test.hdfs.all.tests.file}"
       suite.type="unit"
       classpath="${test.classpath.id}"
       test.dir="${test.build.dir}"
       fileset.dir="${test.src.dir}"/>
     <macro-test-runner
       test.file="${test.hdfs.commit.tests.file}"
       suite.type="hdfs"
       classpath="${test.classpath.id}"
       test.dir="${test.build.dir}"
       fileset.dir="${test.src.dir}"/>
  </target>

  <target name="run-smoke-test" depends="compile-hdfs-test"
    description="Run approximate 30-minute set of functional tests to guarantee HDFS viability"
    unless="testcase">
     <macro-test-runner
       test.file="${test.hdfs.smoke.tests.file}"
       suite.type="hdfs"
       classpath="${test.classpath.id}"
       test.dir="${test.build.dir}"
       fileset.dir="${test.src.dir}"/>
  </target>

  <target name="run-test-unit" depends="compile-hdfs-test" description="Run unit tests">
    <macro-test-runner
      test.file="${test.hdfs.all.tests.file}"
      suite.type="unit"
      classpath="${test.classpath.id}"
      test.dir="${test.build.dir}"
      fileset.dir="${test.src.dir}"/>
  </target>

  <target name="checkfailure" if="tests.failed">
    <touch file="${test.build.dir}/testsfailed"/>
    <fail unless="continueOnFailure">Tests failed!</fail>
  </target>

  <target name="test-contrib" depends="compile-hdfs-test" description="Run contrib unit tests">
    <subant target="test">
       <property name="version" value="${version}"/>
       <property name="hadoop-version" value="${hadoop-common.version}"/>
       <property name="clover.jar" value="${clover.jar}"/>
       <fileset file="${contrib.dir}/build.xml"/>
    </subant> 
  </target>

  <target name="test-core" description="Run hdfs unit tests">
    <delete file="${test.build.dir}/testsfailed"/>
    <property name="continueOnFailure" value="true"/>
    <antcall target="run-test-hdfs"/>
    <antcall target="run-test-unit"/>
    <antcall target="run-test-hdfs-fault-inject"/>
    <available file="${test.build.dir}/testsfailed" property="testsfailed"/>
    <fail if="testsfailed">Tests failed!</fail>
  </target>

  <target name="test" depends="test-c++-libhdfs, jar-test, test-core" description="Run all unit tests">
    <subant target="test-contrib">
      <fileset file="${basedir}/build.xml"/>
     </subant>
  </target>

  <!-- Run all unit tests, not just Test*, and use non-test configuration. -->
  <target name="test-cluster" description="Run all unit tests, not just Test*, and use non-test configuration.">
    <antcall target="test">
      <param name="test.include" value="*"/>
      <param name="test.classpath.id" value="test.cluster.classpath"/>
    </antcall>
  </target>

  <target name="nightly" depends="test, tar">
  </target>
	
  <!-- ================================================================== -->
  <!-- Run optional third-party tool targets                              --> 
  <!-- ================================================================== -->
  <target name="checkstyle" depends="ivy-retrieve-checkstyle,check-for-checkstyle" if="checkstyle.present" description="Run optional third-party tool targets">
       <taskdef resource="checkstyletask.properties">
         <classpath refid="checkstyle-classpath"/>
       </taskdef>
  
	<mkdir dir="${test.build.dir}"/>
  	
  	<checkstyle config="${test.src.dir}/checkstyle.xml"
  		failOnViolation="false">
      <fileset dir="${java.src.dir}" includes="**/*.java" excludes="**/generated/**"/>  		
      <formatter type="xml" toFile="${test.build.dir}/checkstyle-errors.xml"/>
  	</checkstyle>
  	
  	<xslt style="${test.src.dir}/checkstyle-noframes-sorted.xsl"
        in="${test.build.dir}/checkstyle-errors.xml"
        out="${test.build.dir}/checkstyle-errors.html"/>
  </target>
	
  <target name="check-for-checkstyle">
    <available property="checkstyle.present" resource="checkstyletask.properties">
       <classpath refid="checkstyle-classpath"/>
    </available>  	
  </target>

 <property name="findbugs.home" value=""/>
  <target name="findbugs" depends="check-for-findbugs, jar" if="findbugs.present" description="Run findbugs if present">
    <property name="findbugs.out.dir" value="${test.build.dir}/findbugs"/>
    <property name="findbugs.exclude.file" value="${test.src.dir}/findbugsExcludeFile.xml"/>
    <property name="findbugs.report.htmlfile" value="${findbugs.out.dir}/hadoop-findbugs-report.html"/>
    <property name="findbugs.report.xmlfile" value="${findbugs.out.dir}/hadoop-findbugs-report.xml"/>
    <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
        classpath="${findbugs.home}/lib/findbugs-ant.jar" />

        <mkdir dir="${findbugs.out.dir}"/>

    <findbugs home="${findbugs.home}" output="xml:withMessages"
        outputFile="${findbugs.report.xmlfile}" effort="max"
        excludeFilter="${findbugs.exclude.file}" jvmargs="-Xmx512M">
      <auxClasspath>
        <fileset dir="${lib.dir}">
          <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${build.ivy.lib.dir}/${ant.project.name}/common">
          <include name="**/*.jar"/>
        </fileset>
      </auxClasspath>
      <sourcePath path="${java.src.dir}"/>
      <class location="${basedir}/build/${final.name}.jar" />
    </findbugs>

        <xslt style="${findbugs.home}/src/xsl/default.xsl"
        in="${findbugs.report.xmlfile}"
        out="${findbugs.report.htmlfile}"/>
  </target>
	
  <target name="check-for-findbugs">
    <available property="findbugs.present"
        file="${findbugs.home}/lib/findbugs.jar" />
  </target>


  <!-- ================================================================== -->
  <!-- Documentation                                                      -->
  <!-- ================================================================== -->
  
  <target name="docs" depends="forrest.check" description="Generate forrest-based documentation. To use, specify -Dforrest.home=&lt;base of Apache Forrest installation&gt; on the command line." if="forrest.home">
    <exec dir="${docs.src}" executable="${forrest.home}/bin/forrest"
	  failonerror="true">
    </exec>
    <copy todir="${build.docs}">
      <fileset dir="${docs.src}/build/site/" />
    </copy>
    <copy file="${docs.src}/releasenotes.html" todir="${build.docs}"/>
    <style basedir="${java.src.dir}" destdir="${build.docs}"
           includes="hdfs-default.xml" style="conf/configuration.xsl"/>
    <antcall target="changes-to-html"/>
  </target>

  <target name="forrest.check" unless="forrest.home">
    <fail message="'forrest.home' is not defined. Please pass -Dforrest.home=&lt;base of Apache Forrest installation&gt; to Ant on the command-line." />
  </target>

  <target name="javadoc-dev" depends="compile, ivy-retrieve-javadoc" description="Generate javadoc for hadoop developers">
    <mkdir dir="${build.javadoc.dev}"/>
    <javadoc
      overview="${java.src.dir}/overview.html"
      packagenames="org.apache.hadoop.*"
      destdir="${build.javadoc.dev}"
      author="true"
      version="true"
      use="true"
      windowtitle="${Name} ${version} API"
      doctitle="${Name} ${version} Developer API"
      bottom="Copyright &amp;copy; ${year} The Apache Software Foundation"
      maxmemory="${javadoc.maxmemory}">
        <packageset dir="${java.src.dir}"/>        	
        <link href="${javadoc.link.java}"/>
        <classpath >
          <path refid="classpath" />
          <path refid="javadoc-classpath"/>
          <pathelement path="${java.class.path}"/>
        </classpath>
    	<group title="${ant.project.name}" packages="org.apache.*"/>
    </javadoc>
  </target>	

  <target name="javadoc-uptodate" depends="compile, ivy-retrieve-javadoc">
    <uptodate property="javadoc.is.uptodate">
      <srcfiles dir="${src.dir}">
        <include name="**/*.java" />
        <include name="**/*.html" />
      </srcfiles>
      <mapper type="merge" to="${build.javadoc.timestamp}" />
    </uptodate>
  </target>
 
  <target name="javadoc" description="Generate javadoc" depends="javadoc-uptodate"
       unless="javadoc.is.uptodate">
    <mkdir dir="${build.javadoc}"/>
    <javadoc
      overview="${java.src.dir}/overview.html"
      packagenames="org.apache.hadoop.*"
      destdir="${build.javadoc}"
      author="true"
      version="true"
      use="true"
      windowtitle="${Name} ${version} API"
      doctitle="${Name} ${version} API"
      bottom="Copyright &amp;copy; ${year} The Apache Software Foundation"
      maxmemory="${javadoc.maxmemory}">

        <packageset dir="${java.src.dir}"/>
        <link href="${javadoc.link.java}"/>
        <classpath >
          <path refid="classpath" />
          <path refid="javadoc-classpath"/>
          <pathelement path="${java.class.path}"/>
          <pathelement location="${build.tools}"/>
        </classpath>

    	<group title="${ant.project.name}" packages="org.apache.*"/>
    </javadoc>
  </target>	

  <target name="api-xml" depends="ivy-retrieve-jdiff,javadoc,write-null">
    <javadoc maxmemory="${javadoc.maxmemory}">
       <doclet name="jdiff.JDiff"
               path="${jdiff.jar}:${xerces.jar}">
         <param name="-apidir" value="${jdiff.xml.dir}"/>
         <param name="-apiname" value="hadoop-hdfs ${version}"/>
       </doclet>
       <packageset dir="src/java"/>
       <classpath >
         <path refid="classpath" />
         <path refid="jdiff-classpath" />
         <pathelement path="${java.class.path}"/>
       </classpath>
    </javadoc>
  </target>
	
  <target name="write-null">
	<exec executable="touch">
	   <arg value="${jdiff.home}/Null.java"/>
        </exec>
  </target> 

  <target name="api-report" depends="ivy-retrieve-jdiff,api-xml">
    <mkdir dir="${jdiff.build.dir}"/>
    <javadoc sourcepath="src/java"
             destdir="${jdiff.build.dir}"
	     sourceFiles="${jdiff.home}/Null.java"
	     maxmemory="${javadoc.maxmemory}">
       <doclet name="jdiff.JDiff"
               path="${jdiff.jar}:${xerces.jar}">
         <param name="-oldapi" value="hadoop-hdfs ${jdiff.stable}"/>
         <param name="-newapi" value="hadoop-hdfs ${version}"/>
         <param name="-oldapidir" value="${jdiff.xml.dir}"/>
         <param name="-newapidir" value="${jdiff.xml.dir}"/>
         <param name="-javadocold" value="${jdiff.stable.javadoc}"/>
         <param name="-javadocnew" value="../../api/"/>
         <param name="-stats"/>
       </doclet>
       <classpath >
         <path refid="classpath" />
         <path refid="jdiff-classpath"/>
         <pathelement path="${java.class.path}"/>
       </classpath>
    </javadoc>
  </target>
	
  <target name="changes-to-html" description="Convert CHANGES.txt into an html file">
    <mkdir dir="${build.docs}"/>
    <exec executable="perl" input="CHANGES.txt" output="${build.docs}/changes.html" failonerror="true">
      <arg value="${changes.src}/changes2html.pl"/>
    </exec>
    <copy todir="${build.docs}">
      <fileset dir="${changes.src}" includes="*.css"/>
    </copy>
  </target>

  <!-- ================================================================== -->
  <!-- D I S T R I B U T I O N                                            -->
  <!-- ================================================================== -->
  <!--                                                                    -->
  <!-- ================================================================== -->
  <target name="package" depends="compile, jar, javadoc, docs, api-report, create-libhdfs-configure, jar-test, ant-tasks, jsvc"
	  description="Build distribution">
    <mkdir dir="${dist.dir}"/>
    <mkdir dir="${dist.dir}/lib"/>
    <mkdir dir="${dist.dir}/contrib"/>
    <mkdir dir="${dist.dir}/bin"/>
    <mkdir dir="${dist.dir}/docs"/>
    <mkdir dir="${dist.dir}/docs/api"/>
    <mkdir dir="${dist.dir}/docs/jdiff"/>

    <copy todir="${dist.dir}/lib" includeEmptyDirs="false" flatten="true">
      <fileset dir="${hdfs.ivy.lib.dir}"/>
    </copy>

    <copy todir="${dist.dir}/lib" includeEmptyDirs="false">
      <fileset dir="lib">
        <exclude name="**/native/**"/>
      </fileset>
    </copy>

    <subant target="package">
      <!--Pass down the version in case its needed again and the target
      distribution directory so contribs know where to install to.-->
      <property name="version" value="${version}"/>
      <property name="dist.dir" value="${dist.dir}"/>
      <fileset file="${contrib.dir}/build.xml"/>
    </subant>  	

    <copy todir="${dist.dir}/webapps">
      <fileset dir="${build.webapps}"/>
    </copy>

    <copy todir="${dist.dir}"> 
      <fileset file="${build.dir}/${name}-*.jar"/>
    </copy>
  	
    <copy todir="${dist.dir}/bin">
      <fileset dir="bin"/>
    </copy>

    <copy todir="${dist.dir}/conf">
      <fileset dir="${conf.dir}" excludes="**/*.template"/>
    </copy>

    <copy todir="${dist.dir}/docs">
      <fileset dir="${build.docs}"/>
    </copy>

    <copy file="ivy.xml" tofile="${dist.dir}/ivy.xml"/>

    <copy todir="${dist.dir}/ivy">
      <fileset dir="ivy"/>
    </copy>

    <copy todir="${dist.dir}">
      <fileset dir=".">
        <include name="*.txt" />
      </fileset>
    </copy>

    <copy todir="${dist.dir}/src" includeEmptyDirs="true">
      <fileset dir="src" excludes="**/*.template **/docs/build/**/*"/>
    </copy>

    <copy todir="${dist.dir}/c++" includeEmptyDirs="false">
      <fileset dir="${build.dir}/c++"/>
    </copy>

    <copy todir="${dist.dir}/" file="build.xml"/>

    <chmod perm="ugo+x" file="${dist.dir}/src/c++/libhdfs/configure" />
    <chmod perm="ugo+x" type="file" parallel="false">
        <fileset dir="${dist.dir}/bin"/>
        <fileset dir="${dist.dir}/src/contrib/">
          <include name="*/bin/*" />
        </fileset>
    </chmod>

  </target>

  <!-- ================================================================== -->
  <!-- Make release tarball                                               -->
  <!-- ================================================================== -->
  <target name="tar" depends="package" description="Make release tarball">
    <macro_tar param.destfile="${build.dir}/${final.name}.tar.gz">
      <param.listofitems>
        <tarfileset dir="${build.dir}" mode="664">
          <exclude name="${final.name}/bin/*" />
          <exclude name="${final.name}/contrib/*/bin/*" />
          <exclude name="${final.name}/src/c++/libhdfs/configure" />
          <include name="${final.name}/**" />
        </tarfileset>
        <tarfileset dir="${build.dir}" mode="755">
          <include name="${final.name}/bin/*" />
          <include name="${final.name}/contrib/*/bin/*" />
          <include name="${final.name}/src/c++/libhdfs/configure" />
        </tarfileset>
      </param.listofitems>
    </macro_tar>
  </target>

  <target name="bin-package" depends="compile, compile-c++-libhdfs, jar, jar-test, ant-tasks, jsvc" 
		description="assembles artifacts for binary target">
    <mkdir dir="${dist.dir}"/>
    <mkdir dir="${dist.dir}/lib"/>
    <mkdir dir="${dist.dir}/${package.share.dir}/contrib"/>
    <mkdir dir="${dist.dir}/${package.share.dir}/lib"/>
    <mkdir dir="${dist.dir}/${package.share.dir}/templates"/>
    <mkdir dir="${dist.dir}/bin"/>
    <mkdir dir="${dist.dir}/libexec"/>
    <mkdir dir="${dist.dir}/sbin"/>

    <copy todir="${dist.dir}/${package.share.dir}/lib" includeEmptyDirs="false" flatten="true">
      <fileset dir="${hdfs.ivy.lib.dir}"/>
    </copy>

    <copy todir="${dist.dir}/lib" includeEmptyDirs="false">
      <fileset dir="${build.dir}/c++/${build.platform}/lib" erroronmissingdir="false">
        <include name="**"/>
      </fileset>
    </copy>

    <subant target="package">
      <!--Pass down the version in case its needed again and the target
      distribution directory so contribs know where to install to.-->
      <property name="version" value="${version}"/>
      <property name="dist.dir" value="${dist.dir}/${package.share.dir}"/>
      <fileset file="${contrib.dir}/build.xml"/>
    </subant>  

    <copy todir="${dist.dir}/${package.share.dir}"> 
      <fileset file="${build.dir}/${name}-*.jar"/>
    </copy>
  	
    <copy todir="${dist.dir}/bin">
      <fileset dir="bin">
        <include name="hdfs"/>
      </fileset>
    </copy>

    <copy todir="${dist.dir}/libexec">
      <fileset dir="bin">
        <include name="hdfs-config.sh"/>
      </fileset>
    </copy>

    <copy todir="${dist.dir}/sbin">
      <fileset dir="bin">
        <include name="start-*.sh"/>
        <include name="stop-*.sh"/>
      </fileset>
    </copy>

    <copy file="${basedir}/src/packages/rpm/init.d/hadoop-namenode" tofile="${dist.dir}/sbin/hadoop-namenode.redhat"/>
    <copy file="${basedir}/src/packages/rpm/init.d/hadoop-datanode" tofile="${dist.dir}/sbin/hadoop-datanode.redhat"/>
    <copy file="${basedir}/src/packages/deb/init.d/hadoop-namenode" tofile="${dist.dir}/sbin/hadoop-namenode.debian"/>
    <copy file="${basedir}/src/packages/deb/init.d/hadoop-datanode" tofile="${dist.dir}/sbin/hadoop-datanode.debian"/>

    <copy file="${basedir}/src/packages/update-hdfs-env.sh" tofile="${dist.dir}/sbin/update-hdfs-env.sh"/>
    
    <copy todir="${dist.dir}/etc/hadoop">
      <fileset dir="${conf.dir}" excludes="**/*.template"/>
      <fileset dir="${basedir}/src/packages/templates/conf" includes="*.template"/>
    </copy>

    <copy todir="${dist.dir}/${package.share.dir}/templates">
      <fileset dir="${basedir}/src/packages/templates/conf" includes="*"/>
    </copy>

    <copy todir="${dist.dir}/${package.share.dir}/webapps">
      <fileset dir="${build.webapps}"/>
    </copy>

    <copy todir="${dist.dir}/share/doc/hadoop/${module}">
      <fileset dir=".">
        <include name="*.txt" />
      </fileset>
    </copy>
  	
    <chmod perm="ugo+x" type="file" parallel="false">
        <fileset dir="${dist.dir}/bin"/>
        <fileset dir="${dist.dir}/sbin"/>
    </chmod>
  </target>

  <target name="binary-system" depends="bin-package, jar-system, jar-test-system"
     description="make system test package for deployment">
    <copy todir="${system-test-build-dir}/${final.name}">
      <fileset dir="${dist.dir}">
      </fileset>
    </copy>
    <copy todir="${system-test-build-dir}/${final.name}/conf">
      <fileset dir="${test.src.dir}/system/conf/"/>
    </copy>
    <copy tofile="${system-test-build-dir}/${final.name}/lib/hadoop-common-${hadoop-common.version}.jar"
      file="${system-test-build-dir}/ivy/lib/${ant.project.name}/system/hadoop-common-${herriot.suffix}-${hadoop-common.version}.jar"
      overwrite="true"/>
    <copy tofile="${system-test-build-dir}/${final.name}/${final.name}.jar"
      file="${system-test-build-dir}/${instrumented.final.name}.jar" overwrite="true"/>
    <copy tofile="${system-test-build-dir}/${final.name}/${final.name}-sources.jar"
      file="${system-test-build-dir}/${instrumented.final.name}-sources.jar" overwrite="true"/>
    <copy todir="${system-test-build-dir}/${final.name}"
      file="${system-test-build-dir}/${name}-${herriot.suffix}-test-${version}.jar"/>
    <copy todir="${system-test-build-dir}/${final.name}"
      file="${system-test-build-dir}/${name}-${herriot.suffix}-test-${version}-sources.jar"/>
    <macro_tar 
      param.destfile="${system-test-build-dir}/${final.name}-bin.tar.gz">
        <param.listofitems>
          <tarfileset dir="${system-test-build-dir}" mode="664">
            <exclude name="${final.name}/bin/*" />
            <exclude name="${final.name}/libexec/*" />
            <exclude name="${final.name}/src/**" />
            <exclude name="${final.name}/docs/**" />
            <include name="${final.name}/**" />
          </tarfileset>
          <tarfileset dir="${build.dir}" mode="755">
            <include name="${final.name}/bin/*" />
            <include name="${final.name}/libexec/*" />
            <include name="${final.name}/sbin/*" />
          </tarfileset>
        </param.listofitems>
      </macro_tar>
  </target>
  
  <target name="binary" depends="bin-package" description="Make tarball without source and documentation">
    <macro_tar param.destfile="${build.dir}/${final.name}-bin.tar.gz">
      <param.listofitems>
        <tarfileset dir="${build.dir}" mode="664">
          <exclude name="${final.name}/bin/*" />
          <exclude name="${final.name}/libexec/*" />
          <exclude name="${final.name}/sbin/*" />
          <exclude name="${final.name}/src/**" />
          <exclude name="${final.name}/docs/**" />
          <include name="${final.name}/**" />
        </tarfileset>
        <tarfileset dir="${build.dir}" mode="755">
          <include name="${final.name}/bin/*" />
          <include name="${final.name}/libexec/*" />
          <include name="${final.name}/sbin/*" />
        </tarfileset>
      </param.listofitems>
    </macro_tar>
  </target>

  <target name="rpm" depends="binary" description="Make rpm package">
    <mkdir dir="${package.buildroot}/BUILD" />
    <mkdir dir="${package.buildroot}/RPMS" />
    <mkdir dir="${package.buildroot}/SRPMS" />
    <mkdir dir="${package.buildroot}/SOURCES" />
    <mkdir dir="${package.buildroot}/SPECS" />
    <copy todir="${package.buildroot}/SOURCES">
      <fileset dir="${build.dir}">
        <include name="${final.name}-bin.tar.gz" />
      </fileset>
    </copy>
    <copy file="${src.dir}/packages/rpm/spec/hadoop-hdfs.spec" todir="${package.buildroot}/SPECS">
      <filterchain>
        <replacetokens>
          <token key="final.name" value="${final.name}" />
          <token key="version" value="${_version}" />
          <token key="package.release" value="${package.release}" />
          <token key="package.build.dir" value="${package.build.dir}" />
          <token key="package.prefix" value="${package.prefix}" />
          <token key="package.conf.dir" value="${package.conf.dir}" />
          <token key="package.log.dir" value="${package.log.dir}" />
          <token key="package.pid.dir" value="${package.pid.dir}" />
          <token key="package.var.dir" value="${package.var.dir}" />
        </replacetokens>
      </filterchain>
    </copy>
    <rpm specFile="hadoop-hdfs.spec" command="-bb --target ${os.arch}" topDir="${package.buildroot}" cleanBuildDir="true" failOnError="true"/>
    <copy todir="${build.dir}/" flatten="true">
      <fileset dir="${package.buildroot}/RPMS">
        <include name="**/*.rpm" />
      </fileset>
    </copy>
    <delete dir="${package.buildroot}" quiet="true" verbose="false"/>
  </target>

  <target name="deb" depends="ivy-retrieve-package, binary" description="Make deb package">
    <taskdef name="deb"
           classname="org.vafer.jdeb.ant.DebAntTask">
      <classpath refid="ivy-package.classpath" />
    </taskdef>

    <mkdir dir="${package.build.dir}/hadoop.control" />
    <mkdir dir="${package.buildroot}/${package.prefix}" />
    <copy todir="${package.buildroot}/${package.prefix}">
      <fileset dir="${build.dir}/${final.name}">
        <include name="**" />
      </fileset>
    </copy>
    <copy todir="${package.build.dir}/hadoop.control">
      <fileset dir="${src.dir}/packages/deb/hadoop.control">
        <exclude name="control" />
      </fileset>
    </copy>
    <copy file="${src.dir}/packages/deb/hadoop.control/control" todir="${package.build.dir}/hadoop.control">
      <filterchain>
        <replacetokens>
          <token key="final.name" value="${final.name}" />
          <token key="version" value="${_version}" />
          <token key="package.release" value="${package.release}" />
          <token key="package.build.dir" value="${package.build.dir}" />
          <token key="package.prefix" value="${package.prefix}" />
          <token key="package.conf.dir" value="${package.conf.dir}" />
          <token key="package.log.dir" value="${package.log.dir}" />
          <token key="package.pid.dir" value="${package.pid.dir}" />
        </replacetokens>
      </filterchain>
    </copy>
    <deb destfile="${package.buildroot}/${name}_${_version}-${package.release}_${os.arch}.deb" control="${package.build.dir}/hadoop.control">
      <tarfileset dir="${build.dir}/${final.name}" filemode="644" prefix="${package.prefix}">
        <exclude name="bin/*" />
        <exclude name="${package.share.dir}/contrib/*/bin/*" />
        <exclude name="etc" />
        <exclude name="etc/**" />
        <exclude name="libexec/*" />
        <exclude name="sbin/*" />
        <include name="**" />
      </tarfileset>
      <tarfileset dir="${build.dir}/${final.name}" filemode="755" prefix="${package.prefix}">
        <include name="bin/*" />
        <exclude name="sbin/*.redhat" />
        <exclude name="sbin/*.debian" />
        <include name="sbin/*" />
        <include name="libexec/*" />
        <include name="${package.share.dir}/contrib/*/bin/*" />
      </tarfileset>
      <tarfileset dir="${src.dir}/packages" filemode="755" prefix="${package.prefix}/sbin">
        <include name="*.sh" />
      </tarfileset>
      <tarfileset dir="${build.dir}/${final.name}/etc/hadoop" filemode="644" prefix="${package.conf.dir}">
        <include name="**" />
        <exclude name="configuration.xsl" />
        <exclude name="hadoop-metrics2.properties" />
        <exclude name="core-site.xml" />
        <exclude name="hdfs-site.xml" />
        <exclude name="mapred-site.xml" />
      </tarfileset>
      <tarfileset dir="${basedir}/src/packages/deb/init.d" filemode="755" prefix="/etc/init.d">
        <include name="**" />
      </tarfileset>
    </deb>
    <copy todir="${build.dir}/" flatten="true">
      <fileset dir="${package.buildroot}">
        <include name="**/${name}*.deb" />
      </fileset>
    </copy>
    <delete dir="${package.buildroot}" quiet="true" verbose="false"/>
  </target>

  <!-- ================================================================== -->
  <!-- Perform audit activities for the release                           -->
  <!-- ================================================================== -->
  <target name="rats-taskdef" depends="ivy-retrieve-releaseaudit">
     <typedef format="xml" resource="org/apache/rat/anttasks/antlib.xml" uri="antlib:org.apache.rat.anttasks"
      classpathref="releaseaudit-classpath"/>
  </target>

  <target name="releaseaudit" depends="package, rats-taskdef" description="Release Audit activities">
   <rat:report xmlns:rat="antlib:org.apache.rat.anttasks">
      <fileset dir="${dist.dir}">
        <exclude name="CHANGES.txt"/>
        <exclude name="docs/"/>
        <exclude name="lib/jdiff/"/>
        <exclude name="**/conf/*" />
        <exclude name="webapps/**/WEB-INF/web.xml"/>
        <exclude name="src/docs/releasenotes.html" />
        <exclude name="src/test/hdfs/org/apache/hadoop/cli/clitest_data/" />
        <exclude name="src/test/hdfs/org/apache/hadoop/hdfs/tools/offlineEditsViewer/editsStored*" />
        <exclude name="**/*/robots.txt" />
        <exclude name="src/c++/libhdfs/m4/libtool.m4" />
        <exclude name="src/c++/libhdfs/m4/lt~obsolete.m4" />
        <exclude name="src/c++/libhdfs/m4/ltoptions.m4" />
        <exclude name="src/c++/libhdfs/m4/ltsugar.m4" />
        <exclude name="src/c++/libhdfs/m4/ltversion.m4" />
        <exclude name="src/test/commit-tests" />
        <exclude name="src/test/smoke-tests" />
        <exclude name="src/test/all-tests" />
        <exclude name="src/test/empty-file" />
        <exclude name="**/*/*.properties" />
        <exclude name="src/c++/libhdfs/config.guess" />
        <exclude name="src/c++/libhdfs/config.sub" />
        <exclude name="src/c++/libhdfs/configure" />
        <exclude name="src/c++/libhdfs/depcomp" />
        <exclude name="src/c++/libhdfs/install-sh" />
        <exclude name="src/c++/libhdfs/ltmain.sh" />
        <exclude name="src/c++/libhdfs/missing" />
        <exclude name="src/contrib/hdfsproxy/src/test/resources/" />
        <exclude name="src/test/checkstyle-noframes-sorted.xsl" />
        <exclude name="src/test/checkstyle.xml" />
        <exclude name="src/test/findbugsExcludeFile.xml" />
        <exclude name="src/docs/**/*.odg" />
        <exclude name="**/*.tgz" />
        <exclude name="**/*.tar" />
      </fileset>
    </rat:report>
  </target>

  <!-- ================================================================== -->
  <!-- Clean.  Delete the build files, and their directories              -->
  <!-- ================================================================== -->
  <target name="clean" depends="clean-contrib, clean-fi, clean-sign" description="Clean.  Delete the build files, and their directories">
    <delete dir="${build.dir}"/>
    <delete dir="${build-fi.dir}"/>
    <delete dir="${docs.src}/build"/>
    <delete file="${hadoop-hdfs.pom}"/>
    <delete file="${hadoop-hdfs-test.pom}"/>
    <delete file="${hadoop-hdfs-instrumented.pom}"/>
    <delete file="${hadoop-hdfs-instrumented-test.pom}"/>
  </target>

  <target name="clean-sign" description="Clean.  Delete .asc files">
    <delete>
      <fileset dir="." includes="**/**/*.asc"/>
    </delete>
  </target>

  <target name="veryclean" depends="clean-cache,clean" 
          description="veryclean.  Delete ant maven task and ivy jars">
    <delete file="${ant_task.jar}"/>
    <delete file="${ivy.jar}"/>
  </target>

  <target name="clean-cache" depends="clean" description="Clean. Delete ivy cache">
    <delete dir="${user.home}/.ivy2/cache/org.apache.hadoop"/>
  </target>

  <!-- ================================================================== -->
  <!-- Clean contrib target. For now, must be called explicitly           -->
  <!-- Using subant instead of ant as a workaround for 30569              -->
  <!-- ================================================================== -->
  <target name="clean-contrib">
     <subant target="clean">        
        <fileset file="src/contrib/build.xml"/>
     </subant>  	
  </target>

 <target name="test-c++-libhdfs" depends="compile-c++-libhdfs, compile-core" if="libhdfs" unless="clover.enabled">
    <delete dir="${test.libhdfs.dir}"/>
    <mkdir dir="${test.libhdfs.dir}"/>
    <mkdir dir="${test.libhdfs.dir}/conf"/>
    <mkdir dir="${test.libhdfs.dir}/logs"/>
    <mkdir dir="${test.libhdfs.dir}/hdfs/name"/>

    <exec dir="${build.c++.libhdfs}" executable="${make.cmd}" failonerror="true">
        <env key="OS_NAME" value="${os.name}"/>
        <env key="OS_ARCH" value="${os.arch}"/>
        <env key="JVM_ARCH" value="${jvm.arch}"/>
        <env key="LIBHDFS_BUILD_DIR" value="${build.c++.libhdfs}"/>
        <env key="HADOOP_PREFIX" value="${basedir}"/>
        <env key="HADOOP_CONF_DIR" value="${test.libhdfs.dir}/conf"/>
        <env key="HADOOP_LOG_DIR" value="${test.libhdfs.dir}/logs"/>
        <env key="LIBHDFS_TEST_DIR" value="${test.libhdfs.dir}"/>
        <env key="LIBHDFS_SRC_DIR" value="${c++.libhdfs.src}"/>
        <env key="LIBHDFS_INSTALL_DIR" value="${install.c++}/lib"/>  
        <env key="LIB_DIR" value="${common.ivy.lib.dir}"/>
        <env key="CLOVER_JAR" value="${clover.jar}"/>
		<arg value="test"/>
    </exec>
  </target>

  <target name="check-libhdfs-configure" depends="init" if="libhdfs">
    <condition property="need.libhdfs.configure">
       <not> <available file="${c++.libhdfs.src}/configure"/> </not>
    </condition>
  </target>

  <target name="create-libhdfs-configure" depends="check-libhdfs-configure" if="need.libhdfs.configure">
    <mkdir dir="${c++.libhdfs.src}/config"/>
    <exec executable="autoreconf" dir="${c++.libhdfs.src}" 
          searchpath="yes" failonerror="yes">
       <arg value="-if"/>
    </exec>
  </target>

  <target name="check-libhdfs-makefile" depends="init" if="libhdfs">
    <condition property="need.libhdfs.makefile">
       <not> <available file="${c++.libhdfs.src}/Makefile"/> </not>
    </condition>
  </target>

  <target name="create-libhdfs-makefile" depends="check-libhdfs-makefile" 
                                           if="need.libhdfs.makefile">
    <antcall target="create-libhdfs-configure"/>
    <mkdir dir="${build.c++.libhdfs}"/>
    <exec executable="${c++.libhdfs.src}/configure" dir="${build.c++.libhdfs}"
          failonerror="yes">
      <env key="ac_cv_func_malloc_0_nonnull" value="yes"/>
      <env key="JVM_ARCH" value="${jvm.arch}"/>
      <arg value="--prefix=${install.c++}"/>
      <env key="base_dir" value="${basedir}"/>
    </exec>
  </target>

  <target name="compile-c++-libhdfs" depends="create-libhdfs-makefile" if="libhdfs">
    <exec executable="${make.cmd}" dir="${build.c++.libhdfs}" searchpath="yes"
          failonerror="yes">
      <env key="ac_cv_func_malloc_0_nonnull" value="yes"/>
      <env key="JVM_ARCH" value="${jvm.arch}"/>
      <arg value="install"/>
    </exec>
    <!-- Create a build platform-agnostic link to c++ libs -->
    <symlink overwrite="true" link="${build.dir}/c++/lib" resource="${install.c++}/lib"/>
  </target>

  <target name="compile-ant-tasks" depends="compile-core">
    <javac
        encoding="${build.encoding}"
        srcdir="${anttasks.dir}"
        includes="org/apache/hadoop/ant/**/*.java"
        destdir="${build.anttasks}"
        debug="${javac.debug}"
        optimize="${javac.optimize}"
        target="${javac.version}"
        source="${javac.version}"
        deprecation="${javac.deprecation}">
        <compilerarg line="${javac.args}"/>
        <classpath refid="classpath"/>
    </javac>
  </target>

  <target name="ant-tasks" depends="jar, compile-ant-tasks">
    <copy file="${anttasks.dir}/org/apache/hadoop/ant/antlib.xml"
          todir="${build.anttasks}/org/apache/hadoop/ant"/>
    <jar destfile="${build.dir}/${ant.final.name}.jar">
      <fileset dir="${build.anttasks}"/>
    </jar>
  </target>

 <target name="clover" depends="clover.setup, clover.info" description="Instrument the Unit tests using Clover.  To use, specify -Dclover.home=&lt;base of clover installation&gt; -Drun.clover=true on the command line."/>

<target name="clover.setup" if="clover.enabled">
   <taskdef resource="cloverlib.xml" classpath="${clover.jar}"/>
   <mkdir dir="${clover.db.dir}"/>
   <clover-setup initString="${clover.db.dir}/hadoop_coverage.db">
     <fileset dir="${src.dir}" includes="java/**/*"/>
     <testsources dir="${test.src.dir}" />
   </clover-setup>
   <echo message="HDFS-783: test-libhdfs is disabled for Clover'ed builds" />
</target>

<target name="clover.info" unless="clover.present">
  <echo>
     Clover not found. Code coverage reports disabled.
  </echo>
</target>

<target name="clover.check">
  <fail unless="clover.present">
  ##################################################################
   Clover not found.
   Please specify -Dclover.home=&lt;base of clover installation&gt;
   on the command line.
  ##################################################################
  </fail>
</target>

<target name="generate-clover-reports" depends="clover.check, clover">
  <mkdir dir="${clover.report.dir}"/>
  <clover-report>
     <current outfile="${clover.report.dir}" title="${final.name}">
     <format type="html"/>
     </current>
  </clover-report>
  <clover-report>
     <current outfile="${clover.report.dir}/clover.xml" title="${final.name}">
     <format type="xml"/>
     </current>
  </clover-report>
</target>

<target name="findbugs.check" depends="check-for-findbugs" unless="findbugs.present">
  <fail message="'findbugs.home' is not defined. Please pass -Dfindbugs.home=&lt;base of Findbugs installation&gt; to Ant on the command-line." />
</target>

<target name="patch.check" unless="patch.file">
  <fail message="'patch.file' is not defined. Please pass -Dpatch.file=&lt;location of patch file&gt; to Ant on the command-line." />
</target>

<target name="test-patch" depends="patch.check,findbugs.check,forrest.check">
  <exec executable="bash" failonerror="true">
    <arg value="${basedir}/src/test/bin/test-patch.sh"/>
    <arg value="DEVELOPER"/>
    <arg value="${patch.file}"/>
    <arg value="${scratch.dir}"/>
    <arg value="${svn.cmd}"/>
    <arg value="${grep.cmd}"/>
    <arg value="${patch.cmd}"/>
    <arg value="${findbugs.home}"/>
    <arg value="${forrest.home}"/>
    <arg value="${basedir}"/>
  </exec>
</target>

<target name="hudson-test-patch" depends="findbugs.check,forrest.check">
  <exec executable="bash" failonerror="true">
    <arg value="${basedir}/src/test/bin/test-patch.sh"/>
    <arg value="HUDSON"/>
    <arg value="${scratch.dir}"/>
    <arg value="${support.dir}"/>
    <arg value="${ps.cmd}"/>
    <arg value="${wget.cmd}"/>
    <arg value="${jiracli.cmd}"/>
    <arg value="${svn.cmd}"/>
    <arg value="${grep.cmd}"/>
    <arg value="${patch.cmd}"/>
    <arg value="${findbugs.home}"/>
    <arg value="${forrest.home}"/>
    <arg value="${eclipse.home}"/>
    <arg value="${basedir}"/>
    <arg value="${jira.passwd}"/>
    <arg value="${curl.cmd}"/>
    <arg value="${defect}"/>
  </exec>
</target>
	
  <condition property="ant-eclipse.jar.exists">
    <available file="${build.dir}/lib/ant-eclipse-1.0-jvm1.2.jar"/>
  </condition>

  <target name="ant-eclipse-download" unless="ant-eclipse.jar.exists"
          description="Downloads the ant-eclipse binary.">
    <get src="http://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"
         dest="${build.dir}/ant-eclipse-1.0.bin.tar.bz2" usetimestamp="false" />

    <untar src="${build.dir}/ant-eclipse-1.0.bin.tar.bz2"
           dest="${build.dir}" compression="bzip2">
      <patternset>
        <include name="lib/ant-eclipse-1.0-jvm1.2.jar"/>
      </patternset>
    </untar>
    <delete file="${build.dir}/java/ant-eclipse-1.0.bin.tar.bz2" />
  </target>
  
  <target name="eclipse" 
          depends="init,ant-eclipse-download,ivy-retrieve-hdfs,ivy-retrieve-common,ivy-retrieve-test"
          description="Create eclipse project files">
       <pathconvert property="eclipse.project">
         <path path="${basedir}"/>
         <regexpmapper from="^.*/([^/]+)$$" to="\1" handledirsep="yes"/>
       </pathconvert>
    <taskdef name="eclipse"
             classname="prantl.ant.eclipse.EclipseTask"
             classpath="${build.dir}/lib/ant-eclipse-1.0-jvm1.2.jar" />
    <eclipse updatealways="true">
      <project name="${eclipse.project}" />
      <classpath>
        <source path="${java.src.dir}"
                output="${build.dir.eclipse-main-classes}" />
        <source path="${build.src}"
                output="${build.dir.eclipse-main-generated-classes}" />
        <source path="${test.src.dir}/hdfs"
                output="${build.dir.eclipse-test-classes}" />
        <source path="${test.src.dir}/unit"
                output="${build.dir.eclipse-test-classes}" />
        <output path="${build.dir.eclipse-main-classes}" />
        <library pathref="ivy-common.classpath" exported="true" />
        <library pathref="ivy-hdfs.classpath" exported="true" />
        <library pathref="ivy-test.classpath" exported="false" />
        <library path="${build.webapps.root.dir}" exported="false" />
        <library path="${conf.dir}" exported="false" />
      </classpath>
    </eclipse>
	<copy todir="." overwrite="true">
      <fileset dir=".eclipse.templates">
      	<exclude name="**/README.txt"/>
      </fileset>
      <filterset>
        <filter token="PROJECT" value="${eclipse.project}"/>
      </filterset>
    </copy>
  </target>

  <target name="ivy-init-dirs">
    <mkdir dir="${build.ivy.dir}" />
    <mkdir dir="${build.ivy.lib.dir}" />
    <mkdir dir="${build.ivy.report.dir}" />
    <mkdir dir="${build.ivy.maven.dir}" />
  </target>

  <target name="ivy-probe-antlib" >
    <condition property="ivy.found">
      <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
    </condition>
  </target>

  <target name="ivy-download" description="To download ivy" unless="offline">
    <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/>
  </target>

  <target name="ant-task-download" description="To download mvn-ant-task" unless="offline">
    <get src="${ant_task_repo_url}" dest="${ant_task.jar}" usetimestamp="true"/>
  </target>

  <target name="mvn-taskdef" depends="ant-task-download">
     <path id="mvn-ant-task.classpath" path="${ant_task.jar}"/> 
     <typedef resource="org/apache/maven/artifact/ant/antlib.xml" 
         uri="urn:maven-artifact-ant" classpathref="mvn-ant-task.classpath"/>
  </target>   

  <target name="mvn-install" depends="mvn-taskdef,jar,jar-test,set-version"
     description="To install hadoop hdfs and test jars to local filesystem's m2 cache">
     <artifact:pom file="${hadoop-hdfs.pom}" id="hadoop.hdfs"/>
     <artifact:pom file="${hadoop-hdfs-test.pom}" id="hadoop.hdfs.test"/>
     <artifact:install file="${hadoop-hdfs.jar}">
        <pom refid="hadoop.hdfs"/>
        <attach file="${hadoop-hdfs-sources.jar}" classifier="sources" />
     </artifact:install>
     <artifact:install file="${hadoop-hdfs-test.jar}">
        <pom refid="hadoop.hdfs.test"/>
        <attach file="${hadoop-hdfs-test-sources.jar}" classifier="sources" />
     </artifact:install>
   </target>

   <target name="mvn-si-install" depends="mvn-install,-mvn-system-install"
           description="Install system integration tests jars as well"/>
  
   <target name="mvn-deploy" depends="mvn-taskdef, jar, jar-test,
     jar-system, jar-test-system, set-version, signanddeploy, simpledeploy"
     description="To deploy hadoop hdfs and test jar's to apache
     snapshot's repository"/>

   <target name="signanddeploy" if="staging" depends="sign">
     <artifact:pom file="${hadoop-hdfs.pom}" id="hadoop.hdfs"/>
     <artifact:pom file="${hadoop-hdfs-test.pom}" id="hadoop.hdfs.test"/>
     <artifact:pom file="${hadoop-hdfs-instrumented.pom}" 
       id="hadoop.hdfs.${herriot.suffix}"/>
     <artifact:pom file="${hadoop-hdfs-instrumented-test.pom}" 
       id="hadoop.hdfs.${herriot.suffix}.test"/>
     <artifact:install-provider artifactId="wagon-http"
     version="${wagon-http.version}"/>

     <artifact:deploy file="${hadoop-hdfs.jar}">
       <remoteRepository id="apache.staging.https" url="${asfstagingrepo}"/>
       <pom refid="hadoop.hdfs"/>
       <attach file="${hadoop-hdfs.jar}.asc" type="jar.asc"/>
       <attach file="${hadoop-hdfs.pom}.asc" type="pom.asc"/>
       <attach file="${hadoop-hdfs-sources.jar}.asc" type="jar.asc"
         classifier="sources" />
       <attach file="${hadoop-hdfs-sources.jar}" classifier="sources"/>
     </artifact:deploy>

     <artifact:deploy file="${hadoop-hdfs-test.jar}">
       <remoteRepository id="apache.staging.https" url="${asfstagingrepo}"/>
       <pom refid="hadoop.hdfs.test"/>
       <attach file="${hadoop-hdfs-test.jar}.asc" type="jar.asc"/>
       <attach file="${hadoop-hdfs-test.pom}.asc" type="pom.asc"/>
       <attach file="${hadoop-hdfs-test-sources.jar}.asc" type="jar.asc"
         classifier="sources"/>
       <attach file="${hadoop-hdfs-test-sources.jar}" classifier="sources"/>
     </artifact:deploy>

     <artifact:deploy file="${hadoop-hdfs-instrumented.jar}">
       <remoteRepository id="apache.staging.https" url="${asfstagingrepo}"/>
       <pom refid="hadoop.hdfs.${herriot.suffix}"/>
       <attach file="${hadoop-hdfs-instrumented.jar}.asc" type="jar.asc"/>
       <attach file="${hadoop-hdfs-instrumented.pom}.asc" type="pom.asc"/>
       <attach file="${hadoop-hdfs-instrumented-sources.jar}.asc" 
         type="jar.asc" classifier="sources"/>
       <attach file="${hadoop-hdfs-instrumented-sources.jar}"
         classifier="sources"/>
     </artifact:deploy>

      <artifact:deploy file="${hadoop-hdfs-instrumented-test.jar}">
       <remoteRepository id="apache.staging.https" url="${asfstagingrepo}"/>
       <pom refid="hadoop.hdfs.${herriot.suffix}.test"/>
       <attach file="${hadoop-hdfs-instrumented-test.jar}.asc" type="jar.asc"/>
       <attach file="${hadoop-hdfs-instrumented-test.pom}.asc" type="pom.asc"/>
       <attach file="${hadoop-hdfs-instrumented-test-sources.jar}.asc" 
         type="jar.asc" classifier="sources"/>
       <attach file="${hadoop-hdfs-instrumented-test-sources.jar}"
         classifier="sources"/>
     </artifact:deploy>
   </target>

   <target name="sign" depends="clean-sign" if="staging">
    <input message="password:>" addproperty="gpg.passphrase">
     <handler classname="org.apache.tools.ant.input.SecureInputHandler" />
    </input>
    <macrodef name="sign-artifact" description="Signs the artifact">
      <attribute name="input.file"/>
      <attribute name="output.file" default="@{input.file}.asc"/>
      <attribute name="gpg.passphrase"/>
      <sequential>
        <echo>Signing @{input.file} Sig File: @{output.file}</echo>
        <exec executable="gpg" >
          <arg value="--armor"/>
          <arg value="--output"/>
          <arg value="@{output.file}"/>
          <arg value="--passphrase"/>
          <arg value="@{gpg.passphrase}"/>
          <arg value="--detach-sig"/>
          <arg value="@{input.file}"/>
        </exec>
      </sequential>
    </macrodef>
    <sign-artifact input.file="${hadoop-hdfs.jar}" 
     output.file="${hadoop-hdfs.jar}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-test.jar}" 
     output.file="${hadoop-hdfs-test.jar}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-sources.jar}" 
     output.file="${hadoop-hdfs-sources.jar}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-test-sources.jar}" 
     output.file="${hadoop-hdfs-test-sources.jar}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs.pom}" 
     output.file="${hadoop-hdfs.pom}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-test.pom}" 
     output.file="${hadoop-hdfs-test.pom}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-instrumented.jar}" 
     output.file="${hadoop-hdfs-instrumented.jar}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-instrumented.pom}" 
     output.file="${hadoop-hdfs-instrumented.pom}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-instrumented-sources.jar}" 
     output.file="${hadoop-hdfs-instrumented-sources.jar}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-instrumented-test.jar}" 
     output.file="${hadoop-hdfs-instrumented-test.jar}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-instrumented-test.pom}" 
     output.file="${hadoop-hdfs-instrumented-test.pom}.asc" gpg.passphrase="${gpg.passphrase}"/>
    <sign-artifact input.file="${hadoop-hdfs-instrumented-test-sources.jar}" 
     output.file="${hadoop-hdfs-instrumented-test-sources.jar}.asc" gpg.passphrase="${gpg.passphrase}"/>
  </target>

  <target name="simpledeploy" unless="staging">
     <artifact:pom file="${hadoop-hdfs.pom}" id="hadoop.hdfs"/>
     <artifact:pom file="${hadoop-hdfs-test.pom}" id="hadoop.hdfs.test"/>
     <artifact:pom file="${hadoop-hdfs-instrumented.pom}" 
       id="hadoop.hdfs.${herriot.suffix}"/>

     <artifact:install-provider artifactId="wagon-http" version="${wagon-http.version}"/>
     <artifact:deploy file="${hadoop-hdfs.jar}">
         <remoteRepository id="apache.snapshots.https" url="${asfsnapshotrepo}"/>
         <pom refid="hadoop.hdfs"/>
         <attach file="${hadoop-hdfs-sources.jar}" classifier="sources" />
     </artifact:deploy>

     <artifact:deploy file="${hadoop-hdfs-test.jar}">
         <remoteRepository id="apache.snapshots.https" url="${asfsnapshotrepo}"/>
         <pom refid="hadoop.hdfs.test"/>
         <attach file="${hadoop-hdfs-test-sources.jar}" classifier="sources" />
     </artifact:deploy> 

     <artifact:deploy file="${hadoop-hdfs-instrumented.jar}">
         <remoteRepository id="apache.snapshots.https" url="${asfsnapshotrepo}"/>
         <pom refid="hadoop.hdfs.${herriot.suffix}"/>
         <attach file="${hadoop-hdfs-instrumented-sources.jar}" classifier="sources" />
     </artifact:deploy>
  </target>

  <target name="set-version">
    <delete file="${basedir}/ivy/hadoop-hdfs.xml"/>
    <delete file="${basedir}/ivy/hadoop-hdfs-test.xml"/>
    <delete file="${basedir}/ivy/hadoop-hdfs-${herriot.suffix}.xml"/>
    <delete file="${basedir}/ivy/hadoop-hdfs-${herriot.suffix}-test.xml"/>
    <copy file="${basedir}/ivy/hadoop-hdfs-template.xml" tofile="${basedir}/ivy/hadoop-hdfs.xml"/>
    <copy file="${basedir}/ivy/hadoop-hdfs-test-template.xml" tofile="${basedir}/ivy/hadoop-hdfs-test.xml"/>
    <copy file="${basedir}/ivy/hadoop-hdfs-${herriot.suffix}-template.xml"
      tofile="${basedir}/ivy/hadoop-hdfs-${herriot.suffix}.xml"/>
    <copy file="${basedir}/ivy/hadoop-hdfs-${herriot.suffix}-test-template.xml"
      tofile="${basedir}/ivy/hadoop-hdfs-${herriot.suffix}-test.xml"/>
    <replaceregexp byline="true">
      <regexp pattern="@version"/>
      <substitution expression="${version}"/>
      <fileset dir="${basedir}/ivy">
        <include name="hadoop-hdfs.xml"/>
        <include name="hadoop-hdfs-test.xml"/>
        <include name="hadoop-hdfs-${herriot.suffix}.xml"/>
        <include name="hadoop-hdfs-${herriot.suffix}-test.xml"/>
      </fileset>
    </replaceregexp>
  </target>

  <!--
  To avoid Ivy leaking things across big projects, always load Ivy in the same classloader.
  Also note how we skip loading Ivy if it is already there, just to make sure all is well.
  -->
  <target name="ivy-init-antlib" depends="ivy-download,ivy-init-dirs,ivy-probe-antlib" unless="ivy.found">
    <typedef uri="antlib:org.apache.ivy.ant" onerror="fail"
      loaderRef="ivyLoader">
      <classpath>
        <pathelement location="${ivy.jar}"/>
      </classpath>
    </typedef>
    <fail >
      <condition >
        <not>
          <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
        </not>
      </condition>
      You need Apache Ivy 2.0 or later from http://ant.apache.org/
      It could not be loaded from ${ivy_repo_url}
    </fail>
  </target>

  <property name="ivyresolvelog" value="download-only"/>
  <property name="ivyretrievelog" value="quiet"/>

  <target name="ivy-init" depends="ivy-init-antlib" >

    <!--Configure Ivy by reading in the settings file
        If anyone has already read in a settings file into this settings ID, it gets priority
    -->
    <ivy:configure settingsid="${ant.project.name}.ivy.settings" file="${ivysettings.xml}" override='false'/>
  </target>

  <target name="ivy-resolve" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-javadoc" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="javadoc"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-releaseaudit" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="releaseaudit"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-test" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="test"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-compile" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="compile"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-common" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="common"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-package" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="package"
        log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-hdfs" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="hdfs"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-jdiff" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="jdiff"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-checkstyle" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="checkstyle"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-resolve-system" depends="ivy-init">
    <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="system"
      log="${ivyresolvelog}"/>
  </target>

  <target name="ivy-retrieve" depends="ivy-resolve"
    description="Retrieve Ivy-managed artifacts">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
        log="${ivyretrievelog}"/>
  </target>

  <target name="ivy-retrieve-checkstyle" depends="ivy-resolve-checkstyle"
    description="Retrieve Ivy-managed artifacts for the checkstyle configurations">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
        log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="checkstyle-classpath" conf="checkstyle"/>
  </target>

  <target name="ivy-retrieve-jdiff" depends="ivy-resolve-jdiff"
    description="Retrieve Ivy-managed artifacts for the javadoc configurations">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
        log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="jdiff-classpath" conf="jdiff"/>
  </target>

  <target name="ivy-retrieve-javadoc" depends="ivy-resolve-javadoc"
    description="Retrieve Ivy-managed artifacts for the javadoc configurations">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
        log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="javadoc-classpath" conf="javadoc"/>
  </target>

  <target name="ivy-retrieve-test" depends="ivy-resolve-test"
    description="Retrieve Ivy-managed artifacts for the test configurations">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
        log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="ivy-test.classpath" conf="test"/>
  </target>

  <target name="ivy-retrieve-compile" depends="ivy-resolve-compile"
    description="Retrieve Ivy-managed artifacts for the compile configurations">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
        log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="ivy-compile.classpath" conf="compile"/>
  </target>

  <target name="ivy-retrieve-common" depends="ivy-resolve-common"
    description="Retrieve Ivy-managed artifacts for the runtime configurations">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
        log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="ivy-common.classpath" conf="common"/>
  </target>

  <target name="ivy-retrieve-package" depends="ivy-resolve-package"
    description="Retrieve Ivy-managed artifacts for the package configurations">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
                log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="ivy-package.classpath" conf="package"/>
  </target>

  <target name="ivy-retrieve-hdfs" depends="ivy-resolve-hdfs"
    description="Retrieve Ivy-managed artifacts for the hdfs configurations">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
        log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="ivy-hdfs.classpath" conf="hdfs"/>
  </target>

  <target name="ivy-retrieve-releaseaudit" depends="ivy-resolve-releaseaudit"
    description="Retrieve Ivy-managed artifacts for the compile configurations">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" 
        log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="releaseaudit-classpath" conf="releaseaudit"/>
  </target>

  <target name="ivy-retrieve-system" depends="ivy-resolve-system"
    description="Retrieve Ivy-managed artifacts for the system tests">
    <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
      pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
        log="${ivyretrievelog}"/>
    <ivy:cachepath pathid="ivy-test.classpath" conf="system"/>
  </target>

  <target name="ivy-report" depends="ivy-resolve"
    description="Generate">
    <ivy:report todir="${build.ivy.report.dir}" settingsRef="${ant.project.name}.ivy.settings"/>
    <echo>
      Reports generated: ${build.ivy.report.dir}
    </echo>
  </target>

	<target name="jsvc" >
    <mkdir dir="${jsvc.build.dir}" />
    <get src="${jsvc.location}" dest="${jsvc.build.dir}/${jsvc.dest.name}" />

    <untar compression="gzip" src="${jsvc.build.dir}/${jsvc.dest.name}" dest="${jsvc.build.dir}" />

    <copy file="${jsvc.build.dir}/jsvc" todir="${jsvc.install.dir}" verbose="true" />
    <chmod perm="ugo+x" type="file">
      <fileset file="${jsvc.install.dir}/jsvc"/>
    </chmod>
 </target>
</project>
