<?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="${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},hbase${hbaseversion}" 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"/>
    <conf name="hbase94" visibility="private"/>
    <conf name="hbase95" visibility="private"/>
  </configurations>
  <publications>
    <artifact name="pig" conf="master"/>
    <artifact name="pig" m:classifier="withouthadoop" conf="master"/>
    <artifact name="pig" m:classifier="withdependencies" conf="master"/>
    <artifact name="pig" m:classifier="sources" conf="master"/>
    <artifact name="pig" m:classifier="javadoc" conf="master"/>
    <artifact name="pig" m:classifier="h2" conf="master"/>
    <artifact name="pig" m:classifier="withouthadoop-h2" 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-io" name="commons-io" rev="${commons-io.version}"
      conf="compile->master"/>
    <dependency org="org.apache.httpcomponents" name="httpclient" rev="${httpcomponents.version}"
      conf="compile->master"/>
    <dependency org="org.apache.httpcomponents" name="httpcore" rev="${httpcomponents.version}"
      conf="compile->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="javax.inject" name="javax.inject" rev="${javax-inject.version}"
      conf="hadoop23->master"/>
    <dependency org="javax.xml.bind" name="jaxb-api" rev="${jaxb-api.version}"
      conf="hadoop23->master"/>
    <dependency org="com.sun.xml.bind" name="jaxb-impl" rev="${jaxb-impl.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-yarn-client" 
      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"/>
    <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->default;checkstyle->master"/>
    <dependency org="org.apache.avro" name="avro-mapred" rev="${avro.version}"
      conf="compile->default;checkstyle->master"/>
    <dependency org="org.apache.avro" name="trevni-core" rev="${avro.version}"
      conf="compile->default;checkstyle->master"/>
    <dependency org="org.apache.avro" name="trevni-avro" rev="${avro.version}"
      conf="compile->default;checkstyle->master">
      <exclude org="org.apache.hadoop" module="hadoop-core"/>
    </dependency>
    <dependency org="org.apache.avro" name="avro-tools" rev="${avro.version}"
      conf="test->default">
      <artifact name="nodeps" type="jar"/>
    </dependency>
    <dependency org="org.xerial.snappy" name="snappy-java" rev="${snappy.version}"
      conf="compile->default;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="xalan" name="xalan" rev="${xalan.version}"
      conf="test->default"/>
    <dependency org="xerces" name="xercesImpl" rev="${xerces.version}"
      conf="jdiff->default;test->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->master"/>
    <dependency org="com.google.code.p.arat" name="rat-lib" rev="${rats-lib.version}"
      conf="releaseaudit->default"/>
    <dependency org="org.codehaus.groovy" name="groovy-all" rev="${groovy.version}"
      conf="compile->master"/>
    <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="org.fusesource.jansi" name="jansi" rev="${jansi.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-standalone" 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="test->master"/>
    <dependency org="dk.brics.automaton" name="automaton" rev="1.11-8" conf="compile->default"/>

    <dependency org="org.jruby" name="jruby-complete" rev="${jruby.version}" conf="compile->master"/>
    <dependency org="asm" name="asm" rev="${asm.version}" conf="compile->default"/>

    <!-- HBase dependency in format for releases up to 0.94 (including) -->
    <dependency org="org.apache.hbase" name="hbase" rev="${hbase94.version}" conf="hbase94->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="slf4j-log4j12" />
      <exclude org="org.slf4j" module="log4j12"/>
      <exclude org="org.slf4j" module="log4j-over-slf4j"/>
      <exclude org="stax" module="stax-api" />
      <exclude org="javax.xml.bind" module="jaxb-api" />
      <exclude org="javax.ws.rs" module="jsr311-api" />
      <exclude org="tomcat" module="jasper-runtime"/>
      <exclude org="tomcat" module="jasper-compiler"/>
      <exclude org="com.google.protobuf" module="protobuf-java"/>
      <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>

    <!-- HBase dependency in format for releases higher or equal to 0.95 -->
    <dependency org="org.apache.hbase" name="hbase-client" rev="${hbase95.version}" conf="hbase95->master">
      <artifact name="hbase-client" type="jar"/>
      <artifact name="hbase-client" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="org.slf4j" module="slf4j-api"/>
      <exclude org="org.slf4j" module="slf4j-log4j12" />
      <exclude org="stax" module="stax-api" />
      <exclude org="javax.xml.bind" module="jaxb-api" />
      <exclude org="tomcat" module="jasper-runtime"/>
      <exclude org="tomcat" module="jasper-compiler"/>
      <exclude org="com.google.protobuf" module="protobuf-java"/>
      <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>

    <dependency org="org.apache.hbase" name="hbase-common" rev="${hbase95.version}" conf="hbase95->master">
      <artifact name="hbase-common" type="jar"/>
      <artifact name="hbase-common" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="org.apache.hadoop" module="hadoop-core"/>
      <exclude org="stax" module="stax-api" />
      <exclude org="javax.xml.bind" module="jaxb-api" />
      <exclude org="javax.ws.rs" module="jsr311-api" />
      <exclude org="tomcat" module="jasper-runtime"/>
      <exclude org="tomcat" module="jasper-compiler"/>
      <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>

    <dependency org="org.apache.hbase" name="hbase-server" rev="${hbase95.version}" conf="hbase95->master">
      <artifact name="hbase-server" type="jar"/>
      <artifact name="hbase-server" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="org.apache.hadoop" module="hadoop-core"/>
      <exclude org="org.slf4j" module="slf4j-api"/>
      <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="tomcat" module="jasper-runtime"/>
      <exclude org="tomcat" module="jasper-compiler"/>
      <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>

    <dependency org="org.apache.hbase" name="hbase-protocol" rev="${hbase95.version}" conf="hbase95->master">
      <artifact name="hbase-protocol" type="jar"/>
      <artifact name="hbase-protocol" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="com.google.protobuf" module="protobuf-java"/>
    </dependency>

    <dependency org="org.apache.hbase" name="hbase-hadoop-compat" rev="${hbase95.version}" conf="hbase95->master">
      <artifact name="hbase-hadoop-compat" type="jar"/>
      <artifact name="hbase-hadoop-compat" type="test-jar" ext="jar" m:classifier="tests"/>
    </dependency>

    <dependency org="org.apache.hbase" name="hbase-hadoop1-compat" rev="${hbase95.version}" conf="hbase95->master">
      <artifact name="hbase-hadoop1-compat" type="jar"/>
      <artifact name="hbase-hadoop1-compat" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="org.apache.hadoop" module="hadoop-core"/>
      <exclude org="org.slf4j" module="slf4j-api"/>
      <exclude org="stax" module="stax-api" />
      <exclude org="javax.xml.bind" module="jaxb-api" />
      <exclude org="tomcat" module="jasper-runtime"/>
      <exclude org="tomcat" module="jasper-compiler"/>
      <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>

    <dependency org="org.cloudera.htrace" name="htrace-core" rev="2.00" conf="hbase95->master">
      <artifact name="htrace-core" type="jar"/>
    </dependency>

    <!-- for TestHBaseStorage -->
    <dependency org="com.github.stephenc.high-scale-lib" name="high-scale-lib" rev="${high-scale-lib.version}"
       conf="test->default"/>
    <dependency org="com.google.protobuf" name="protobuf-java" rev="${protobuf-java.version}"
       conf="test->default"/>
    <dependency org="com.yammer.metrics" name="metrics-core" rev="${metrics-core.version}"
       conf="test->default"/>

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

    <dependency org="org.mockito" name="mockito-all" rev="${mockito.version}" conf="compile->default"/>
       
    <dependency org="com.twitter" name="parquet-pig-bundle" rev="${parquet-pig-bundle.version}" conf="compile->master"/>

  </dependencies>
</ivy-module>

