<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed 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. See accompanying LICENSE file.
-->
<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
                      https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-project</artifactId>
    <version>3.4.0-SNAPSHOT</version>
    <relativePath>../hadoop-project</relativePath>
  </parent>
  <artifactId>hadoop-tools</artifactId>
  <version>3.4.0-SNAPSHOT</version>
  <description>Apache Hadoop Tools</description>
  <name>Apache Hadoop Tools</name>
  <packaging>pom</packaging>

  <modules>
    <module>hadoop-streaming</module>
    <module>hadoop-distcp</module>
    <module>hadoop-federation-balance</module>
    <module>hadoop-dynamometer</module>
    <module>hadoop-archives</module>
    <module>hadoop-archive-logs</module>
    <module>hadoop-rumen</module>
    <module>hadoop-gridmix</module>
    <module>hadoop-datajoin</module>
    <module>hadoop-tools-dist</module>
    <module>hadoop-extras</module>
    <module>hadoop-pipes</module>
    <module>hadoop-openstack</module>
    <module>hadoop-sls</module>
    <module>hadoop-resourceestimator</module>
    <module>hadoop-azure</module>
    <module>hadoop-aws</module>
    <module>hadoop-kafka</module>
    <module>hadoop-azure-datalake</module>
    <module>hadoop-aliyun</module>
    <module>hadoop-fs2img</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-deploy-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
