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

<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
  <info organisation="org.apache.pig" module="${ant.project.name}" revision="${version}">
    <license name="Apache 2.0"/>
    <ivyauthor name="Apache Hadoop Team" url="http://hadoop.apache.org/pig"/>
    <description>Pig</description>
  </info>
  <configurations defaultconfmapping="default">
    <!--these match the Maven configurations-->
    <conf name="master" description="contains the artifact but no dependencies"/>
    <conf name="default" extends="master,runtime"/>
    <conf name="runtime" extends="compile,test" description="runtime but not the artifact" />
    <!--Private configurations. -->
    <conf name="compile" extends="hadoop${hadoopversion}" visibility="private" description="compile artifacts"/>
    <conf name="test" extends="compile" visibility="private"/>
    <conf name="javadoc" visibility="private" extends="compile,test"/>
    <conf name="releaseaudit" visibility="private"/>
    <conf name="jdiff" visibility="private"/>
    <conf name="checkstyle" visibility="private"/>
    <conf name="buildJar" extends="compile,test" visibility="private"/>
    <conf name="hadoop20" visibility="private"/>
    <conf name="hadoop23" visibility="private"/>
  </configurations>
  <publications>
    <!--get the artifact from our module name-->
    <artifact conf="master"/>
  </publications>
  <dependencies>
    <dependency org="checkstyle" name="checkstyle" rev="${checkstyle.version}"
      conf="checkstyle->master"/>
    <!-- <dependency org="antlr" name="antlr" rev="${antlr.version}"
      conf="checkstyle->master"/> -->
    <dependency org="commons-beanutils" name="commons-beanutils-core" rev="${commons-beanutils.version}"
      conf="checkstyle->master"/>
    <dependency org="xmlenc" name="xmlenc" rev="${xmlenc.version}"
      conf="hadoop23->master"/>
    <dependency org="com.sun.jersey" name="jersey-bundle" rev="${jersey.version}"
      conf="hadoop23->master"/>
    <dependency org="com.sun.jersey" name="jersey-server" rev="${jersey.version}"
      conf="hadoop23->master"/>
    <dependency org="com.sun.jersey.contribs" name="jersey-guice" rev="${jersey.version}"
      conf="hadoop23->master"/>
    <dependency org="commons-codec" name="commons-codec" rev="${commons-codec.version}"
      conf="hadoop23->master"/>
    <dependency org="commons-httpclient" name="commons-httpclient" rev="${commons-httpclient.version}"
      conf="hadoop23->master"/>
    <dependency org="commons-el" name="commons-el" rev="${commons-el.version}"
      conf="compile->master"/>
    <dependency org="commons-httpclient" name="commons-httpclient" rev="${commons-httpclient.version}"
      conf="hadoop23->master"/>
    <dependency org="commons-configuration" name="commons-configuration" rev="${commons-configuration.version}"
      conf="hadoop23->master"/>
    <dependency org="commons-collections" name="commons-collections" rev="${commons-collections.version}"
      conf="hadoop23->master"/>
    <dependency org="javax.servlet" name="servlet-api" rev="${servlet-api.version}"
      conf="hadoop23->master"/>
    <dependency org="javax.ws.rs" name="jsr311-api" rev="${jsr311-api.version}"
      conf="hadoop23->master"/>
    <dependency org="org.mortbay.jetty" name="jetty" rev="${jetty.version}"
      conf="hadoop23->master"/>
    <dependency org="com.google.protobuf" name="protobuf-java" rev="${protobuf-java.version}"
      conf="hadoop23->master"/>
    <dependency org="org.mortbay.jetty" name="jetty-util" rev="${jetty-util.version}"
      conf="hadoop23->master"/>
    <dependency org="com.google.inject" name="guice" rev="${guice.version}"
      conf="hadoop23->master"/>
    <dependency org="com.google.inject.extensions" name="guice-servlet" rev="${guice-servlet.version}"
      conf="hadoop23->master"/>
    <dependency org="aopalliance" name="aopalliance" rev="${aopalliance.version}"
      conf="hadoop23->master"/>
    <dependency org="org.mortbay.jetty" name="jsp-2.1" rev="${jasper.version}"
      conf="hadoop23->master"/>
    <dependency org="org.mortbay.jetty" name="jsp-api-2.1" rev="${jasper.version}"
      conf="hadoop23->master"/>
    <dependency org="log4j" name="log4j" rev="${log4j.version}"
      conf="compile->master"/>
    <dependency org="com.sun.jersey" name="jersey-core" rev="${jersey-core.version}"
      conf="hadoop20->default"/>
    <dependency org="org.apache.hadoop" name="hadoop-core" rev="${hadoop-core.version}"
      conf="hadoop20->default"/>
    <dependency org="org.apache.hadoop" name="hadoop-test" rev="${hadoop-test.version}"
      conf="hadoop20->default"/>
    <dependency org="org.apache.hadoop" name="hadoop-annotations" 
      rev="${hadoop-common.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-auth" 
      rev="${hadoop-common.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-common" 
      rev="${hadoop-common.version}" conf="hadoop23->master">
      <artifact name="hadoop-common" ext="jar" />
      <artifact name="hadoop-common" type="tests" ext="jar" m:classifier="tests" />
    </dependency>
    <dependency org="org.apache.hadoop" name="hadoop-hdfs"
      rev="${hadoop-hdfs.version}" conf="hadoop23->master">
      <artifact name="hadoop-hdfs" ext="jar" />
      <artifact name="hadoop-hdfs" type="tests" ext="jar" m:classifier="tests" />
    </dependency>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-core" rev="${hadoop-mapreduce.version}"
      conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-jobclient" rev="${hadoop-mapreduce.version}"
      conf="hadoop23->master">
        <artifact name="hadoop-mapreduce-client-jobclient" ext="jar" />
        <artifact name="hadoop-mapreduce-client-jobclient" 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="org.apache.hadoop" name="hadoop-yarn-server-tests" rev="${hadoop-mapreduce.version}"
      conf="hadoop23->master">
      <artifact name="hadoop-yarn-server-tests" type="jar" m:classifier="tests"/>
    </dependency>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-app" rev="${hadoop-mapreduce.version}"
      conf="hadoop23->master" />
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-shuffle" rev="${hadoop-mapreduce.version}"
      conf="hadoop23->master" />
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-common"
      rev="${hadoop-mapreduce.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-api" 
      rev="${hadoop-mapreduce.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-common" 
      rev="${hadoop-mapreduce.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server"
      rev="${hadoop-mapreduce.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server-web-proxy"
      rev="${hadoop-mapreduce.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server-common"
      rev="${hadoop-mapreduce.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server-nodemanager" 
      rev="${hadoop-mapreduce.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server-resourcemanager" 
      rev="${hadoop-mapreduce.version}" conf="hadoop23->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-hs"
      rev="${hadoop-mapreduce.version}" conf="hadoop23->master"/>
    <dependency org="org.mortbay.jetty" name="jetty" rev="${jetty.version}"
      conf="compile->master"/>
    <dependency org="org.mortbay.jetty" name="jetty-util" rev="${jetty-util.version}"
      conf="compile->master"/>
    <dependency org="commons-logging" name="commons-logging" rev="${commons-logging.version}"
      conf="compile->master;checkstyle->master"/>
     <dependency org="org.slf4j" name="slf4j-log4j12" rev="${slf4j-log4j12.version}"
      conf="compile->master;test->master">
        <artifact name="slf4j-log4j12" type="jar" />
    </dependency>
     <dependency org="org.slf4j" name="slf4j-api" rev="${slf4j-api.version}"
      conf="compile->master;test->master">
        <artifact name="slf4j-api" type="jar" />
    </dependency>
    <dependency org="commons-cli" name="commons-cli" rev="${commons-cli.version}"
      conf="compile->master;checkstyle->master"/>
    
    <dependency org="org.apache.avro" name="avro" rev="${avro.version}"
      conf="compile->master;checkstyle->master"/>
    <dependency org="com.googlecode.json-simple" name="json-simple" rev="${json-simple.version}"
      conf="compile->master;checkstyle->master"/>

    <dependency org="jdiff" name="jdiff" rev="${jdiff.version}"
      conf="jdiff->default"/>
    <dependency org="xerces" name="xerces" rev="${xerces.version}"
      conf="jdiff->default"/>
    <dependency org="com.jcraft" name="jsch" rev="${jsch.version}"
      conf="compile->master"/>
    <dependency org="jline" name="jline" rev="${jline.version}"
      conf="compile->master"/>
    <dependency org="net.java.dev.javacc" name="javacc" rev="${javacc.version}"
      conf="compile->master"/>
    <dependency org="junit" name="junit" rev="${junit.version}"
      conf="test->default"/>
    <dependency org="com.google.code.p.arat" name="rat-lib" rev="${rats-lib.version}"
      conf="releaseaudit->default"/>
    <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="${jackson.version}"
      conf="compile->master"/>
    <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="${jackson.version}"
      conf="compile->master"/>
    <dependency org="joda-time" name="joda-time" rev="${joda-time.version}" conf="compile->master"/>
    <dependency org="commons-lang" name="commons-lang" rev="${commons-lang.version}"
  	  conf="compile->master"/>
    <dependency org="com.google.guava" name="guava" rev="${guava.version}" conf="compile->master" />
    <dependency org="org.python" name="jython" rev="${jython.version}" conf="compile->master"/>
    <dependency org="rhino" name="js" rev="${rhino.version}" conf="compile->master"/>
    <dependency org="org.antlr" name="antlr" rev="${antlr.version}" conf="compile->master"/>
    <dependency org="org.antlr" name="antlr-runtime" rev="${antlr.version}" conf="compile->default"/>
    <dependency org="org.antlr" name="ST4" rev="${stringtemplate.version}" conf="compile->default"/>
    <dependency org="org.apache.zookeeper" name="zookeeper" rev="${zookeeper.version}" conf="compile->master"/>
    <dependency org="org.jboss.netty" name="netty" rev="3.2.2.Final" conf="compile->master"/>

    <dependency org="org.apache.hbase" name="hbase" rev="${hbase.version}" conf="compile->master">
      <artifact name="hbase" type="jar"/>
      <artifact name="hbase" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="org.apache.thrift" module="thrift"/>
      <exclude org="org.apache.hadoop" module="hadoop-core"/>
      <exclude org="org.apache.ant" module="ant" />
      <exclude org="org.slf4j" module="slf4j"/>
      <exclude org="org.slf4j" module="slf4j-api"/>
      <exclude org="org.slf4j" module="log4j12"/>
      <exclude org="org.slf4j" module="slf4j-log4j12" />
      <exclude org="stax" module="stax-api" />
      <exclude org="javax.xml.bind" module="jaxb-api" />
      <exclude org="javax.ws.rs" module="jsr311-api" />
      <exclude org="com.google.protobuf" module="protobuf-java"/>
      <exclude org="tomcat" module="jasper-runtime"/>
      <exclude org="tomcat" module="jasper-compiler"/>
      <exclude org="org.slf4j" module="log4j-over-slf4j"/>
      <exclude org="com.sun.jersey" module="jersey-core"/>
      <exclude org="com.sun.jersey" module="jersey-server"/>
      <exclude org="com.sun.jersey" module="jersey-json"/>
      <exclude org="asm" module="asm"/>
    </dependency>
    <!-- for piggybank -->
    <dependency org="hsqldb" name="hsqldb" rev="${hsqldb.version}"
      conf="test->default" />
    <dependency org="org.apache.hive" name="hive-exec" rev="${hive.version}"
      conf="test->master" />

    <dependency org="org.vafer" name="jdeb" rev="${jdeb.version}"
      conf="compile->master">
    </dependency>
    </dependencies>
</ivy-module>
