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

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>8</version>
  </parent>

  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.hama</groupId>
  <artifactId>hama-parent</artifactId>
  <name>Apache Hama parent POM</name>
  <version>0.7.1-SNAPSHOT</version>
  <url>http://hama.apache.org</url>
  <packaging>pom</packaging>
  <prerequisites>
    <maven>3.0</maven>
  </prerequisites>
  <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>user-subscribe@hama.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@hama.apache.org</unsubscribe>
      <archive>
        http://mail-archives.apache.org/mod_mbox/hama-user-hama-user/
      </archive>
    </mailingList>
    <mailingList>
      <name>Hama Developer List</name>
      <subscribe>dev-subscribe@hama.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@hama.apache.org</unsubscribe>
      <archive>
        http://mail-archives.apache.org/mod_mbox/hama-dev/
      </archive>
    </mailingList>
    <mailingList>
      <name>Hama Commits List</name>
      <subscribe>commits-subscribe@hama.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@hama.apache.org</unsubscribe>
      <archive>
        http://mail-archives.apache.org/mod_mbox/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>
    <url>https://git-wip-us.apache.org/repos/asf/hama.git</url>
    <connection>scm:git:https://git-wip-us.apache.org/repos/asf/hama.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/hama.git</developerConnection>
    <tag>HEAD</tag>
  </scm>

  <properties>
    <!-- Dependencies -->
    <commons-logging.version>1.1.1</commons-logging.version>
    <commons-cli.version>1.2</commons-cli.version>
    <commons-configuration.version>1.7</commons-configuration.version>
    <commons-lang.version>2.6</commons-lang.version>
    <commons-httpclient.version>3.0.1</commons-httpclient.version>
    <commons-io.version>2.4</commons-io.version>
    <commons-collections.version>3.2.1</commons-collections.version>
    <commons-compress.version>1.9</commons-compress.version>
    <hadoop.version>1.2.0</hadoop.version>
    <protobuf.version>2.5.0</protobuf.version>
    <jetty.version>6.1.14</jetty.version>
    <junit.version>4.8.1</junit.version>
    <slf4j.version>1.5.8</slf4j.version>
    <servlet-api.version>6.0.32</servlet-api.version>
    <log4j.version>1.2.16</log4j.version>
    <zookeeper.version>3.4.5</zookeeper.version>
    <ant.version>1.7.1</ant.version>
  </properties>

  <repositories>
    <repository>
      <id>maven-repo</id> <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution -->
      <name>Maven Repository</name>
      <url>http://repo1.maven.apache.org/maven2</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>cloudera-repo</id>
      <name>Cloudera Repository</name>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
    </repository>
  </repositories>

  <profiles>
    <profile>
      <id>hadoop1</id>
      
      <modules>
        <module>c++</module>
        <module>commons</module>
        <module>core</module>
        <module>graph</module>
        <module>examples</module>
        <module>ml</module>
        <module>mesos</module>
        <module>dist</module>
      </modules>
      
      <dependencies>
        <!-- build for Hadoop 1.x -->
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-core</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-test</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>hadoop2</id>
      <properties>
        <hadoop.version>2.7.0</hadoop.version>
      </properties>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>

      <modules>
        <module>c++</module>
        <module>commons</module>
        <module>core</module>
        <module>graph</module>
        <module>examples</module>
        <module>ml</module>
        <module>mesos</module>
        <module>yarn</module>
        <module>dist</module>
      </modules>
  
      <dependencies>
        <!-- build for Hadoop 2.x -->
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-hdfs</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-hdfs</artifactId>
          <classifier>tests</classifier>
          <version>${hadoop.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapreduce-client-core</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-auth</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
        <dependency>
          <groupId>com.google.protobuf</groupId>
          <artifactId>protobuf-java</artifactId>
          <version>${protobuf.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-yarn-client</artifactId>
          <version>${hadoop.version}</version>
        </dependency>
    </dependencies>
    </profile>
  </profiles>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.xerial.snappy</groupId>
        <artifactId>snappy-java</artifactId>
        <version>1.0.5</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>13.0.1</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons-logging.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>${commons-cli.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${commons-compress.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>${commons-configuration.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons-lang.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>${commons-httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${commons-collections.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>servlet-api</artifactId>
        <version>${servlet-api.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-annotations</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-api-2.1</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-2.1</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>${ant.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant-launcher</artifactId>
        <version>${ant.version}</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.2</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
         <artifactId>wagon-ssh-external</artifactId>
         <version>1.0-beta-6</version>
      </extension>
    </extensions>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</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>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.3</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.6</version>
      </plugin>

      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2.2</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <mavenExecutorId>forked-path</mavenExecutorId>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>0.10</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludes>
            <exclude>**/*.md</exclude>
            <exclude>.idea/**</exclude>
            <exclude>.git/**</exclude>
            <exclude>.repository/**</exclude>
            <exclude>.gitignore</exclude>
            <exclude>**/.classpath/**</exclude>
            <exclude>**/.project</exclude>
            <exclude>**/*.iml</exclude>
            <exclude>**/.settings/**</exclude>
            <exclude>**/*.asc</exclude>
            <exclude>**/dependency-reduced-pom.xml</exclude>
            <exclude>**/logs/**</exclude>
            <exclude>**/docs/**</exclude>
            <exclude>CHANGES.txt</exclude>
            <exclude>conf/groomservers</exclude>
            <exclude>src/site/resources/files/hama-eclipse-formatter.xml</exclude>
            <exclude>**/src/test/resources/*.properties</exclude>
            <exclude>**dependency-reduced-pom.xml</exclude>
            <exclude>**/src/test/resources/*.txt</exclude>
            <exclude>**/target/**</exclude>
            <exclude>/docker/README.md</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-gpg-plugin</artifactId>
        <executions>
          <execution>
            <id>sign-artifacts</id>
            <phase>deploy</phase>
            <goals>
              <goal>sign</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>2.4.1</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>${project.basedir}</directory>
              <includes>
                <include>lib/**</include>
                <include>logs/**</include>
                <include>**/docs</include>
                <include>docs/apidocs/**</include>
                <include>c++/src/CMakeCache.txt</include>
                <include>c++/src/CMakeFiles/</include>
                <include>c++/src/Makefile</include>
                <include>c++/src/cmake_install.cmake</include>
                <include>c++/src/examples/</include>
              </includes>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9.1</version>
        <configuration>
          <aggregate>true</aggregate>
          <failOnError>false</failOnError>
          <outputDirectory>docs/apidocs</outputDirectory>
        </configuration>
        <executions>
          <execution>
            <goals>
             <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <distributionManagement>
    <site>
      <id>apache.website</id>
      <url>scpexe://people.apache.org/www/hama.apache.org</url>
    </site>
  </distributionManagement>
</project>
