<?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.4</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:user-subscribe@ambari.apache.org
            </subscribe>
            <unsubscribe>mailto:user-unsubscribe@ambari.apache.org
            </unsubscribe>
            <post>mailto:user@ambari.apache.org</post>
            <archive></archive>
        </mailingList>
        <mailingList>
            <name>Development list</name>
            <subscribe>mailto:dev-subscribe@ambari.apache.org
            </subscribe>
            <unsubscribe>mailto:dev-unsubscribe@ambari.apache.org
            </unsubscribe>
            <post>mailto:dev@ambari.apache.org</post>
            <archive></archive>
        </mailingList>
        <mailingList>
            <name>Commit list</name>
            <subscribe>mailto:commits-subscribe@ambari.apache.org
            </subscribe>
            <unsubscribe>mailto:commits-unsubscribe@ambari.apache.org
            </unsubscribe>
            <post>mailto:commits@ambari.apache.org</post>
            <archive></archive>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <id>ababiichuk</id>
            <name>Andrii Babiichuk</name>
            <email>ababiichuk@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>abaranchuk</id>
            <name>Artem Baranchuk</name>
            <email>abaranchuk@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>aonishuk</id>
            <name>Andrew Onischuk</name>
            <email>aonishuk@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>        
        <developer>
            <id>atkach</id>
            <name>Andrii Tkach</name>
            <email>atkach@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>akovalenko</id>
            <name>Aleksandr Kovalenko</name>
            <email>akovalenko@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>alexantonenko</id>
            <name>Alex Antonenko</name>
            <email>alexantonenko@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>PMC</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>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>croberts</id>
            <name>Chad Roberts</name>
            <email>croberts@apache.org</email>
            <timezone></timezone>
            <roles>
                <role>PMC</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>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>dsen</id>
            <name>Dmitry Sen</name>
            <email>dsen@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>PMC</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>
                WANdisco                
            </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>PMC</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>PMC</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>PMC</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <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>onechiporenko</id>
            <name>Oleg Nechiporenko</name>
            <email>onechiporenko@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>PMC</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>PMC</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>subin</id>
            <name>Subin Modeel</name>
            <email>subin@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                HP
            </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>vbrodetskyi</id>
            <name>Vitaly Brodetskyi</name>
            <email>vbrodetskyi@apache.org</email>
            <timezone>+2</timezone>
            <roles>
                <role>Committer</role>
            </roles>
            <organization>
                Hortonworks
            </organization>
        </developer>
        <developer>
            <id>vikram</id>
            <name>Vikram Dixit</name>
            <email>vikram@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</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>
                Pivotal
            </organization>           
        </developer>
        <developer>
            <id>vinodkv</id>
            <name>Vinod Kumar Vavilapalli</name>
            <email>vinodkv@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</role>
            </roles>
            <organization>
                Hortonworks                
            </organization>
        </developer>       
        <developer>
            <id>xiwang</id>
            <name>Xi Wang</name>
            <email>xiwang@apache.org</email>
            <timezone>-8</timezone>
            <roles>
                <role>PMC</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>
