<?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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.apache</groupId>
		<artifactId>apache</artifactId>
		<version>9</version>
		<relativePath />
	</parent>	
	<groupId>org.apache.nutch</groupId>
	<artifactId>nutch</artifactId>
	<packaging>jar</packaging>
	<version>1.6-SNAPSHOT</version>
	<name>Apache Nutch</name>
	<url>http://nutch.apache.org</url>
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<scm>
		<connection>scm:svn:http://svn.apache.org/repos/asf/nutch/trunk/</connection>
		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/nutch/trunk/</developerConnection>
		<url>http://svn.apache.org/viewvc/nutch/trunk/</url>
	</scm>
	<developers>
		<developer>
			<id>ab</id>
			<name>Andrzej Bialecki</name>
			<email>ab@apache.org</email>
		</developer>
		<developer>
			<id>mattmann</id>
			<name>Chris A. Mattmann</name>
			<email>mattmann@apache.org</email>
		</developer>
		<developer>
			<id>kubes</id>
			<name>Dennis Kubes</name>
			<email>kubes@apache.org</email>
		</developer>
		<developer>
			<id>dogacan</id>
			<name>Dogacan G√ºney</name>
			<email>dogacan@apache.org</email>
		</developer>
		<developer>
			<id>jnioche</id>
			<name>Julien Nioche</name>
			<email>jnioche@apache.org</email>
		</developer>
		<developer>
			<id>siren</id>
			<name>Sami Siren</name>
			<email>siren@apache.org</email>
		</developer>
		<developer>
			<id>markus</id>
			<name>Markus Jelsma</name>
			<email>markus@apache.org</email>
		</developer>
		<developer>
			<id>alexis</id>
			<name>Alexis Detlegrode</name>
			<email>alexis@apache.org</email>
		</developer>
		<developer>
			<id>lewismc</id>
			<name>Lewis John McGibbney</name>
			<email>lewismc@apache.org</email>
		</developer>
		<developer>
			<id>ferdy</id>
			<name>Ferdy Galema</name>
			<email>ferdy@apache.org</email>
		</developer>
                <developer>
                        <id>tejasp</id>
                        <name>Tejas Patil</name>
                        <email>tejasp@apache.org</email>
                </developer>
                <developer>
                        <id>kiranch</id>
                        <name>Kiran Chitturi</name>
                        <email>kiranch@apache.org</email>
                </developer>
                <developer>
                        <id>fenglu</id>
                        <name>Feng</name>
                        <email>fenglu@apache.org</email>
                </developer>
	</developers>
	<build>
		<testSourceDirectory>${basedir}/src/test</testSourceDirectory>
		<sourceDirectory>${basedir}/src/java</sourceDirectory>
		<testResources>
			<testResource>
				<directory>src/testresources</directory>
			</testResource>
			<testResource>
			    <directory>conf/</directory>
			</testResource>
		</testResources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
				    <forkMode>never</forkMode>
					<argLine>-Xms128m -Xmx256m</argLine>
					<skipTests>true</skipTests>
					<testFailureIgnore>true</testFailureIgnore>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>lib</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.2</version>
				<executions>
					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<tagBase>https://svn.apache.org/repos/asf/nutch/tags/</tagBase>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>org.apache.solr</groupId>
			<artifactId>solr-solrj</artifactId>
			<version>3.1.0</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.5.5</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.4</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>3.1</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>3.1</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.3</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-common</artifactId>
			<version>0.22.0</version>
			<optional>true</optional>
		</dependency>
                <dependency>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-mapred</artifactId>
                        <version>0.22.0</version>
                        <optional>true</optional>
                </dependency>
                <dependency>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-hdfs</artifactId>
                        <version>0.22.0</version>
                        <optional>true</optional>
                </dependency>
		<dependency>
			<groupId>com.ibm.icu</groupId>
			<artifactId>icu4j</artifactId>
			<version>4.0.1</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tika</groupId>
			<artifactId>tika-core</artifactId>
			<version>0.10</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>jetty-client</artifactId>
			<version>6.1.22</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.15</version>
			<optional>true</optional>
			<exclusions>
				<exclusion>
					<groupId>javax.jms</groupId>
					<artifactId>jms</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.sun.jmx</groupId>
					<artifactId>jmxri</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.sun.jdmk</groupId>
					<artifactId>jmxtools</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>xerces</groupId>
			<artifactId>xercesImpl</artifactId>
			<version>2.9.1</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>xerces</groupId>
			<artifactId>xmlParserAPIs</artifactId>
			<version>2.6.2</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>oro</groupId>
			<artifactId>oro</artifactId>
			<version>2.0.8</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-common-test</artifactId>
			<version>0.22.0</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>jetty</artifactId>
			<version>6.1.22</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>jetty-util</artifactId>
			<version>6.1.22</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>com.google.code.crawler-commons</groupId>
			<artifactId>crawler-commons</artifactId>
			<version>0.2</version>
                        <scope>compile</scope>
		</dependency>
	</dependencies>
</project>

