<?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-hdds</artifactId>
    <version>0.4.1-alpha</version>
  </parent>
  <artifactId>hadoop-hdds-docs</artifactId>
  <version>0.4.1-alpha</version>
  <description>Apache Hadoop HDDS/Ozone Documentation</description>
  <name>Apache Hadoop HDDS/Ozone Documentation</name>
  <packaging>jar</packaging>

  <dependencies>

  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.6.0</version>
        <executions>
          <execution>
            <goals>
              <goal>exec</goal>
            </goals>
            <phase>compile</phase>
          </execution>
        </executions>
        <configuration>
          <executable>dev-support/bin/generate-site.sh</executable>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>themes/ozonedoc/static/js/bootstrap.min.js</exclude>
            <exclude>themes/ozonedoc/static/js/jquery.min.js</exclude>
            <exclude>themes/ozonedoc/static/css/bootstrap-theme.min.css
            </exclude>
            <exclude>themes/ozonedoc/static/css/bootstrap.min.css.map</exclude>
            <exclude>themes/ozonedoc/static/css/bootstrap.min.css</exclude>
            <exclude>themes/ozonedoc/static/css/bootstrap-theme.min.css.map
            </exclude>
            <exclude>
              themes/ozonedoc/static/fonts/glyphicons-halflings-regular.svg
            </exclude>
            <exclude>themes/ozonedoc/layouts/index.html</exclude>
            <exclude>themes/ozonedoc/theme.toml</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
