<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
    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-server-extensions">
    <property name="path.to.basedir" value="${basedir}/.."/>
    <property name="pom.file" location="pom.xml"/>

    <import file="${path.to.basedir}/build-support/ant/build-common.xml"/>

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

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

    <path id="findbugs.class.path">
        <fileset dir="${build.dir}/lib/compile"/>
    </path>
</project>
