<?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.sqoop" module="${name}">
    <license name="Apache 2.0"/>
    <ivyauthor name="Sqoop Team" url="http://github.com/cloudera/sqoop" />
    <description>
        Sqoop
    </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" 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="common,runtime"/>

    <!-- We don't redistribute everything we depend on (e.g., Hadoop itself);
         anything which Hadoop itself also depends on, we do not ship.
         Things we actually need to ship are marked with a 'redist'
         configuration. -->
    <conf name="redist" visibility="private" extends="master" />

    <!-- This configuration is used to identify dependencies on our own
         shim targets required by clients of Sqoop who use maven. -->
    <conf name="mvndeploy" visibility="private" extends="master" />

    <!-- configuration for running checkstyle -->
    <conf name="checkstyle" visibility="private" />

    <!-- configuration for running rat -->
    <conf name="releaseaudit" visibility="private" />
  </configurations>

  <publications>
    <!--get the artifact from our module name-->
    <artifact conf="master"/>
  </publications>
  <dependencies>
    <!-- Dependencies for Hadoop -->
    <dependency org="org.apache.hadoop" name="hadoop-common"
      rev="${hadoop.version}" conf="common->default">
      <artifact name="hadoop-common" type="jar" />
      <artifact name="hadoop-common" type="jar" m:classifier="tests"/>
      <exclude org="asm" module="asm" />
    </dependency>
    <dependency org="org.apache.hadoop" name="hadoop-hdfs"
      rev="${hadoop.version}" conf="common->default">
      <artifact name="hadoop-hdfs" type="jar" />
      <artifact name="hadoop-hdfs" type="jar" m:classifier="tests"/>
      <exclude org="asm" module="asm" />
    </dependency>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-common"
      rev="${hadoop.version}" conf="common->default">
      <exclude org="asm" module="asm" />
    </dependency>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-core"
      rev="${hadoop.version}" conf="common->default">
      <exclude org="asm" module="asm" />
    </dependency>
    <dependency org="org.apache.hadoop" name="hadoop-aws"
                rev="${hadoop.version}" conf="common->default"/>
    <dependency org="org.aspectj" name="aspectjtools" rev="${aspectj.version}"
      conf="common->default"/>
    <dependency org="org.aspectj" name="aspectjrt" rev="${aspectj.version}"
      conf="common->default"/>

    <dependency org="org.apache.hadoop" name="hadoop-minikdc" rev="${hadoop.version}" conf="test->default" />

    <!-- Common dependencies for Sqoop -->
    <dependency org="commons-cli" name="commons-cli"
      rev="${commons-cli.version}" conf="common->default"/>
    <dependency org="commons-logging" name="commons-logging"
      rev="${commons-logging.version}" conf="common->default;redist->default"/>
    <dependency org="commons-net" name="commons-net"
      rev="${commons-net.version}" conf="common->default"/>
    <dependency org="commons-pool" name="commons-pool"
      rev="${commons-pool.version}" conf="common->default"/>
    <dependency org="commons-codec" name="commons-codec"
      rev="${commons-codec.version}" conf="common->default;redist->default"/>

    <dependency org="log4j" name="log4j" rev="${log4j.version}"
      conf="common->master" />
    <dependency org="junit" name="junit" rev="${junit.version}"
      conf="test->default"/>
    <dependency org="org.assertj" name="assertj-core" rev="${assertj.version}"
      conf="test->default"/>
    <dependency org="org.mockito" name="mockito-all"
      rev="${mockito-all.version}" conf="test->default"/>
    <dependency org="com.github.stefanbirkner" name="system-rules"
                rev="${system-rules.version}" conf="test->default"/>
    <!-- We're only using H2 for tests as it supports stored
         procedures; once we move to HSQLDB 2.x we can drop
         this -->
    <dependency org="com.h2database" name="h2" rev="${h2.version}"
      conf="test->default"/>
    <dependency org="hsqldb" name="hsqldb" rev="${hsqldb.version}"
      conf="common->default;redist->default"/>
    <dependency org="commons-io" name="commons-io" rev="${commons-io.version}"
      conf="common->default;redist->default"/>
    <dependency org="org.apache.commons" name="commons-lang3" rev="${commons-lang3.version}"
      conf="common->default;redist->default"/>
    <dependency org="org.apache.parquet" name="parquet-avro" rev="${parquet.version}" conf="common->default;redist->default"/>

    <dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="${jackson-databind.version}"
          conf="common->default;redist->default" />

    <dependency org="org.slf4j" name="slf4j-api" rev="${slf4j.version}"
                conf="common->default;redist->default" />

    <!-- dependencies for static analysis -->
    <dependency org="checkstyle" name="checkstyle" rev="${checkstyle.version}"
      conf="checkstyle->default" />

    <dependency org="com.google.code.p.arat" name="rat-lib"
          rev="${rats-lib.version}" conf="releaseaudit->default" />
    <dependency org="commons-lang" name="commons-lang"
      rev="${commons-lang.version}" conf="releaseaudit->default"/>
    <dependency org="commons-collections" name="commons-collections"
      rev="${commons-collections.version}" conf="releaseaudit->default"/>

    <dependency org="org.apache.accumulo" name="accumulo-core" rev="${accumulo.version}"
                conf="common->default">
    </dependency>
    <dependency org="org.apache.accumulo" name="accumulo-minicluster" rev="${accumulo.version}"
                conf="common->default">
    </dependency>

    <dependency org="org.apache.hbase" name="hbase-client" rev="${hbase.version}" conf="common->default">
      <artifact name="hbase-client" type="jar"/>
      <artifact name="hbase-client" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="com.sun.jersey" module="jersey-core"/>
      <exclude org="com.sun.jersey" module="jersey-json"/>
      <exclude org="com.sun.jersey" module="jersey-server"/>
      <exclude org="org.apache.thrift" module="thrift"/>
      <exclude org="log4j" module="log4j"/>
    </dependency>
    <dependency org="org.apache.hbase" name="hbase-common" rev="${hbase.version}" conf="common->default">
      <artifact name="hbase-common" type="jar"/>
      <artifact name="hbase-common" type="jar" ext="jar" m:classifier="tests"/>
      <exclude org="com.sun.jersey" module="jersey-core"/>
      <exclude org="com.sun.jersey" module="jersey-json"/>
      <exclude org="com.sun.jersey" module="jersey-server"/>
      <exclude org="org.apache.thrift" module="thrift"/>
      <exclude org="log4j" module="log4j"/>
    </dependency>
    <dependency org="org.apache.hbase" name="hbase-server" rev="${hbase.version}" conf="common->default">
      <artifact name="hbase-server" type="jar"/>
      <artifact name="hbase-server" type="jar" ext="jar" m:classifier="tests"/>
      <exclude org="com.sun.jersey" module="jersey-core"/>
      <exclude org="com.sun.jersey" module="jersey-json"/>
      <exclude org="com.sun.jersey" module="jersey-server"/>
      <exclude org="org.apache.thrift" module="thrift"/>
      <exclude org="log4j" module="log4j"/>
    </dependency>
    <dependency org="org.apache.hbase" name="hbase-hadoop-compat" rev="${hbase.version}" conf="common->default">
      <artifact name="hbase-hadoop-compat" type="jar"/>
      <artifact name="hbase-hadoop-compat" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="com.sun.jersey" module="jersey-core"/>
      <exclude org="com.sun.jersey" module="jersey-json"/>
      <exclude org="com.sun.jersey" module="jersey-server"/>
      <exclude org="org.apache.thrift" module="thrift"/>
      <exclude org="log4j" module="log4j"/>
    </dependency>
    <dependency org="org.apache.hbase" name="hbase-hadoop-compat" rev="${hbase.version}" conf="common->default">
      <artifact name="hbase-hadoop-compat" type="jar"/>
      <artifact name="hbase-hadoop-compat" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="com.sun.jersey" module="jersey-core"/>
      <exclude org="com.sun.jersey" module="jersey-json"/>
      <exclude org="com.sun.jersey" module="jersey-server"/>
      <exclude org="org.apache.thrift" module="thrift"/>
      <exclude org="log4j" module="log4j"/>
    </dependency>
    <dependency org="org.apache.hbase" name="hbase-hadoop2-compat" rev="${hbase.version}" conf="common->default">
      <artifact name="hbase-hadoop2-compat" type="jar"/>
      <artifact name="hbase-hadoop2-compat" type="test-jar" ext="jar" m:classifier="tests"/>
      <exclude org="com.sun.jersey" module="jersey-core"/>
      <exclude org="com.sun.jersey" module="jersey-json"/>
      <exclude org="com.sun.jersey" module="jersey-server"/>
      <exclude org="org.apache.thrift" module="thrift"/>
      <exclude org="log4j" module="log4j"/>
      <exclude org="org.apache.avro" module="avro" />
    </dependency>

    <dependency org="org.apache.hive" name="hive-jdbc" rev="${hcatalog.version}" conf="common->default" >
      <exclude org="com.twitter" module="parquet-hadoop-bundle"/>
      <exclude org="asm" module="asm" />
    </dependency>

    <dependency org="org.apache.hive.hcatalog" name="hive-hcatalog-core"
      rev="${hcatalog.version}" conf="common->default">
      <artifact name="hive-hcatalog-core" type="jar"/>
      <exclude org="org.apache.avro" module="avro" />
      <exclude org="org.apache.hive" module="hive-exec" />
      <exclude org="com.twitter" module="parquet-hadoop-bundle"/>
    </dependency>

    <dependency org="org.apache.hive" name="hive-exec" rev="${hcatalog.version}" conf="common->default" m:classifier="core" >
      <exclude org="com.twitter" module="parquet-hadoop-bundle"/>
    </dependency>

    <!-- Kryo and calcite are dependencies of hive-exec:core -->
    <dependency org="com.esotericsoftware" name="kryo" rev="${kryo.version}" conf="common->default" />
    <dependency org="org.apache.calcite" name="calcite-core" rev="${calcite.version}" conf="common->default" />
    <dependency org="com.google.protobuf" name="protobuf-java" rev="${hive.protobuf.version}" force="true" conf="common->default" />
    <dependency org="org.eclipse.jetty" name="jetty-runner" rev="${jetty.version}" conf="common->default"/>
    <!-- HCatalog test cases need log4j-api 2 and log4j-core 2 dependencies -->
    <dependency org="org.apache.logging.log4j" name="log4j-api" rev="${log4j-2.version}" conf="common->default" />
    <dependency org="org.apache.logging.log4j" name="log4j-core" rev="${log4j-2.version}" conf="common->default" />
    <dependency org="com.sun.jersey" name="jersey-server" rev="${jersey.version}" conf="common->default" />
    <dependency org="com.sun.jersey" name="jersey-core" rev="${jersey.version}" conf="common->default" />
    <dependency org="com.sun.jersey" name="jersey-servlet" rev="${jersey.version}" conf="common->default" />

    <dependency org="org.postgresql" name="postgresql"
      rev="${postgresql.version}" conf="common->default" />

    <dependency org="org.apache.zookeeper" name="zookeeper"
      rev="${zookeeper.version}" conf="test->default">
      <artifact name="zookeeper" type="jar" />
    </dependency>

    <dependency org="org.apache.avro" name="avro" rev="${avro.version}"
      conf="runtime->default;redist->default">
      <exclude org="org.slf4j" module="slf4j-api"/>
      <exclude org="org.mortbay.jetty" module="jetty"/>
      <exclude org="org.jboss.netty" module="netty"/>
      <exclude org="org.apache.velocity" module="velocity"/>
    </dependency>
    <dependency org="org.apache.avro" name="avro-mapred" rev="${avro.version}"
      m:classifier="hadoop2" conf="common->default;redist->default">
      <exclude org="org.slf4j" module="slf4j-api"/>
      <exclude org="org.mortbay.jetty" module="jetty"/>
      <exclude org="org.jboss.netty" module="netty"/>
      <exclude org="org.apache.velocity" module="velocity"/>
    </dependency>

    <exclude org="org.apache.hadoop" module="avro"/>
    <exclude type="pom" />

  </dependencies>
</ivy-module>
