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

  <!--
    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.
  -->
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>8</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.incubator</groupId>
  <artifactId>hama</artifactId>
  <name>Apache Hama POM</name>
  <version>0.2.0-incubating-SNAPSHOT</version>
  <description>Apache Hama POM</description>
  <url>http://incubator.apache.org/hama</url>
  <packaging>jar</packaging>
  <issueManagement>
    <system>JIRA</system>
    <url>https://issues.apache.org/jira/browse/HAMA</url>
  </issueManagement>
  <ciManagement>
    <system>Hudson</system>
    <url>https://hudson.apache.org/hudson/job/Hama-Nightly/</url>
  </ciManagement>
  <mailingLists>
    <mailingList>
      <name>Hama User List</name>
      <subscribe>hama-user-subscribe@incubator.apache.org</subscribe>
      <unsubscribe>hama-user-unsubscribe@incubator.apache.org</unsubscribe>
      <archive>
        http://mail-archives.apache.org/mod_mbox/incubator-hama-user/
      </archive>
    </mailingList>
    <mailingList>
      <name>Hama Developer List</name>
      <subscribe>hama-dev-subscribe@incubator.apache.org</subscribe>
      <unsubscribe>hama-dev-unsubscribe@incubator.apache.org</unsubscribe>
      <archive>
        http://mail-archives.apache.org/mod_mbox/incubator-hama-dev/
      </archive>
    </mailingList>
    <mailingList>
      <name>Hama Commits List</name>
      <subscribe>hama-commits-subscribe@incubator.apache.org</subscribe>
      <unsubscribe>hama-commits-unsubscribe@incubator.apache.org</unsubscribe>
      <archive>
        http://mail-archives.apache.org/mod_mbox/incubator-hama-commits/
      </archive>
    </mailingList>
  </mailingLists>
  <inceptionYear>2008</inceptionYear>
  <licenses>
    <license>
      <name>Apache 2</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>
  <scm>
    <connection>
      scm:svn:http://svn.apache.org/repos/asf/incubator/hama
    </connection>
    <developerConnection>
      scm:svn:https://svn.apache.org/repos/asf/incubator/hama
    </developerConnection>
  </scm>
  <dependencies>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.4</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging-api</artifactId>
      <version>1.0.4</version>
    </dependency>
    <dependency>
      <groupId>grobo-testing-junit</groupId>
      <artifactId>grobo-testing-junit-core</artifactId>
      <version>1.2.1</version>
      <scope>system</scope>
      <systemPath>${project.basedir}/lib/GroboTestingJUnit-1.2.1-core.jar</systemPath>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-core</artifactId>
      <version>0.20.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-test</artifactId>
      <version>0.20.2</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.15</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>javax.mail</groupId>
          <artifactId>mail</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.jms</groupId>
          <artifactId>jms</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.jdmk</groupId>
          <artifactId>jmxtools</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.jmx</groupId>
          <artifactId>jmxri</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>zookeeper</artifactId>
      <version>3.3.1</version>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>src/java</sourceDirectory>
    <testSourceDirectory>src/test</testSourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <parallel>methods</parallel>
          <threadCount>10</threadCount>
          <forkMode>pertest</forkMode>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

