<?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="shims" default="jar">
  <property name="path.to.basedir" value="${basedir}/.."/>
  <import file="${path.to.basedir}/build-support/ant/build-common.xml"/>

  <path id="compile.class.path">
    <fileset dir="${path.to.basedir}/core/build/lib/compile"/>
  </path>

  <target name="jar">
    <echo message="${ant.project.name}"/>
    <_javac srcDir="${basedir}/src/${hadoopversion}/java"
            destDir="${path.to.basedir}/core/build/classes"
            classPathRef="compile.class.path"/>
  </target>
</project>
