<?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.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"/>
    <dependency org="commons-net" name="commons-net"
      rev="${commons-net.version}" conf="common->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="org.kitesdk" name="kite-data-mapreduce" rev="${kite-data.version}"
      conf="common->default;redist->default">
      <exclude org="org.apache.avro" module="avro" />
      </dependency>
    <dependency org="org.kitesdk" name="kite-data-hive" rev="${kite-data.version}"
      conf="common->default;redist->default">
      <exclude org="com.twitter" module="parquet-hive-bundle"/>
      <exclude org="org.apache.avro" module="avro" />
    </dependency>

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

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