<?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="1.0">
  <info organisation="org.apache.nutch" module="nutch">
    <license name="Apache 2.0"
      url="http://www.apache.org/licenses/LICENSE-2.0.txt/" />
    <ivyauthor name="Apache Nutch Team" url="http://nutch.apache.org" />
    <description homepage="http://nutch.apache.org">Nutch is an open source web-search
      software. It builds on Hadoop, Tika and Solr, adding web-specifics, such as a crawler, 
      a link-graph database etc.
    </description>
  </info>

  <configurations>
    <include file="${basedir}/ivy/ivy-configurations.xml" />
  </configurations>

  <publications>
    <!--get the artifact from our module name -->
    <artifact conf="master" />
  </publications>

  <dependencies>
    <dependency org="org.apache.solr" name="solr-solrj" rev="4.6.0"
      conf="*->default" />
    <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.1"
      conf="*->master" />

    <dependency org="commons-lang" name="commons-lang" rev="2.4"
      conf="*->default" />
    <dependency org="commons-collections" name="commons-collections"
      rev="3.2.2" conf="*->default" />
    <dependency org="org.apache.httpcomponents" name="httpclient"
      rev="4.2.5" conf="*->master" />
    <dependency org="commons-codec" name="commons-codec" rev="1.11"
      conf="*->default" />

    <!-- Hadoop Dependencies -->
    <dependency org="org.apache.hadoop" name="hadoop-common" rev="2.5.2" conf="*->default">
      <exclude org="hsqldb" name="hsqldb" />
      <exclude org="net.sf.kosmosfs" name="kfs" />
      <exclude org="net.java.dev.jets3t" name="jets3t" />
      <exclude org="org.eclipse.jdt" name="core" />
      <exclude org="org.mortbay.jetty" name="jsp-*" />
      <exclude org="ant" name="ant" />
    </dependency>
    <dependency org="org.apache.hadoop" name="hadoop-hdfs" rev="2.5.2" conf="*->default"/>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-core" rev="2.5.2" conf="*->default"/>
    <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-jobclient" rev="2.5.2" conf="*->default"/>
    <!-- End of Hadoop Dependencies -->

    <dependency org="com.ibm.icu" name="icu4j" rev="61.1" />
    <dependency org="org.apache.tika" name="tika-core" rev="1.22" />
    <!-- Tika requires a recent version of commons-compress -->
    <dependency org="org.apache.commons" name="commons-compress" rev="1.18" conf="*->default" />
    <dependency org="com.googlecode.juniversalchardet" name="juniversalchardet" rev="1.0.3"/>
    <dependency org="xml-apis" name="xml-apis" rev="1.4.01"/><!-- force this version as it is required by Tika -->
    <dependency org="xerces" name="xercesImpl" rev="2.12.0" />

    <dependency org="log4j" name="log4j" rev="1.2.15" conf="*->master" />

    <dependency org="xerces" name="xercesImpl" rev="2.9.1" />
    <dependency org="xerces" name="xmlParserAPIs" rev="2.6.2" />
    <dependency org="xalan" name="serializer" rev="2.7.1" />

    <dependency org="org.jdom" name="jdom" rev="1.1" conf="*->default" />

    <dependency org="com.google.guava" name="guava" rev="11.0.2" />
    <dependency org="com.github.crawler-commons" name="crawler-commons" rev="0.10" />
    
    <dependency org="org.restlet.jse" name="org.restlet" rev="2.2.3" conf="*->default" />
    <dependency org="org.restlet.jse" name="org.restlet.ext.jackson" rev="2.2.3" conf="*->default" />
    <dependency org="org.restlet.jse" name="org.restlet.ext.jaxrs" rev="2.2.3" conf="*->default" />
    <dependency org="org.restlet.jee" name="org.restlet.ext.crypto" rev="2.2.3" conf="*->default" />

    <dependency org="de.thetaphi" name="forbiddenapis" rev="2.2" conf="*->default"/>

    <!--artifacts needed for testing -->
    <dependency org="junit" name="junit" rev="4.11" conf="*->default" />

    <dependency org="org.mortbay.jetty" name="jetty" rev="6.1.26" conf="test->default" />
    <dependency org="org.mortbay.jetty" name="jetty-util" rev="6.1.26" conf="test->default" />
    <dependency org="org.mortbay.jetty" name="jetty-client" rev="6.1.26" />

    <dependency org="org.hsqldb" name="hsqldb" rev="2.2.8" conf="*->default" />
    <dependency org="org.jdom" name="jdom" rev="1.1" conf="test->default"/>
    <dependency org="org.mockito" name="mockito-all" rev="1.9.5" conf="test->default"/>
    <dependency org="org.springframework" name="spring-test" rev="4.0.4.RELEASE" conf="test->default"/>
	

    <!--================-->
    <!-- Gora artifacts -->
    <!--================-->
    <!-- N.B. To use Gora SNAPSHOT's, replace the 'ref' value with the SNAPSHOT version 
    and add changing="true" alongside the dependency declaration.-->
    <dependency org="org.apache.gora" name="gora-core" rev="0.8" conf="*->default"/>
    <!-- Uncomment this to use Accumulo as Gora backend. -->
    <!--     
    <dependency org="org.apache.gora" name="gora-accumulo" rev="0.8" conf="*->default" /> 
    -->
    <!-- Uncomment this to use Aerospike as Gora backend. -->
    <!--
    <dependency org="org.apache.gora" name="gora-aerospike" rev="0.8" conf="*->default" />
    -->
    <!-- Uncomment this to use Cassandra as Gora backend. -->
    <!-- 
    <dependency org="org.apache.gora" name="gora-cassandra" rev="0.8" conf="*->default" />
    -->
    <!-- Uncomment this to use Couchdb as Gora backend. -->
    <!-- 
    <dependency org="org.apache.gora" name="gora-couchdb" rev="0.8" conf="*->default" />
    -->
    <!-- Uncomment this to use Amazon Dynamodb as Gora backend. -->
    <!-- 
    <dependency org="org.apache.gora" name="gora-dynamodb" rev="0.8" conf="*->default" />
    -->
    <!-- Uncomment this to use HBase as Gora backend. -->
    <!--     
    <dependency org="org.apache.gora" name="gora-hbase" rev="0.8" conf="*->default" /> 
    -->
    <!-- Uncomment this to use Infinispan as Gora backend. -->
    <!--     
    <dependency org="org.apache.gora" name="gora-infinispan" rev="0.8" conf="*->default" /> 
    -->
    <!-- Uncomment this to use jcache as Gora backend. -->
    <!--
    <dependency org="org.apache.gora" name="gora-jcache" rev="0.8" conf="*->default" />
    -->
    <!-- Uncomment this to use MongoDB as Gora backend. -->
    <!--
    <dependency org="org.apache.gora" name="gora-mongodb" rev="0.8" conf="*->default" />
    -->
    <!-- Uncomment this to use OrientDB as Gora backend. -->
    <!--
    <dependency org="org.apache.gora" name="gora-orientdb" rev="0.8" conf="*->default" />
    -->  
    <!-- Uncomment this to use Solr as Gora backend. -->
    <!--
    <dependency org="org.apache.gora" name="gora-solr" rev="0.8" conf="*->default" />
    -->

    <!-- The gora-compiler is used within the 'ant generate-gora-src' target to compile
    the Gora .avsc files within ./src/gora 
    -->
    <dependency org="org.apache.gora" name="gora-compiler-cli" rev="0.8" conf="*->default"/>
    <dependency org="org.apache.gora" name="gora-compiler" rev="0.8" conf="*->default"/>

    <!-- web app dependencies -->

    <dependency org="org.apache.commons" name="commons-collections4" rev="4.2" conf="*->default" />
    <dependency org="org.springframework" name="spring-core" rev="4.0.4.RELEASE" conf="*->default" />
    <dependency org="org.springframework" name="spring-context" rev="4.0.4.RELEASE" conf="*->default" />
    <dependency org="org.springframework" name="spring-web" rev="4.0.4.RELEASE" conf="*->default" />

    <dependency org="com.sun.jersey" name="jersey-client" rev="1.8" conf="*->default" />
	
    <dependency org="com.j256.ormlite" name="ormlite-jdbc" rev="4.48" conf="*->default" />
    <dependency org="com.h2database" name="h2" rev="1.4.180" conf="*->default" />
    <dependency org="org.eclipse.persistence" name="javax.persistence" rev="2.0.0" conf="*->default" />
	
    <dependency org="org.apache.wicket" name="wicket-core" rev="6.16.0" conf="*->default" />
    <dependency org="org.apache.wicket" name="wicket-spring" rev="6.16.0" conf="*->default" />
    <dependency org="org.apache.wicket" name="wicket-auth-roles" rev="6.16.0" conf="*->default" />
    <dependency org="de.agilecoders.wicket" name="wicket-bootstrap-core" rev="0.9.2" conf="*->default" />
    <dependency org="de.agilecoders.wicket" name="wicket-bootstrap-extensions" rev="0.9.2" conf="*->default" />

    <!--global exclusion -->
    <exclude module="ant" />
    <exclude module="slf4j-jdk14" />
    <exclude module="slf4j-simple" />
    <exclude org="hsqldb"/>
    <exclude org="maven-plugins"/>
    <exclude module="jmxtools" />
    <exclude module="jms" />
    <exclude module="jmxri" />
    <exclude module="thrift" />
  </dependencies>

</ivy-module>
