<?xml version="1.0" encoding="UTF-8"?>

<!--
   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">
    <name>Ambari</name>
    <description>
      Ambari is a web-based tool for performing installation, management, and monitoring of Apache Hadoop clusters. The stack of components that are currently supported by
      Ambari includes HBase, HCatalog, HDFS, Hive, MapReduce, Oozie, Pig, Scoop, Templeton, and Zookeeper.
    </description>
    <url>http://incubator.apache.org/ambari</url>
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.apache.ambari</groupId>
    <version>1.4.1-SNAPSHOT</version>
    <artifactId>ambari</artifactId>
    <packaging>pom</packaging>

    <properties>
        <buildtype>test</buildtype>
        <BUILD_NUMBER>${env.BUILD_NUMBER}</BUILD_NUMBER>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
        <package.prefix>/usr</package.prefix>
        <package.conf.dir>/etc/ambari</package.conf.dir>
        <package.log.dir>/var/log/ambari</package.log.dir>
        <package.pid.dir>/var/run/ambari</package.pid.dir>
        <package.release>1</package.release>
        <package.type>tar.gz</package.type>
        <ambari.version>1.0.0-SNAPSHOT</ambari.version>
        <final.name>${project.artifactId}-${ambari.version}</final.name>
    </properties>

    <licenses>
      <license>
        <name>Apache 2</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/incubator/ambari</connection>
      <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/ambari</developerConnection>
      <tag>HEAD</tag>
      <url>http://svn.apache.org/repos/asf/incubator/ambari</url>
    </scm>

    <issueManagement>
        <system>Jira</system>
        <url>http://issues.apache.org/jira/browse/AMBARI</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>User list</name>
            <subscribe>mailto:ambari-user-subscribe@incubator.apache.org
            </subscribe>
            <unsubscribe>mailto:ambari-user-unsubscribe@incubator.apache.org
            </unsubscribe>
            <post>mailto:ambari-user@incubator.apache.org</post>
            <archive></archive>
        </mailingList>
        <mailingList>
            <name>Development list</name>
            <subscribe>mailto:ambari-dev-subscribe@incubator.apache.org
            </subscribe>
            <unsubscribe>mailto:ambari-dev-unsubscribe@incubator.apache.org
            </unsubscribe>
            <post>mailto:ambari-dev@incubator.apache.org</post>
            <archive></archive>
        </mailingList>
        <mailingList>
            <name>Commit list</name>
            <subscribe>mailto:ambari-commits-subscribe@incubator.apache.org
            </subscribe>
            <unsubscribe>mailto:ambari-commits-unsubscribe@incubator.apache.org
            </unsubscribe>
            <post>mailto:ambari-commits@incubator.apache.org</post>
            <archive></archive>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <id>omalley</id>
            <name>Owen O'Malley</name>
            <email>omalley@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks                
            </organization>            
        </developer>
        <developer>
            <id>atkach</id>
            <name>Andrii Tkach</name>
            <email>atkach@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>akovalenko</id>
            <name>Aleksandr Kovalenko</name>
            <email>akovalenko@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>alexantonenko</id>
            <name>Alex Antonenko</name>
            <email>alexantonenko@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>berndf</id>
            <name>Bernd Fondermann</name>
            <email>berndf@apache.org</email>
            <timezone>+1</timezone>
            <roles>
                <role>PMC</role>
            </roles>
        </developer>
        <developer>
            <id>billie</id>
            <name>Billie Rinaldi</name>
            <email>billie@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>croberts</id>
            <name>Chad Roberts</name>
            <email>croberts@apache.org</email>
            <timezone></timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Red Hat
            </organization>
        </developer>
        <developer>            
            <id>ddas</id>
            <name>Devaraj Das</name>
            <email>ddas@hortonworks.com</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks                
            </organization>            
        </developer>
        <developer>
            <id>dmitriusan</id>
            <name>Dmitry Lysnichenko</name>
            <email>dmitriusan@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>dsen</id>
            <name>Dmitry Sen</name>
            <email>dsen@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>eyang</id>
            <name>Eric Yang</name>
            <email>eyang@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                IBM            
            </organization>            
        </developer> 
        <developer>
            <id>hitesh</id>
            <name>Hitesh Shah</name>
            <email>hitesh@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks                
            </organization>            
        </developer>          
        <developer>
            <id>jagane</id>
            <name>Jagane Sundar</name>
            <email>jagane@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                                
            </organization>            
        </developer>
        <developer>
            <id>jaimin</id>
            <name>Jaimin Jetly</name>
            <email>jaimin@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>jitendra</id>
            <name>Jitendra Pandey</name>
            <email>jitendra@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks                
            </organization>            
        </developer>
        <developer>
            <id>jspeidel</id>
            <name>John Speidel</name>
            <email>jspeidel@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>kzhang</id>
            <name>Kan Zhang</name>
            <email>kanzhangmail@yahoo.com</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                IBM                
            </organization>            
        </developer>        
        <developer>
            <id>mahadev</id>
            <name>Mahadev Konar</name>
            <email>mahadev@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks                
            </organization>            
        </developer>
        <developer>
            <id>mpapirkovskyy</id>
            <name>Myroslav Papyrkovskyy</name>
            <email>mpapirkovskyy@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>ncole</id>
            <name>Nate Cole</name>
            <email>ncole@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>odiachenko</id>
            <name>Oleksandr Diachenko</name>
            <email>odiachenko@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>onechiporenko</id>
            <name>Oleg Nechiporenko</name>
            <email>onechiporenko@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>ramya</id>
            <name>Ramya Sunil</name>
            <email>ramya@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks                
            </organization>            
        </developer>        
        <developer>
            <id>reznor</id>
            <name>Varun Kapoor</name>
            <email>reznor@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                - 
            </organization>            
        </developer>
        <developer>
            <id>smohanty</id>
            <name>Sumit Mohanty</name>
            <email>smohanty@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>swagle</id>
            <name>Siddharth Wagle</name>
            <email>swagle@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>srimanth</id>
            <name>Srimanth Gunturi</name>
            <email>srimanth@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>tbeerbower</id>
            <name>Thomas Beerbower</name>
            <email>tbeerbower@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>vikram</id>
            <name>Vikram Dixit</name>
            <email>vikram@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>        
        <developer>
            <id>vgogate</id>
            <name>Vitthal Suhas Gogate</name>
            <email>vgogate@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                -
            </organization>           
        </developer>
        <developer>
            <id>vinodkv</id>
            <name>Vinod Kumar Vavilapalli</name>
            <email>vinodkv@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks                
            </organization>
        </developer>       
        <developer>
            <id>xiwang</id>
            <name>Xi Wang</name>
            <email>xiwang@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer> 
        <developer>
            <id>yusaku</id>
            <name>Yusaku Sako</name>
            <email>yusaku@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
      </developers>
    <organization>
        <name>Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
    </organization>

    <build>
      <resources>
        <resource>
          <directory>src/main/resources</directory>
          <filtering>true</filtering>
        </resource>
      </resources>
      <pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.4.3</version>
            <configuration>
              <encoding>UTF-8</encoding>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.0</version>
            <configuration>
              <outputDirectory>./target</outputDirectory>
            </configuration>
          </plugin>
        </plugins>
      </pluginManagement>
    </build>

    <reporting>
      <excludeDefaults>true</excludeDefaults>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>2.4</version>
          <reportSets>
            <reportSet>
              <reports>
                <report>project-team</report>
                <report>mailing-list</report>
                <report>issue-tracking</report>
                <report>license</report>
<!-- for now
                <report>modules</report>
                <report>dependencies</report>
                <report>cim</report>
                <report>scm</report>
-->
               </reports>
             </reportSet>
          </reportSets>
        </plugin>
      </plugins>
    </reporting>
    
  <distributionManagement>
    <site>
      <id>apache-website</id>
      <name>Apache website</name>
      <url>scpexe://people.apache.org/www/incubator.apache.org/ambari</url>
    </site>
  </distributionManagement>

</project>
