<?xml version="1.0"?>
<project xmlns:ivy="antlib:org.apache.ivy.ant" name="shims" default="jar">
    <property name="hcatalog.home" value="${basedir}/.." />
    <property file="${hcatalog.home}/build.properties" />
    <loadproperties srcfile="${ivy.conf.dir}/libraries.properties"/>
    <!--<property name="mvnrepo" value="http://repo2.maven.org/maven2"/>-->

    <property name="shims.include" value="20,23"/>
    <!-- sources and hadoop version for each shim -->
    <property name="shims.0.20.sources" value="${basedir}/src/20/java" />
    <property name="shims.0.23.sources" value="${basedir}/src/23/java" />
    <property name="shims.0.20.hadoop.ivy.dir" value="${build.ivy.lib.dir}/hadoop20" />
    <property name="shims.0.23.hadoop.ivy.dir" value="${build.ivy.lib.dir}/hadoop23" />

    <property name="ivy.artifact.retrieve.pattern" value="[conf]/[artifact]-[revision](-[classifier]).[ext]" />

    <target name="jar" depends="compile">
        <echo message="Project: ${ant.project.name}"/>
        <echo message="Building shim jars ${basedir}" />
        <echo message="Building shim jars ${hcatalog.home}" />
    </target>

    <target name="compile" depends="init,ivy-retrieve">
        <echo message="Project: ${ant.project.name}"/>
        <!--
        <for param="shimName" list="${shims.include}">
            <sequential>
                <echo>Building shims @{shimName}</echo>
                <echo message="${hadoop.version}" />
                <antcall target="build_shims" inheritRefs="false" inheritAll="false">
                    <param name="hadoop.version.ant-internal" value="${shims.@{shimName}.version}" />
                    <param name="sources" value="${shims.@{shimName}.sources}" />
                    <param name="hadoop.ivy.dir" value="${shims.@{shimName}.hadoop.ivy.dir}" />
                    <param name="shim.name" value="@{shimName}" />
                </antcall>
            </sequential>
        </for>
        -->
        <antcall target="build-shims" inheritRefs="false" inheritAll="false">
            <param name="hadoop.version.ant-internal" value="20" />
            <param name="sources" value="${shims.0.20.sources}" />
            <param name="hadoop.ivy.dir" value="${shims.0.20.hadoop.ivy.dir}" />
            <param name="shim.name" value="20" />
        </antcall>
        <antcall target="build-shims" inheritRefs="false" inheritAll="false">
            <param name="hadoop.version.ant-internal" value="23" />
            <param name="sources" value="${shims.0.23.sources}" />
            <param name="hadoop.ivy.dir" value="${shims.0.23.hadoop.ivy.dir}" />
            <param name="shim.name" value="23" />
        </antcall>
    </target>

    <target name="build-shims">
        <echo message="Project: ${ant.project.name}"/>

        <antcall target="ivy-retrieve-hadoop-shim" inheritRefs="false" inheritAll="false">
            <param name="ivy.hadoop.shim.conf" value="hadoop${shim.name}" />
        </antcall>

        <path id="shims.classpath">
            <fileset dir="${hadoop.ivy.dir}" includes="*.jar" />
        </path>

        <javac
            encoding="${build.encoding}"
            includes="**/*.java"
            destdir="${build.classes}"
            debug="${javac.debug}"
            deprecation="${javac.deprecation}"
            srcdir="${sources}"
            includeantruntime="false">
            <compilerarg line="${javac.args} ${javac.args.warnings}" />
            <classpath refid="shims.classpath"/>
        </javac>
    </target>

    <target name="init">
        <echo message="Project: ${ant.project.name}"/>
    </target>

    <target name="ivy-retrieve">
        <echo message="Project: ${ant.project.name}"/>
    </target>

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

    <target name="ivy-resolve-hadoop-shim" depends="ivy-init-settings" unless="offline">
        <echo message="Project: ${ant.project.name}"/>
        <ivy:resolve settingsRef="${ant.project.name}.ivy.settings"
            conf="${ivy.hadoop.shim.conf}" log="${ivyresolvelog}"/>
    </target>

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