<?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="https://maven.apache.org/POM/4.0.0"
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="https://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.yetus</groupId>
    <artifactId>yetus-project</artifactId>
    <version>0.14.0-SNAPSHOT</version>
    <relativePath>..</relativePath>
  </parent>
  <artifactId>asf-site</artifactId>
  <description>Website and Documentation for Apache Yetus</description>
  <name>Apache Yetus - Website/Documentation</name>
  <packaging>pom</packaging>

  <properties>
    <rdm.bin>${basedir}/../releasedocmaker/src/main/python/releasedocmaker.py</rdm.bin>
  </properties>

  <build>

    <plugins>
      <plugin>
        <groupId>org.apache.yetus</groupId>
        <artifactId>yetus-maven-plugin</artifactId>
        <version>${project.version}</version>
        <executions>
          <!-- AUTOMATED_EDIT_BEGIN -->
          <execution>
            <id>0.11.1</id>
            <phase>pre-site</phase>
            <goals>
              <goal>symlink</goal>
            </goals>
            <configuration>
              <target>../../target/0.11.1</target>
              <newLink>${basedir}/source/documentation/0.11.1</newLink>
            </configuration>
          </execution>
          <execution>
            <id>0.11.1.html.md</id>
            <phase>pre-site</phase>
            <goals>
              <goal>symlink</goal>
            </goals>
            <configuration>
              <target>../../target/0.11.1.html.md</target>
              <newLink>${basedir}/source/documentation/0.11.1.html.md</newLink>
            </configuration>
          </execution>
          <execution>
            <id>0.12.0</id>
            <phase>pre-site</phase>
            <goals>
              <goal>symlink</goal>
            </goals>
            <configuration>
              <target>../../target/0.12.0</target>
              <newLink>${basedir}/source/documentation/0.12.0</newLink>
            </configuration>
          </execution>
          <execution>
            <id>0.12.0.html.md</id>
            <phase>pre-site</phase>
            <goals>
              <goal>symlink</goal>
            </goals>
            <configuration>
              <target>../../target/0.12.0.html.md</target>
              <newLink>${basedir}/source/documentation/0.12.0.html.md</newLink>
            </configuration>
          </execution>
          <execution>
            <id>0.13.0</id>
            <phase>pre-site</phase>
            <goals>
              <goal>symlink</goal>
            </goals>
            <configuration>
              <target>../../target/0.13.0</target>
              <newLink>${basedir}/source/documentation/0.13.0</newLink>
            </configuration>
          </execution>
          <execution>
            <id>0.13.0.html.md</id>
            <phase>pre-site</phase>
            <goals>
              <goal>symlink</goal>
            </goals>
            <configuration>
              <target>../../target/0.13.0.html.md</target>
              <newLink>${basedir}/source/documentation/0.13.0.html.md</newLink>
            </configuration>
          </execution>
          <!-- AUTOMATED_EDIT_END -->
          <execution>
            <!-- we create a symlink of current version->in-progress.  This will cause
                 middle man to generate two copies of the output. -->
            <id>in-progress</id>
            <phase>pre-site</phase>
            <goals>
              <goal>symlink</goal>
            </goals>
            <configuration>
              <target>in-progress</target>
              <newLink>${basedir}/source/documentation/${project.version}</newLink>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>releasedocs</id>
            <phase>pre-site</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>${rdm.bin}</executable>
              <requiresOnline>true</requiresOnline>
              <arguments>
                <argument>--lint=all</argument>
                <argument>--license</argument>
                <argument>--outputdir</argument>
                <argument>source/documentation/in-progress</argument>
                <argument>--project</argument>
                <argument>YETUS</argument>
                <argument>--projecttitle</argument>
                <argument>Apache Yetus</argument>
                <argument>--usetoday</argument>
                <argument>--version</argument>
                <argument>${project.version}</argument>
                <argument>--empty</argument>
              </arguments>
            </configuration>
          </execution>
            <execution>
            <id>all-releasedocs</id>
            <phase>pre-site</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>${rdm.bin}</executable>
              <requiresOnline>true</requiresOnline>
              <arguments>
                <argument>--dirversions</argument>
                <argument>--fileversions</argument>
                <argument>--lint=all</argument>
                <argument>--license</argument>
                <argument>--outputdir</argument>
                <argument>source/downloads/releasenotes</argument>
                <argument>--prettyindex</argument>
                <argument>--project</argument>
                <argument>YETUS</argument>
                <argument>--projecttitle</argument>
                <argument>Apache Yetus</argument>
                <argument>--range</argument>
                <argument>--version</argument>
                <argument>0.0.0</argument>
                <argument>--version</argument>
                <argument>${project.version}</argument>
                <argument>--extension</argument>
                <argument>.html.md</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>bundle-install</id>
            <phase>pre-site</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>bundle</executable>
              <requiresOnline>true</requiresOnline>
              <arguments>
                <argument>install</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>middleman</id>
            <phase>pre-site</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>bundle</executable>
              <requiresOnline>false</requiresOnline>
              <arguments>
                <argument>exec</argument>
                <argument>middleman</argument>
                <argument>build</argument>
              </arguments>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>website-docs</id>
            <phase>site:stage</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <finalName>apache-yetus-${project.version}-site</finalName>
              <appendAssemblyId>false</appendAssemblyId>
              <attach>false</attach>
              <descriptors>
                <descriptor>src/main/assemblies/${project.artifactId}.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>Gemfile.lock</exclude>
            <exclude>source/assets/config.json</exclude>
            <exclude>source/assets/css/bootstrap-theme.css</exclude>
            <exclude>source/assets/css/bootstrap-theme.css.map</exclude>
            <exclude>source/assets/css/bootstrap-theme.min.css</exclude>
            <exclude>source/assets/css/bootstrap.css</exclude>
            <exclude>source/assets/css/bootstrap.css.map</exclude>
            <exclude>source/assets/css/bootstrap.min.css</exclude>
            <exclude>source/assets/css/font-awesome.css</exclude>
            <exclude>source/assets/css/font-awesome.min.css</exclude>
            <exclude>source/assets/fonts/fontawesome-webfont.svg</exclude>
            <exclude>source/assets/fonts/glyphicons-halflings-regular.svg</exclude>
            <exclude>source/assets/js/bootstrap.js</exclude>
            <exclude>source/assets/js/bootstrap.min.js</exclude>
            <exclude>source/assets/js/jquery-2.1.4.min.js</exclude>
          </excludes>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <executions>
          <execution>
            <id>releng</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
            <configuration>
              <filesets>
                <fileset>
                  <directory>source/documentation/</directory>
                    <includes>
                      <include>0*</include>
                    </includes>
                  <followSymlinks>false</followSymlinks>
                </fileset>
                <fileset>
                  <directory>source/documentation/in-progress</directory>
                    <includes>
                      <include>CHANGELOG.md</include>
                      <include>RELEASENOTES.md</include>
                    </includes>
                  <followSymlinks>false</followSymlinks>
                </fileset>
              </filesets>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-deploy-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>


    </plugins>
  </build>

</project>
