<?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>Tez</name>
    <description>Tez is an application framework which allows for a complex directed-acyclic-graph of tasks for processing data and is built atop Apache Hadoop YARN.</description>
    <url>https://tez.apache.org/</url>
    <modelVersion>4.0.0</modelVersion>

    <parent>
      <groupId>org.apache.tez</groupId>
      <artifactId>tez</artifactId>
      <version>0.10.4-SNAPSHOT</version>
    </parent>
    <artifactId>tez-docs</artifactId>
    <packaging>pom</packaging>

    <licenses>
      <license>
        <name>Apache 2</name>
        <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
      </license>
    </licenses>

    <issueManagement>
        <system>Jira</system>
        <url>https://issues.apache.org/jira/browse/TEZ</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>User list</name>
            <subscribe>mailto:user-subscribe@tez.apache.org
            </subscribe>
            <unsubscribe>mailto:user-unsubscribe@tez.apache.org
            </unsubscribe>
            <post>mailto:user@tez.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/tez-user/</archive>
        </mailingList>
        <mailingList>
            <name>Development list</name>
            <subscribe>mailto:dev-subscribe@tez.apache.org
            </subscribe>
            <unsubscribe>mailto:dev-unsubscribe@tez.apache.org
            </unsubscribe>
            <post>mailto:dev@tez.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/tez-dev/</archive>
        </mailingList>
        <mailingList>
            <name>Commit list</name>
            <subscribe>mailto:commits-subscribe@tez.apache.org
            </subscribe>
            <unsubscribe>mailto:commits-unsubscribe@tez.apache.org
            </unsubscribe>
            <post>mailto:commits@tez.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/tez-commits/</archive>
        </mailingList>
        <mailingList>
            <name>JIRA Issues list</name>
            <subscribe>mailto:issues-subscribe@tez.apache.org
            </subscribe>
            <unsubscribe>mailto:issues-unsubscribe@tez.apache.org
            </unsubscribe>
            <post>mailto:issues@tez.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/tez-issues/</archive>
        </mailingList>
    </mailingLists>

    <developers>
      <developer>
        <id>acmurthy</id>
        <name>Arun C. Murthy</name>
        <email>acmurthy@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>bikas</id>
        <name>Bikas Saha</name>
        <email>bikas@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>billgraham</id>
        <name>Bill Graham</name>
        <email>billgraham@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>bobby</id>
        <name>Robert Evans</name>
        <email>bobby@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>cdouglas</id>
        <name>Chris Douglas</name>
        <email>cdouglas@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>daryn</id>
        <name>Daryn Sharp</name>
        <email>daryn@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>ddas</id>
        <name>Devaraj Das</name>
        <email>ddas@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>gopalv</id>
        <name>Gopal Vijayaraghavan</name>
        <email>gopalv@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>gunther</id>
        <name>Gunther Hagleitner</name>
        <email>gunther@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>hashutosh</id>
        <name>Ashutosh Chauhan</name>
        <email>hashutosh@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>harishjp</id>
        <name>Harish JP</name>
        <email>harishjp@apache.org</email>
        <timezone>+5.5</timezone>
        <roles>
          <role>Committer</role>
        </roles>
      </developer>
      <developer>
        <id>hitesh</id>
        <name>Hitesh Shah</name>
        <email>hitesh@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>jeagles</id>
        <name>Jonathan Eagles</name>
        <email>jeagles@apache.org</email>
        <timezone>-6</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>jghoman</id>
        <name>Jakob Homan</name>
        <email>jghoman@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>jitendra</id>
        <name>Jitendra Pandey</name>
        <email>jitendra@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>jlowe</id>
        <name>Jason Lowe</name>
        <email>jlowe@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>julien</id>
        <name>Julien Le Dem</name>
        <email>julien@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>abstractdog</id>
        <name>Laszlo Bodor</name>
        <email>abstractdog@apache.org</email>
        <timezone>+1</timezone>
        <roles>
          <role>Committer</role>
        </roles>
      </developer>
      <developer>
        <id>kamrul</id>
        <name>Mohammad Kamrul Islam</name>
        <email>kamrul@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>kevinwilfong</id>
        <name>Kevin Wilfong</name>
        <email>kevinwilfong@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>kshukla</id>
        <name>Kuhu Shukla</name>
        <email>kshukla@apache.org</email>
        <timezone>-6</timezone>
        <roles>
          <role>Committer</role>
        </roles>
      </developer>
      <developer>
        <id>mattmann</id>
        <name>Chris Mattmann</name>
        <email>mattmann@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>mliddell</id>
        <name>Mike Liddell</name>
        <email>mliddell@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>mingma</id>
        <name>Ming Ma</name>
        <email>mingma@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>Committer</role>
        </roles>
      </developer>
      <developer>
        <id>namit</id>
        <name>Namit Jain</name>
        <email>namit@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>nroberts</id>
        <name>Nathan Roberts</name>
        <email>nroberts@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>omalley</id>
        <name>Owen O’Malley</name>
        <email>omalley@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>prakash</id>
        <name>Prakash Ramachandran</name>
        <email>prakash@apache.org</email>
        <timezone>+5.5</timezone>
        <roles>
          <role>Committer</role>
        </roles>
      </developer>     
      <developer>
        <id>rbalamohan</id>
        <name>Rajesh Balamohan</name>
        <email>rbalamohan@apache.org</email>
        <timezone>+5.5</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>rohini</id>
        <name>Rohini Palaniswamy</name>
        <email>rohini@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>sseth</id>
        <name>Siddharth Seth</name>
        <email>sseth@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>tassapola</id>
        <name>Tassapol Athiapinya</name>
        <email>tassapola@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>tgraves</id>
        <name>Thomas Graves</name>
        <email>tgraves@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>tomwhite</id>
        <name>Tom White</name>
        <email>tomwhite@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>vikram</id>
        <name>Vikram Dixit</name>
        <email>vikram@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>vinodkv</id>
        <name>Vinod Kumar Vavilapalli</name>
        <email>vinodkv@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>zhiyuany</id>
        <name>Zhiyuan Yang</name>
        <email>zhiyuany@apache.org</email>
        <timezone>-8</timezone>
        <roles>
          <role>Committer</role>
        </roles>
      </developer>
      <developer>
        <id>zjffdu</id>
        <name>Jeff Zhang</name>
        <email>zjffdu@apache.org</email>
        <timezone>+8</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
      <developer>
        <id>sree</id>
        <name>Sreenath Somarajapuram</name>
        <email>sree@apache.org</email>
        <timezone>+5.5</timezone>
        <roles>
          <role>PMC</role>
        </roles>
      </developer>
    </developers>

    <organization>
        <name>Apache Software Foundation</name>
        <url>https://www.apache.org/</url>
    </organization>

    <build>
      <resources>
        <resource>
          <directory>src/main/resources</directory>
          <filtering>true</filtering>
        </resource>
      </resources>
      <plugins>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <configuration>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <configuration>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>${maven-site-plugin.version}</version>
          <configuration>
            <outputDirectory>./target</outputDirectory>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <configuration>
            <skip>true</skip>
          </configuration>
        </plugin>
      </plugins>
    </build>

    <reporting>
      <excludeDefaults>true</excludeDefaults>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${maven-project-info-reports-plugin.version}</version>
          <configuration>
            <customBundle>${project.basedir}/src/site/custom/project-info-report.properties</customBundle>
            <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
          </configuration>
          <reportSets>
            <reportSet>
              <reports>
                <report>team</report>
                <report>mailing-lists</report>
                <report>issue-management</report>
                <report>licenses</report>
              </reports>
            </reportSet>
          </reportSets>
        </plugin>
      </plugins>
    </reporting>

</project>
