<?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="hadoop2" visibility="private"/>
    <conf name="hbase1" visibility="private"/>
    <conf name="spark1" visibility="private" />
    <conf name="spark2" 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="commons-beanutils" name="commons-beanutils-core" rev="${commons-beanutils.version}"
      conf="checkstyle->master"/>
    <dependency org="com.sun.jersey" name="jersey-bundle" rev="${jersey.version}"
      conf="hadoop2->master"/>
    <dependency org="com.sun.jersey" name="jersey-server" rev="${jersey.version}"
      conf="hadoop2->master"/>
    <dependency org="com.sun.jersey.contribs" name="jersey-guice" rev="${jersey.version}"
      conf="hadoop2->master"/>
    <dependency org="commons-codec" name="commons-codec" rev="${commons-codec.version}"
      conf="hadoop2->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="nl.basjes.parse.httpdlog" name="httpdlog-pigloader" rev="${basjes-httpdlog-pigloader.version}"
      conf="compile->master">
      <artifact name="httpdlog-pigloader" m:classifier="udf"/>
    </dependency>
    <dependency org="commons-configuration" name="commons-configuration" rev="${commons-configuration.version}"
      conf="hadoop2->master"/>
    <dependency org="commons-collections" name="commons-collections" rev="${commons-collections.version}"
      conf="hadoop2->master"/>
    <dependency org="javax.servlet" name="servlet-api" rev="${servlet-api.version}"
      conf="hadoop2->master"/>
    <dependency org="javax.ws.rs" name="jsr311-api" rev="${jsr311-api.version}"
      conf="hadoop2->master"/>
    <dependency org="com.google.protobuf" name="protobuf-java" rev="${protobuf-java.version}"
      conf="hadoop2->master"/>
    <dependency org="javax.inject" name="javax.inject" rev="${javax-inject.version}"
      conf="hadoop2->master"/>
    <dependency org="javax.xml.bind" name="jaxb-api" rev="${jaxb-api.version}"
      conf="hadoop2->master"/>
    <dependency org="com.sun.xml.bind" name="jaxb-impl" rev="${jaxb-impl.version}"
      conf="hadoop2->master"/>
    <dependency org="com.google.inject" name="guice" rev="${guice.version}"
      conf="hadoop2->master"/>
    <dependency org="com.google.inject.extensions" name="guice-servlet" rev="${guice-servlet.version}"
      conf="hadoop2->master"/>
    <dependency org="aopalliance" name="aopalliance" rev="${aopalliance.version}"
      conf="hadoop2->master"/>
    <dependency org="org.glassfish" name="javax.el" rev="${glassfish.el.version}"
      conf="hadoop2->master"/>
    <dependency org="log4j" name="log4j" rev="${log4j.version}"
      conf="compile->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-annotations"
      rev="${hadoop-common.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-auth" 
      rev="${hadoop-common.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-common" 
      rev="${hadoop-common.version}" conf="hadoop2->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="hadoop2->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="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-jobclient" rev="${hadoop-mapreduce.version}"
      conf="hadoop2->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="hadoop2->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="hadoop2->master" />
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-shuffle" rev="${hadoop-mapreduce.version}"
      conf="hadoop2->master" />
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-common" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-api" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-common" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server-web-proxy" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server-common" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server-nodemanager" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server-resourcemanager" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-client" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-yarn-server-applicationhistoryservice" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->master"/>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-hs" 
      rev="${hadoop-mapreduce.version}" conf="hadoop2->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">
      <exclude org="org.codehaus.jackson" module="jackson-core-asl"/>
      <exclude org="org.codehaus.jackson" module="jackson-mapper-asl"/>
    </dependency>
    <dependency org="org.apache.avro" name="avro-mapred" rev="${avro.version}"
      conf="hadoop2->default;checkstyle->master">
      <artifact name="avro-mapred" type="jar" m:classifier="hadoop2"/>
      <exclude org="org.codehaus.jackson" module="jackson-core-asl"/>
      <exclude org="org.codehaus.jackson" module="jackson-mapper-asl"/>
      <exclude org="io.netty" module="netty"/>
    </dependency>
    <dependency org="org.apache.avro" name="trevni-core" rev="${avro.version}"
      conf="compile->default;checkstyle->master">
      <artifact name="trevni-core" ext="jar" />
      <artifact name="trevni-core" type="test-jar" ext="jar" m:classifier="tests"/>
    </dependency>
    <dependency org="org.apache.avro" name="trevni-avro" rev="${avro.version}"
      conf="compile->default;checkstyle->master">
      <artifact name="trevni-avro" ext="jar" />
      <artifact name="trevni-avro" type="test-jar" ext="jar" m:classifier="tests"/>
      <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="avro-tools" m:classifier="nodeps" type="jar"/>
    </dependency>
    <dependency org="net.sf.jopt-simple" name="jopt-simple" rev="${jopt.version}"
      conf="test->default" />
    <dependency org="org.xerial.snappy" name="snappy-java" rev="${snappy-java.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="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.apache.ivy" name="ivy" rev="${ivy.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="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="io.netty" name="netty" rev="${netty.version}" conf="test->master"/>
    <dependency org="io.netty" name="netty-all" rev="${netty-all.version}" 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 higher or equal to 0.95 -->
    <dependency org="org.apache.hbase" name="hbase-client" rev="${hbase1.version}" conf="hbase1->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="${hbase1.version}" conf="hbase1->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="${hbase1.version}" conf="hbase1->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="${hbase1.version}" conf="hbase1->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="${hbase1.version}" conf="hbase1->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-hadoop2-compat" rev="${hbase1.version}" conf="hbase1->master">
      <artifact name="hbase-hadoop2-compat" type="jar"/>
      <artifact name="hbase-hadoop2-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.htrace" name="htrace-core" rev="3.0.4" conf="hadoop2->master"/>
    <dependency org="org.apache.htrace" name="htrace-core" rev="${htrace.version}" conf="hadoop2->master"/>
    <dependency org="org.fusesource.leveldbjni" name="leveldbjni-all" rev="${leveldbjni.version}"
      conf="hadoop2->master"/>
    <dependency org="org.cloudera.htrace" name="htrace-core" rev="2.00" conf="hbase1->master">
      <artifact name="htrace-core" type="jar"/>
    </dependency>
    <dependency org="com.lmax" name="disruptor" rev="3.3.0" conf="hbase1->master"/>

    <!-- for TestHBaseStorage -->
    <dependency org="org.apache.hbase" name="hbase-procedure" rev="${hbase1.version}" conf="test->master"/>
    <dependency org="com.yammer.metrics" name="metrics-core" rev="${metrics-core.version}"
       conf="test->default"/>

    <!-- Dependency for Accumulo{Input,Output}Format -->
    <dependency org="org.apache.accumulo" name="accumulo-core" rev="${accumulo15.version}" conf="compile->default">
      <exclude org="com.google.guava" module="guava"/>
      <exclude org="commons-codec" module="commons-codec"/>
      <exclude org="commons-collections" module="commons-collections"/>
      <exclude org="commons-configuration" module="commons-configuration"/>
      <exclude org="commons-io" module="commons-io"/>
      <exclude org="commons-lang" module="commons-lang"/>
      <exclude org="commons-logging" module="commons-logging"/>
      <exclude org="jline" module="jline"/>
      <exclude org="log4j" module="log4j"/>
      <exclude org="org.apache.hadoop" module="hadoop-client"/>
      <exclude org="org.apache.zookeeper" module="zookeeper"/>
      <exclude org="org.slf4j" module="slf4j-api"/>
      <exclude org="org.slf4j" module="slf4j-log4j12"/>
    </dependency>

    <!-- Used for 'functional' Accumulo tests -->
    <dependency org="org.apache.accumulo" name="accumulo-minicluster" rev="${accumulo15.version}" conf="compile->default">
      <exclude org="com.google.guava" module="guava"/>
      <exclude org="commons-codec" module="commons-codec"/>
      <exclude org="commons-collections" module="commons-collections"/>
      <exclude org="commons-configuration" module="commons-configuration"/>
      <exclude org="commons-io" module="commons-io"/>
      <exclude org="commons-lang" module="commons-lang"/>
      <exclude org="commons-logging" module="commons-logging"/>
      <exclude org="jline" module="jline"/>
      <exclude org="log4j" module="log4j"/>
      <exclude org="org.apache.hadoop" module="hadoop-client"/>
      <exclude org="org.apache.zookeeper" module="zookeeper"/>
      <exclude org="org.slf4j" module="slf4j-api"/>
      <exclude org="org.slf4j" module="slf4j-log4j12"/>
    </dependency>

    <!-- for piggybank -->
    <dependency org="org.hsqldb" name="hsqldb" rev="${hsqldb.version}"
      conf="test->default" />
    <dependency org="org.apache.hive" name="hive-exec" rev="${hive.version}" conf="compile->master" changing="true">
      <artifact name="hive-exec" m:classifier="core" />
    </dependency>
    <dependency org="org.apache.hive" name="hive-serde" rev="${hive.version}" changing="true"
      conf="compile->master" />
    <dependency org="org.apache.hive" name="hive-common" rev="${hive.version}" changing="true"
      conf="compile->master" />
    <dependency org="org.apache.hive.shims" name="hive-shims-common" rev="${hive.version}" changing="true"
      conf="compile->master" />
    <dependency org="org.apache.hive" name="hive-contrib" rev="${hive.version}" changing="true"
                conf="test->master" />
    <dependency org="org.apache.hive.shims" name="hive-shims-0.23" rev="${hive.version}" changing="true"
      conf="hadoop2->master" />
    <dependency org="org.iq80.snappy" name="snappy" rev="${snappy.version}"
      conf="test->master" />
    <dependency org="com.esotericsoftware.kryo" name="kryo" rev="${kryo.version}"
      conf="compile->master" />
    <dependency org="org.apache.commons" name="commons-lang3" rev="${commons-lang3.version}"
      conf="compile->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="test->default"/>

    <dependency org="org.apache.parquet" name="parquet-pig-bundle" rev="${parquet-pig-bundle.version}" conf="compile->master"/>

    <!-- for Spark 1.x integration -->
    <dependency org="org.apache.spark" name="spark-core_2.11" rev="${spark1.version}" conf="spark1->default">
        <exclude org="org.eclipse.jetty.orbit" module="javax.servlet"/>
        <exclude org="org.eclipse.jetty.orbit" module="javax.transaction"/>
        <exclude org="org.eclipse.jetty.orbit" module="javax.mail.glassfish"/>
        <exclude org="org.eclipse.jetty.orbit" module="javax.activation"/>
        <exclude org="org.apache.hadoop" />
        <exclude org="com.esotericsoftware.kryo" />
        <exclude org="jline" module="jline"/>
        <exclude org="com.google.guava" />
    </dependency>
    <dependency org="org.apache.spark" name="spark-yarn_2.11" rev="${spark1.version}" conf="spark1->default">
        <exclude org="org.apache.hadoop" />
    </dependency>

    <!-- for Spark 2.x integration -->
    <dependency org="org.apache.spark" name="spark-core_2.11" rev="${spark2.version}" conf="spark2->default">
      <exclude org="org.eclipse.jetty.orbit" module="javax.servlet"/>
      <exclude org="org.eclipse.jetty.orbit" module="javax.transaction"/>
      <exclude org="org.eclipse.jetty.orbit" module="javax.mail.glassfish"/>
      <exclude org="org.eclipse.jetty.orbit" module="javax.activation"/>
      <exclude org="org.apache.hadoop" />
      <exclude org="com.esotericsoftware.kryo" />
      <exclude org="jline" module="jline"/>
      <exclude org="com.google.guava" />
    </dependency>
    <dependency org="org.apache.spark" name="spark-yarn_2.11" rev="${spark2.version}" conf="spark2->default">
      <exclude org="org.apache.hadoop" />
    </dependency>

    <dependency org="asm" name="asm" rev="${asm.version}" conf="compile->master"/>
    <dependency org="javax.servlet" name="javax.servlet-api" rev="3.0.1" conf="spark1->default;spark2->default"/>
    <dependency org="org.scala-lang.modules" name="scala-xml_2.11" rev="${scala-xml.version}" conf="spark1->default;spark2->default"/>

    <!-- for Tez integration -->
    <dependency org="org.apache.tez" name="tez" rev="${tez.version}"
       conf="hadoop2->master"/>
    <dependency org="org.apache.tez" name="tez-common" rev="${tez.version}"
       conf="hadoop2->master"/>
    <dependency org="org.apache.tez" name="tez-api" rev="${tez.version}"
       conf="hadoop2->master"/>
    <dependency org="org.apache.tez" name="tez-dag" rev="${tez.version}"
       conf="hadoop2->master"/>
    <dependency org="org.apache.tez" name="tez-runtime-internals" rev="${tez.version}"
       conf="hadoop2->master"/>
    <dependency org="org.apache.tez" name="tez-runtime-library" rev="${tez.version}"
       conf="hadoop2->master"/>
    <dependency org="org.apache.tez" name="tez-mapreduce" rev="${tez.version}"
       conf="hadoop2->master"/>
    <dependency org="org.apache.tez" name="tez-yarn-timeline-history-with-acls" rev="${tez.version}"
       conf="hadoop2->master"/>
    <dependency org="org.apache.commons" name="commons-collections4" rev="${commons-collections4.version}"
      conf="hadoop2->master"/>
    <dependency org="org.codehaus.jettison" name="jettison" rev="${jettison.version}"
      conf="hadoop2->master"/>
    <dependency org="org.apache.commons" name="commons-math3" rev="${commons-math3.version}"
      conf="hadoop2->master"/>
    <dependency org="org.apache.curator" name="curator-framework" rev="${curator.version}"
      conf="hadoop2->master"/>
    <dependency org="org.apache.curator" name="curator-client" rev="${curator.version}"
      conf="hadoop2->master"/>
  </dependencies>
</ivy-module>

