<?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="hcatalog" default="jar"
         xmlns:ivy="antlib:org.apache.ivy.ant"
         xmlns:artifact="artifact:org.apache.maven.artifact.ant">

  <property name="path.to.basedir" location="${basedir}"/>

  <loadproperties srcfile="${basedir}/build.properties"/>

  <!--  
  ================================================================================
  Imports
  ================================================================================ -->

  <!--
  ================================================================================
  Properties and Classpaths Section
  ================================================================================
  -->

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

  <!-- e2e test properties -->
  <property name="test.e2e.dir" value="${basedir}/src/test/e2e/hcatalog"/>

  <!-- ivy properties set here -->
  <property name="ivy.repo.dir" value="${user.home}/ivyrepo" />
  <property name="ivy.dir" location="ivy" />
  <loadproperties srcfile="${ivy.dir}/libraries.properties"/>
  <property name="asfrepo" value="https://repository.apache.org"/>
  <property name="asfsnapshotrepo" value="${asfrepo}/content/repositories/snapshots"/>
  <property name="mvnrepo" value="http://repo2.maven.org/maven2"/>
  <property name="asfstagingrepo" value="${asfrepo}/service/local/staging/deploy/maven2"/>
  <property name="ivy.jar" location="${ivy.dir}/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="${mvnrepo}/org/apache/maven/maven-ant-tasks/${ant-task.version}/maven-ant-tasks-${ant-task.version}.jar"/>
  <property name="ivy_repo_url" value="${mvnrepo}/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/>
  <property name="ivy.xml" location="${basedir}/ivy.xml"/>
  <property name="ivysettings.xml" location="${ivy.dir}/ivysettings.xml" />
  <property name="build.ivy.dir" location="${build.dir}/ivy" />
  <property name="pom.file" location="${build.ivy.dir}/${ant.project.name}-${hcatalog.version}.pom"/>
  <property name="build.ivy.lib.dir" location="${build.ivy.dir}/lib" />
  <property name="ivy.lib.dir" location="${build.ivy.lib.dir}/${ant.project.name}"/>
  <property name="build.ivy.report.dir" location="${build.ivy.dir}/report" />

  <!-- packaging properties -->
  <property name="package.prefix" value="/usr"/>
  <property name="package.conf.dir" value="/etc/hcatalog"/>
  <property name="package.log.dir" value="/var/log/hcatalog"/>
  <property name="package.pid.dir" value="/var/run/hcatalog"/>
  <property name="package.var.dir" value="/var/lib/hcatalog"/>
  <property name="package.share.dir" value="/share/hcatalog/${module}"/>
  <property name="package.buildroot" value="${build.dir}/rpm/hcatalog_package_build_${user.name}"/>
  <property name="package.build.dir" value="${build.dir}/rpm/hcatalog_package_build_${user.name}/BUILD"/>

  <!-- rats properties -->
  <property name="rat.reporting.classname" value="rat.Report"/>

  <path id="compile.classpath">
    <fileset dir="${build.dir}/ivy/lib/default">
      <include name="**/*.jar"/>
    </fileset>
  </path>

  <path id="test.class.path">
    <pathelement location="${test.classes}"/>
    <pathelement location="${build.classes}"/>
    <pathelement location="conf"/>
    <fileset dir="${build.dir}/ivy/lib/test">
      <include name="**/*.jar"/>
    </fileset>
    <pathelement location="${basedir}/hcatalog-pig-adapter/build/hcatalog-pig-adapter-${hcatalog.version}.jar"/>
  </path>

  <!-- Classpath that includes all sub packages, used for things like Java docs -->
  <path id="uber.classpath">
    <fileset dir="${basedir}">
      <include name="**/build/ivy/lib/default/*.jar"/>
    </fileset>
  </path>

  <!-- This is a little janky because hcatalog-core.jar is not yet a submodule. -->
  <target name="ivy-report" depends="ivy-retrieve">
    <antcall target="_ivy-report"/>
    <ant target="_ivy-report" dir="hcatalog-pig-adapter" inheritAll="false" useNativeBasedir="true"/>
    <ant target="ivy-report" dir="storage-handlers" inheritAll="false" useNativeBasedir="true"/>
  </target>

  <target name="ivy-download" description="To download ivy" unless="offline">
    <echo message="${ant.project.name}"/>
    <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true" skipexisting="true"/>
    <typedef uri="antlib:org.apache.ivy.ant" onerror="fail" loaderRef="ivyLoader">
      <classpath>
        <pathelement location="${ivy.jar}"/>
      </classpath>
    </typedef>
  </target>

  <target name="ivy-init" depends="ivy-download,_ivy-init">
    <!-- HCatalog started as a single source tree that produced multiple artifacts.
    Currently its going through a transition to subprojects. During this transition
    we jank together pom files for artifacts produced in the existing source tree until
    they are correctly generated from per-subproject ivy.xml files. -->
    <copy file="${pom.file}" tofile="${build.ivy.dir}/hcatalog-core-${hcatalog.version}.pom"
          overwrite="true"/>
    <replace file="${build.ivy.dir}/hcatalog-core-${hcatalog.version}.pom"
             token="artifactId>hcatalog"
             value="artifactId>hcatalog-core"/>

    <copy file="${pom.file}" overwrite="true"
          tofile="${build.ivy.dir}/hcatalog-server-extensions-${hcatalog.version}.pom"/>
    <replace file="${build.ivy.dir}/hcatalog-server-extensions-${hcatalog.version}.pom"
             token="artifactId>hcatalog"
             value="artifactId>hcatalog-server-extensions"/>
  </target>

  <target name="init" depends="ivy-retrieve,mvn-init">
    <mkdir dir="${dist.dir}" />
    <mkdir dir="${build.classes}" />
    <mkdir dir="${test.classes}" />
  </target>

  <!--
  ================================================================================
  Main Build and Jar Section
  ================================================================================
  -->
  <!-- Build HCatalog src files -->
  <target name="compile-src" depends="init">
    <javac encoding="${build.encoding}" srcdir="${src.dir}" excludes="${excludes}"
        includes="**/*.java" destdir="${build.classes}" debug="${javac.debug}"
        optimize="${javac.optimize}" target="${javac.version}"
        source="${javac.version}" deprecation="${javac.deprecation}"
        includeantruntime="false">
      <compilerarg line="${javac.args}"/>
      <classpath refid="compile.classpath"/>
    </javac>
  </target>
 
  <!-- Build the hcatalog client jar -->
  <target name="clientjar" depends="compile-src">
    <jar jarfile="${build.dir}/${ant.project.name}/${hcatalog.core.jar}"
         basedir="${build.classes}"/>
    <artifact:install file="${build.dir}/${ant.project.name}/${hcatalog.core.jar}">
      <artifact:pom file="${build.ivy.dir}/hcatalog-core-${hcatalog.version}.pom"/>
    </artifact:install>
  </target>

  <!--
  ================================================================================
  Build server side code, mainly listener.
  ================================================================================
  -->
  <target name="server-extensions" depends="compile-src">
    <jar jarfile="${build.dir}/${ant.project.name}/${ant.project.name}-server-extensions-${hcatalog.version}.jar"
         basedir="${build.classes}"
         includes="org/apache/hcatalog/listener/**,org/apache/hcatalog/metadata/**"/>
    <artifact:install file="${build.dir}/${ant.project.name}/${ant.project.name}-server-extensions-${hcatalog.version}.jar">
      <artifact:pom file="${build.ivy.dir}/hcatalog-server-extensions-${hcatalog.version}.pom"/>
    </artifact:install>
  </target>

  <!--
  ================================================================================
  Build both clientjar and server-extensions
  ================================================================================
  -->
  <target name="jar" depends="checkstyle,shims,clientjar,server-extensions,jar-storage-handlers">
    <ant target="jar" dir="hcatalog-pig-adapter" inheritAll="false"/>
    <ant target="jar" dir="webhcat/svr" inheritAll="false"/>
    <ant target="jar" dir="webhcat/java-client" inheritAll="false"/>

    <!-- Build hcatalog.jar, bundling the pig adapter. Our intention is to stop producing this
         fat jar after some migration period. -->
    <jar jarfile="${build.dir}/${ant.project.name}/${hcatalog.jar}">
      <zipfileset src="${build.dir}/${ant.project.name}/${hcatalog.core.jar}"/>
      <zipfileset src="hcatalog-pig-adapter/build/hcatalog-pig-adapter-${hcatalog.version}.jar"/>
    </jar>
  </target>

  <!--
  ================================================================================
  Build shims
  ================================================================================
  -->

  <target name="shims" depends="compile-src">
    <ant antfile="shims/build.xml" target="jar" inheritAll="false" useNativeBasedir="true"/>
  </target>

  <!--
  ================================================================================
  Build storage handlers
  ================================================================================
  -->

  <target name="jar-storage-handlers">        
    <ant target="jar" dir="storage-handlers" inheritAll="false" useNativeBasedir="true"/>
  </target>

  <!--
  ================================================================================
  Test Section
  ================================================================================
  -->
  <!-- Build HCatalog test files -->
  <target name="compile-test" depends="jar">
    <javac
        encoding="${build.encoding}"
        srcdir="${test.src.dir}"
        excludes="${test.excludes}"
        includes="**/*.java"
        destdir="${test.classes}"
        debug="${javac.debug}"
        optimize="${javac.optimize}"
        target="${javac.version}"
        source="${javac.version}"
        deprecation="${javac.deprecation}"
        includeantruntime="false">
      <compilerarg line="${javac.args}"/>
      <classpath refid="test.class.path"/>
    </javac>
  </target>

  <target name="test" depends="compile-test" description="run unit tests">
    <_junit srcDir="${basedir}/src/test"/>
    <ant target="test" dir="hcatalog-pig-adapter" inheritAll="false"/>
    <ant target="test" dir="webhcat/svr" inheritAll="false"/>
    <ant target="test" dir="webhcat/java-client" inheritAll="false"/>
    <ant target="test" dir="storage-handlers" inheritAll="false" useNativeBasedir="true"/>
  </target>

  <target name="test-with-clover" depends="clover-init, compile-test"
          description="run unit tests and generate code coverage reports">
    <_junit srcDir="${basedir}/src/test"/>
    <ant target="_test-with-clover" dir="hcatalog-pig-adapter" inheritAll="false"/>
    <ant target="_test-with-clover" dir="webhcat/svr" inheritAll="false"/>
    <ant target="_test-with-clover" dir="webhcat/java-client" inheritAll="false"/>
    <!-- storage-handlers do not have coverage as they have not
         yet been migrated to the new build files. -->
    <ant target="test" dir="storage-handlers" inheritAll="false" useNativeBasedir="true"/>
  </target>


  <!--
  ================================================================================
  Findbugs Section
  ================================================================================
  -->

  <target name="findbugs" depends="init-findbugs,jar">
    <property name="findbugs.out.dir" value="${test.dir}/findbugs"/>
    <property name="findbugs.exclude.file" value="${test.src.dir}/findbugsExcludeFile.xml"/>
    <property name="findbugs.report.htmlfile"
      value="${findbugs.out.dir}/hcat-findbugs-report.html"/>
    <property name="findbugs.report.xmlfile"
      value="${findbugs.out.dir}/hcat-findbugs-report.xml"/>

    <_findbugs outputDir="${findbugs.out.dir}"
               outputFile="${findbugs.report.xmlfile}"
               excludeFilter="${findbugs.exclude.file}"
               findbugsReportXmlFile="${findbugs.report.xmlfile}"
               findbugsReportHtmlFile="${findbugs.report.htmlfile}"
               sourceDir="${src.dir}"
               jarDir="${build.dir}/${ant.project.name}"
               classPathRef="compile.classpath"/>

    <ant target="findbugs" dir="hcatalog-pig-adapter" inheritAll="false"/>
    <ant target="findbugs" dir="webhcat/svr" inheritAll="false"/>
    <ant target="findbugs" dir="webhcat/java-client" inheritAll="false"/>
  </target>

  <!--
  ================================================================================
  Clean Section
  ================================================================================
  -->
  <!-- Clean up children -->
  <target name="clean" description="Cleanup all build artifacts">
    <echo message="${ant.project.name}"/>
    <delete dir="${build.dir}" />
    <delete dir="${test.warehouse.dir}"/>
    <ant target="clean" dir="hcatalog-pig-adapter" inheritAll="false"/>
    <ant target="clean" dir="webhcat/svr" inheritAll="false"/>
    <ant target="clean" dir="webhcat/java-client" inheritAll="false"/>
    <ant target="clean" dir="storage-handlers" inheritAll="false" useNativeBasedir="true"/>
    <ant target="clean" dir="shims" inheritAll="false" useNativeBasedir="true"/>
  </target>
 
  <!--
  ================================================================================
  Docs Section
  ================================================================================
  -->
  <target name="docs" depends="forrest, javadoc"
          description="Generate Javadoc and Forrest documentation">
  </target>

  <target name="forrest" if="forrest.home"
          description="Generate forrest-based documentation. To use, specify -Dforrest.home=&lt;base of Apache Forrest installation&gt; on the command line.">
    <exec dir="${docs.src}" executable="${forrest.home}/bin/forrest"
          failonerror="true">
    </exec>
    <copy todir="${build.docs}/">
      <fileset dir="${docs.src}/build/site/" />
    </copy>
  </target>

  <target name="javadoc" depends="jar" description="Generate Javadoc documentation">
    <mkdir dir="${build.javadoc}" />
    <javadoc overview="${src.dir}/../docs/overview.html"
             packagenames="org.apache.hcatalog.*"
             destdir="${build.javadoc}"
             author="true"
             version="true"
             use="true"
             noqualifier="all"
             windowtitle="HCatalog ${hcatalog.version} API"
             doctitle="HCatalog ${hcatalog.version} API"
             failonerror="true">
      <packageset dir="${src.dir}" />
      <packageset dir="hcatalog-pig-adapter/src/main/java" />
      <packageset dir="webhcat/svr/src/main/java" />
      <packageset dir="webhcat/java-client/src/main/java" />
      <classpath>
        <path refid="uber.classpath"/>
      </classpath>
      <group title="hcatalog" packages="org.apache.hcatalog.*"/>
    </javadoc>
  </target>

  <!--
  ===============================================================================
  Distribution Section
  ===============================================================================
  -->
  <target name="package-storage-handlers">
    <property name="handlers.dir" value="${dist.dir}/share/hcatalog/storage-handlers"/>
    <mkdir dir="${handlers.dir}"/>
    <ant target="package" dir="storage-handlers" inheritAll="false" useNativeBasedir="true">     
        <property name="dist.handlers.dir" value="${handlers.dir}"/>
    </ant>
    <copy todir="${dist.dir}/share/${ant.project.name}/lib" includeEmptyDirs="false" flatten="true">
      <fileset dir="${dist.dir}/share/${ant.project.name}/storage-handlers">
        <include name="*/lib/*"/>
      </fileset>
    </copy>
  </target>

  <target name="package" depends="jar, docs" description="Create an HCatalog release">
    <mkdir dir="${dist.dir}" />
    <mkdir dir="${dist.dir}/share/${ant.project.name}/lib" />
    <mkdir dir="${dist.dir}/etc/hcatalog" />
    <mkdir dir="${dist.dir}/bin" />
    <mkdir dir="${dist.dir}/sbin" />
    <mkdir dir="${dist.dir}/share/${ant.project.name}/scripts" />
    <mkdir dir="${dist.dir}/share/${ant.project.name}/templates/conf" />
    <mkdir dir="${dist.dir}/share/doc/${ant.project.name}" />
    <mkdir dir="${dist.dir}/share/doc/${ant.project.name}/api" />
    <mkdir dir="${dist.dir}/share/doc/${ant.project.name}/jdiff"/>
    <mkdir dir="${dist.dir}/share/doc/${ant.project.name}/license" />

    <copy todir="${dist.dir}/share/${ant.project.name}" includeEmptyDirs="false">
      <fileset dir="${build.dir}/${ant.project.name}/">
        <include name="hcatalog-*.jar"/>
      </fileset>
      <fileset dir="hcatalog-pig-adapter/build">
        <include name="hcatalog-*.jar"/>
      </fileset>
      <fileset dir="webhcat/svr/build">
        <include name="webhcat-*.jar"/>
      </fileset>
      <fileset dir="webhcat/java-client/build">
        <include name="webhcat-java-client*.jar"/>
      </fileset>
    </copy>

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

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

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

    <copy todir="${dist.dir}/etc/${ant.project.name}">
      <fileset dir="conf" />
    </copy>

    <copy todir="${dist.dir}/share/${ant.project.name}/scripts">
       <fileset dir="scripts">
         <include name="*.sh"/>
       </fileset>
    </copy>

    <copy todir="${dist.dir}/share/${ant.project.name}/templates/conf">
      <fileset dir="src/packages/templates/conf">
        <include name="*"/>
      </fileset>
    </copy>

    <copy todir="${dist.dir}/sbin">
      <fileset dir="${package.dir}">
        <include name="*.sh"/>
      </fileset>
      <fileset dir="webhcat/svr/src/main/bin">
        <include name="*.sh"/>
      </fileset>
      <fileset dir="bin">
        <include name="hcat_server.sh"/>
      </fileset>
    </copy>

	<!-- Copy the licenses and such -->
    <copy todir="${dist.dir}/share/doc/${ant.project.name}">
      <fileset dir=".">
        <include name="*.txt" />
      </fileset>
    </copy>

    <copy todir="${dist.dir}/share/doc/${ant.project.name}/license">
      <fileset dir="license" />
    </copy>

    <chmod perm="ugo+x" type="file">
      <fileset dir="${dist.dir}/bin" />
      <fileset dir="${dist.dir}/sbin" />
    </chmod>
       <!--package storage-handlers -->
      <antcall target="package-storage-handlers"/>
    </target>

    <target name="releaseaudit" depends="ivy-retrieve" description="Release Audit activities">
      <java classname="${rat.reporting.classname}" fork="true">
        <classpath refid="releaseaudit.classpath"/>
        <arg value="${basedir}/src"/>
      </java>
    </target>

    <!-- ================================================================== -->
    <!-- Make release tarball                                               -->
    <!-- ================================================================== -->
    <target name="src-release" depends="clean" description="Source distribution">
        <mkdir dir="${build.dir}"/>
        <tar compression="gzip" longfile="gnu" destfile="${build.dir}/${ant.project.name}-src-${hcatalog.version}.tar.gz">
            <tarfileset dir="${basedir}" mode="644" prefix="${ant.project.name}-src-${hcatalog.version}">
                <include name="conf/**"/>
                <include name="hcatalog-pig-adapter/**"/>
                <include name="webhcat/**"/>
                <include name="ivy/**"/>
                <exclude name="ivy/*.jar"/>
                <include name="license/**"/>
                <include name="shims/**"/>
                <include name="src/**"/>
                <include name="storage-handlers/**"/>
                <include name="*.txt"/>
                <include name="*.xml"/>
                <include name="KEYS"/>
            </tarfileset>
            <tarfileset dir="" mode="755" prefix="${ant.project.name}-src-${hcatalog.version}">
                <include name="scripts/**"/>
                <include name="bin/**"/>
            </tarfileset>
        </tar>
    </target> 

    <!-- ================================================================== -->
    <!-- Make release binary packages                                       -->
    <!-- ================================================================== -->
    <target name="tar" depends="package" description="Create release tarball">
        <tar compression="gzip" longfile="gnu" destfile="${build.dir}/${final.name}.tar.gz">
            <tarfileset dir="${build.dir}" mode="664">
                <include name="${final.name}/**" />
                <exclude name="${final.name}/bin/*" />
                <exclude name="${final.name}/sbin/*" />
                <exclude name="${final.name}/share/hcatalog/scripts/*" />
            </tarfileset>
            <tarfileset dir="${build.dir}" mode="755">
                <include name="${final.name}/bin/*" />
                <include name="${final.name}/sbin/*" />
                <include name="${final.name}/share/hcatalog/scripts/*" />
            </tarfileset>
        </tar>
    </target>

    <!-- ================================================================== -->
    <!-- End to end tests                                                   -->
    <!-- ================================================================== -->

    <target name="test-e2e" description="run end-to-end tests">
        <ant dir="${test.e2e.dir}"/>
    </target>

    <target name="test-e2e-install" description="deploy end-to-end tests to existing cluster">
        <ant dir="${test.e2e.dir}" target="install"/>
    </target>

    <target name="test-e2e-deploy" description="deploy end-to-end tests to existing cluster">
        <ant dir="${test.e2e.dir}" target="deploy"/>
    </target>

  <import file="ant/checkstyle.xml"/>
  <import file="ant/dependencies.xml"/>
  <import file="ant/deploy.xml"/>
  <import file="ant/findbugs.xml"/>
  <import file="ant/test.xml"/>

</project>
