<?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 2.6.0 -->
    <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"/>
    </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"/>
    </dependency>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-common"
      rev="${hadoop.version}" conf="common->default"/>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-core"
      rev="${hadoop.version}" conf="common->default"/>
    <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"/>
    <!-- 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="com.twitter" 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"/>

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

    <!-- HBase 0.95 -->
    <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" />

    <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" />
    </dependency>

    <dependency org="org.apache.hive" name="hive-exec" rev="${hcatalog.version}" conf="common->default" m:classifier="core" />
    <!-- Kryo and calcite are dependencies of hive-exec:core -->
    <dependency org="com.esotericsoftware.kryo" name="kryo" rev="${kryo.version}" conf="common->default" />
    <dependency org="org.apache.calcite" name="calcite-core" rev="${calcite.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>
