<!-- 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. -->

<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">
    <info organisation="org.apache.hcatalog" module="${ant.project.name}"
            revision="${hcatalog.version}">
        <license name="Apache 2.0"/>
        <ivyauthor name="Apache HCatalog Team" url="http://incubator.apache.org/hcatalog"/>
        <description>
            Apache HCatalog
        </description>
    </info>

    <configurations defaultconfmapping="default">
    <!--these match the Maven configurations-->
        <conf name="default" extends="master,runtime"/>
        <conf name="master" description="contains the artifact but no dependencies"/>
        <conf name="runtime" extends="compile" description="runtime but not the artifact" />
        <conf name="common" visibility="private" 
            extends="runtime"
            description="artifacts needed to compile/test the application"/>
        <conf name="test" visibility="private" extends="runtime"/>
        <conf name="package" visibility="private" extends="master"/>
        <conf name="releaseaudit" visibility="private"/>
        <conf name="compile" extends="hadoop${hadoopversion}" visibility="private" description="compile artifacts"/>
        <conf name="hadoop20" visibility="private"/>
        <conf name="hadoop23" visibility="private"/>
    </configurations>
    <dependencies>
        <!-- needed to compile -->
        <dependency org="org.antlr" name="antlr" rev="${antlr.version}"
          conf="common->master" />
        <dependency org="org.antlr" name="antlr-runtime" rev="${antlr.version}"
          conf="common->master" />
        <dependency org="org.apache.pig" name="pig" rev="${pig.version}"
          conf="common->master" />
        <dependency org="commons-cli" name="commons-cli" rev="${commons-cli.version}"
          conf="common->master"/>
        <dependency org="commons-lang" name="commons-lang" rev="${commons-lang.version}"
          conf="common->master"/>

        <!-- hadoop20 -->
        <dependency org="org.apache.hadoop" name="hadoop-tools"
          rev="${hadoop20.version}" conf="hadoop20->master" />
        <dependency org="org.apache.hadoop" name="hadoop-core"
          rev="${hadoop20.version}" conf="hadoop20->master" />
        <dependency org="org.apache.hadoop" name="hadoop-test"
          rev="${hadoop20.version}" conf="hadoop20->master" />

        <!-- hadoop23 -->
        <dependency org="org.apache.hadoop" name="hadoop-common"
                    rev="${hadoop23.version}"
                    conf="hadoop23->default">
          <include type="jar"/>
          <exclude org="commons-daemon" module="commons-daemon"/><!--bad POM-->
          <exclude org="org.apache.commons" module="commons-daemon"/><!--bad POM-->
        </dependency>
        <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-core"
                    rev="${hadoop23.version}"
                    conf="hadoop23->default">
          <include type="jar"/>
          <exclude org="commons-daemon" module="commons-daemon"/><!--bad POM-->
          <exclude org="org.apache.commons" module="commons-daemon"/><!--bad POM-->
        </dependency>
        <dependency org="org.apache.hadoop" name="hadoop-archives"
                    rev="${hadoop23.version}"
                    conf="hadoop23->default">
          <include type="jar"/>
          <exclude org="commons-daemon" module="commons-daemon"/><!--bad POM-->
          <exclude org="org.apache.commons" module="commons-daemon"/><!--bad POM-->
        </dependency>
        <dependency org="org.apache.hadoop" name="hadoop-hdfs"
                    rev="${hadoop23.version}"
                    conf="hadoop23->default">
          <artifact name="hadoop-hdfs" ext="jar" />
          <artifact name="hadoop-hdfs" type="tests" ext="jar" m:classifier="tests"/>
          <exclude org="commons-daemon" module="commons-daemon"/><!--bad POM-->
          <exclude org="org.apache.commons" module="commons-daemon"/><!--bad POM-->
        </dependency>

        <dependency org="javax.jms" name="jms" rev="${jms.version}"
          conf="common->master" />
        <dependency org="org.apache.activemq" name="activemq-core"
          rev="${activemq.version}" conf="common->master" />
        <dependency org="org.apache.activemq" name="kahadb"
          rev="${activemq.version}" conf="common->master" />
        <dependency org="javax.management.j2ee" name="management-api"
          rev="${javax-mgmt.version}" conf="common->master" /> 
        <dependency org="com.google.code.p.arat" name="rat-lib"
          rev="${rats-lib.version}" conf="releaseaudit->default"/>
        <dependency org="org.vafer" name="jdeb" rev="${jdeb.version}"
          conf="package->master"/>
        <dependency org="org.codehaus.jackson" name="jackson-mapper-asl"
          rev="${jackson.version}" conf="common->master"/>
        <dependency org="org.codehaus.jackson" name="jackson-core-asl"
          rev="${jackson.version}" conf="common->master"/>
        <dependency org="org.apache.hive" name="hive-metastore"
          rev="${hive.version}" conf="common->master"/>
        <dependency org="org.apache.hive" name="hive-common"
          rev="${hive.version}" conf="common->master"/>
        <dependency org="org.apache.hive" name="hive-exec"
          rev="${hive.version}" conf="common->master"/>
        <dependency org="org.apache.hive" name="hive-cli"
          rev="${hive.version}" conf="common->master"/>
        <dependency org="org.apache.hive" name="hive-hbase-handler"
          rev="${hive.version}" conf="common->master"/>
        <dependency org="org.apache.thrift" name="libfb303" rev="${fb303.version}"
          conf="common->master"/>
        <dependency org="junit" name="junit" rev="${junit.version}"
          conf="common->master"/>

        <!-- needed to run-->
        <dependency org="com.google.guava" name="guava" rev="${guava.version}"
          conf="common->master"/>
        <dependency org="org.slf4j" name="slf4j-api" rev="${slf4j.version}"
          conf="common->master"/>
        <dependency org="org.slf4j" name="slf4j-log4j12" rev="${slf4j.version}"
          conf="common->master"/>
        <dependency org="log4j" name="log4j" rev="${log4j.version}"
          conf="common->master"/>
        <dependency org="javax.jdo" name="jdo2-api" rev="${jdo.version}"
          conf="default"/>
        <dependency org="org.datanucleus" name="datanucleus-core"
          rev="${datanucleus-core.version}" conf="default"/>
        <dependency org="org.datanucleus" name="datanucleus-connectionpool"
          rev="${datanucleus-connectionpool.version}" conf="default"/>
        <dependency org="org.datanucleus" name="datanucleus-enhancer"
          rev="${datanucleus-enhancer.version}" conf="default"/>
        <dependency org="org.datanucleus" name="datanucleus-rdbms"
          rev="${datanucleus-rdbms.version}" conf="default"/>
        <dependency org="commons-dbcp" name="commons-dbcp" rev="${commons-dbcp.version}"
            conf="common->master">
          <exclude module="commons-pool" />
          <exclude org="org.apache.geronimo.specs" module="geronimo-jta_1.1_spec"/>
        </dependency>
        <dependency org="commons-pool" name="commons-pool" rev="${commons-pool.version}"
          conf="default"/>
        <dependency org="org.apache.derby" name="derby" rev="${derby.version}"
          conf="default"/>
        <dependency org="commons-configuration" name="commons-configuration"
          rev="${commons-configuration.version}" conf="default"/>
        <dependency org="commons-httpclient" name="commons-httpclient"
          rev="${commons-httpclient.version}" conf="default"/>
        <dependency org="org.apache.hive" name="hive-builtins"
          rev="${hive.version}" conf="common->master"/>
        <dependency org="org.mortbay.jetty" name="jetty"
          rev="${jetty.version}" conf="default"/>
        <dependency org="org.mortbay.jetty" name="jetty-util"
          rev="${jetty.version}" conf="default"/>

    </dependencies>
</ivy-module>
